Quantcast

Clean and sweep of bad globals

Munglunch [03-04-15 - 21:26]
Clean and sweep of bad globals
Filename
SVUI_!Core/filtering/defaults.lua
SVUI_!Core/libs/_SVUI_Lib/Animate.lua
SVUI_!Core/libs/_SVUI_Lib/Events.lua
SVUI_!Core/libs/_SVUI_Lib/Librarian.lua
SVUI_!Core/libs/_SVUI_Lib/Registry.lua
SVUI_!Core/libs/_SVUI_Lib/Sounds.lua
SVUI_!Core/libs/_SVUI_Lib/SpecialFX.lua
SVUI_!Core/libs/_SVUI_Lib/Timers.lua
SVUI_!Core/libs/_SVUI_Lib/localized_list.txt
SVUI_!Core/system/_docklets/breakstuff.lua
SVUI_!Core/system/_docklets/garrison.lua
SVUI_!Core/system/_docklets/misc.lua
SVUI_!Core/system/_docklets/raidleader.lua
SVUI_!Core/system/_reports/bags.lua
SVUI_!Core/system/_reports/dps.lua
SVUI_!Core/system/_reports/durability.lua
SVUI_!Core/system/_reports/experience.lua
SVUI_!Core/system/_reports/friends.lua
SVUI_!Core/system/_reports/gold.lua
SVUI_!Core/system/_reports/guild.lua
SVUI_!Core/system/_reports/hps.lua
SVUI_!Core/system/_reports/system.lua
SVUI_!Core/system/_reports/time.lua
SVUI_!Core/system/_reports/tokens.lua
SVUI_!Core/system/alerts.lua
SVUI_!Core/system/api.lua
SVUI_!Core/system/core.lua
SVUI_!Core/system/debug.lua
SVUI_!Core/system/dock.lua
SVUI_!Core/system/errors.lua
SVUI_!Core/system/funstuff.lua
SVUI_!Core/system/layout.lua
SVUI_!Core/system/letsride.lua
SVUI_!Core/system/misc.lua
SVUI_!Core/system/overrides.lua
SVUI_!Core/system/reports.lua
SVUI_!Core/system/utilities.lua
SVUI_!Options/SVUI_!Options.lua
SVUI_ActionBars/SVUI_ActionBars.lua
SVUI_ActionBars/components/keybind.lua
SVUI_ActionBars/components/zone.lua
SVUI_Auras/SVUI_Auras.lua
SVUI_Chat/SVUI_Chat.lua
SVUI_CraftOMatic/SVUI_CraftOMatic.lua
SVUI_CraftOMatic/components/archaeology.lua
SVUI_CraftOMatic/components/cooking.lua
SVUI_CraftOMatic/components/farming.lua
SVUI_CraftOMatic/components/fishing.lua
SVUI_FightOMatic/SVUI_FightOMatic.lua
SVUI_Inventory/SVUI_Inventory.lua
SVUI_Inventory/SVUI_Inventory.xml
SVUI_Inventory/components/organization.lua
SVUI_Inventory/components/sorting.lua
SVUI_QuestTracker/SVUI_QuestTracker.lua
SVUI_QuestTracker/components/achievements.lua
SVUI_QuestTracker/components/active.lua
SVUI_QuestTracker/components/bonus.lua
SVUI_QuestTracker/components/button.lua
SVUI_QuestTracker/components/popups.lua
SVUI_QuestTracker/components/quests.lua
SVUI_QuestTracker/components/scenario.lua
SVUI_Skins/SVUI_Skins.lua
SVUI_Skins/components/docklet.lua
SVUI_Tooltip/SVUI_Tooltip.lua
SVUI_TrackOMatic/SVUI_TrackOMatic.lua
SVUI_TrackOMatic/components/triangulate.lua
SVUI_TrackOMatic/components/unitframe_gps.lua
SVUI_UnitFrames/SVUI_UnitFrames.lua
SVUI_UnitFrames/elements/auras.lua
SVUI_UnitFrames/elements/castbar.lua
SVUI_UnitFrames/elements/essentials.lua
SVUI_UnitFrames/elements/misc.lua
SVUI_UnitFrames/elements/tags.lua
diff --git a/SVUI_!Core/filtering/defaults.lua b/SVUI_!Core/filtering/defaults.lua
index 638e669..de43eac 100644
--- a/SVUI_!Core/filtering/defaults.lua
+++ b/SVUI_!Core/filtering/defaults.lua
@@ -7,6 +7,18 @@ LOCALIZED LUA FUNCTIONS
 GET ADDON DATA
 ##########################################################
 ]]--
+local _G = _G;
+local unpack            = _G.unpack;
+local select            = _G.select;
+local assert            = _G.assert;
+local type              = _G.type;
+local error             = _G.error;
+local print             = _G.print;
+local ipairs            = _G.ipairs;
+local pairs             = _G.pairs;
+local tostring          = _G.tostring;
+local tonumber          = _G.tonumber;
+local GetSpellInfo      = _G.GetSpellInfo;
 local SV = select(2, ...)

 local playerClass = select(2, UnitClass("player"));
diff --git a/SVUI_!Core/libs/_SVUI_Lib/Animate.lua b/SVUI_!Core/libs/_SVUI_Lib/Animate.lua
index fcf17c3..97fbcf8 100644
--- a/SVUI_!Core/libs/_SVUI_Lib/Animate.lua
+++ b/SVUI_!Core/libs/_SVUI_Lib/Animate.lua
@@ -20,6 +20,7 @@ local type          = _G.type;
 local error         = _G.error;
 local pcall         = _G.pcall;
 --BLIZZARD API
+local UIParent          = _G.UIParent;
 local UIFrameFadeOut    = _G.UIFrameFadeOut;
 local FlickerAlpha      = {0.2,0.15,0.1,0.15,0.2,0.15,0.1,0.15}
 --[[ LIB CONSTRUCT ]]--
diff --git a/SVUI_!Core/libs/_SVUI_Lib/Events.lua b/SVUI_!Core/libs/_SVUI_Lib/Events.lua
index 4b43201..ed33157 100644
--- a/SVUI_!Core/libs/_SVUI_Lib/Events.lua
+++ b/SVUI_!Core/libs/_SVUI_Lib/Events.lua
@@ -164,7 +164,7 @@ local Library_OnEvent = function(self, event, arg, ...)
             if(fn and type(fn) == "function") then
                 local _, catch = pcall(fn, ...)
                 if(catch) then
-                    CoreObject:HandleError("Librarian:Events:OnLock(" .. eventName .. "):", "callback", catch)
+                    CoreObject:HandleError("Librarian:Events:OnLock(" .. event .. "):", "callback", catch)
                 end
             end
         end
@@ -174,7 +174,7 @@ local Library_OnEvent = function(self, event, arg, ...)
             if(fn and type(fn) == "function") then
                 local _, catch = pcall(fn, ...)
                 if(catch) then
-                    CoreObject:HandleError("Librarian:Events:OnUnlock(" .. eventName .. "):", "callback", catch)
+                    CoreObject:HandleError("Librarian:Events:OnUnlock(" .. event .. "):", "callback", catch)
                 end
             end
         end
diff --git a/SVUI_!Core/libs/_SVUI_Lib/Librarian.lua b/SVUI_!Core/libs/_SVUI_Lib/Librarian.lua
index 5227a55..1a788d7 100644
--- a/SVUI_!Core/libs/_SVUI_Lib/Librarian.lua
+++ b/SVUI_!Core/libs/_SVUI_Lib/Librarian.lua
@@ -5,7 +5,12 @@ into the SVUI core addon.
 It's main purpose is to keep all methods and logic needed to properly keep
 core add-ins functioning outside of the core object and away from other libraries like LibStub.
 --]]
-local _G = getfenv(0)
+local _G            = getfenv(0)
+local assert        = _G.assert;
+local type          = _G.type;
+local error         = _G.error;
+local pairs         = _G.pairs;
+local tostring      = _G.tostring;

 local Librarian = _G["Librarian"]

@@ -29,6 +34,7 @@ if not Librarian then
     local dead = function() return end

     function Librarian:LockLibrary(lib)
+        local LibStub = _G.LibStub;
         if((self.warrants[lib]) or (not LibStub) or (not LibStub.libs)) then return end
         for libName,libObj in pairs(LibStub.libs) do
             if(libName:find(lib) and (not self.arrested[libName])) then
@@ -45,6 +51,7 @@ if not Librarian then
     end

     function Librarian:UnlockLibrary(lib)
+        local LibStub = _G.LibStub;
         if((not LibStub) or (not LibStub.libs)) then return end
         for libName,libObj in pairs(LibStub.libs) do
             if(libName:find(lib) and (self.arrested[libName])) then
diff --git a/SVUI_!Core/libs/_SVUI_Lib/Registry.lua b/SVUI_!Core/libs/_SVUI_Lib/Registry.lua
index a59ad9f..6f47866 100644
--- a/SVUI_!Core/libs/_SVUI_Lib/Registry.lua
+++ b/SVUI_!Core/libs/_SVUI_Lib/Registry.lua
@@ -67,9 +67,10 @@ local IsLoggedIn            = _G.IsLoggedIn;
 local LoadAddOn             = _G.LoadAddOn;
 local EnableAddOn           = _G.EnableAddOn;
 local DisableAddOn          = _G.DisableAddOn;
-local GetSpecialization     = _G.GetSpecialization;
 local GetAddOnMetadata      = _G.GetAddOnMetadata;
+local InCombatLockdown      = _G.InCombatLockdown;
 local IsAddOnLoadOnDemand   = _G.IsAddOnLoadOnDemand;
+local GetSpecialization     = _G.GetSpecialization;
 local GetSpecializationInfo = _G.GetSpecializationInfo;
 local C_PetBattles          = _G.C_PetBattles;

diff --git a/SVUI_!Core/libs/_SVUI_Lib/Sounds.lua b/SVUI_!Core/libs/_SVUI_Lib/Sounds.lua
index cac8b68..e2f83cf 100644
--- a/SVUI_!Core/libs/_SVUI_Lib/Sounds.lua
+++ b/SVUI_!Core/libs/_SVUI_Lib/Sounds.lua
@@ -48,6 +48,8 @@ local tinsert       = _G.tinsert;
 local tremove       = _G.tremove;
 local twipe         = _G.wipe;

+local PlaySoundFile         = _G.PlaySoundFile;
+
 --[[ LIB CONSTRUCT ]]--

 local lib = Librarian:NewLibrary("Sounds")
diff --git a/SVUI_!Core/libs/_SVUI_Lib/SpecialFX.lua b/SVUI_!Core/libs/_SVUI_Lib/SpecialFX.lua
index 86d452a..eec4306 100644
--- a/SVUI_!Core/libs/_SVUI_Lib/SpecialFX.lua
+++ b/SVUI_!Core/libs/_SVUI_Lib/SpecialFX.lua
@@ -51,6 +51,8 @@ local tinsert       = _G.tinsert;
 local tremove       = _G.tremove;
 local twipe         = _G.wipe;

+local CreateFrame           = _G.CreateFrame;
+
 --[[ LIB CONSTRUCT ]]--

 local lib = Librarian:NewLibrary("SpecialFX")
diff --git a/SVUI_!Core/libs/_SVUI_Lib/Timers.lua b/SVUI_!Core/libs/_SVUI_Lib/Timers.lua
index 5c6d093..39c72d5 100644
--- a/SVUI_!Core/libs/_SVUI_Lib/Timers.lua
+++ b/SVUI_!Core/libs/_SVUI_Lib/Timers.lua
@@ -15,6 +15,8 @@ local _G = getfenv(0);
 --LUA
 local unpack        = _G.unpack;
 local select        = _G.select;
+local type          = _G.type;
+local pairs         = _G.pairs;
 local assert        = _G.assert;
 local rawset        = _G.rawset;
 local rawget        = _G.rawget;
diff --git a/SVUI_!Core/libs/_SVUI_Lib/localized_list.txt b/SVUI_!Core/libs/_SVUI_Lib/localized_list.txt
new file mode 100644
index 0000000..759d20b
--- /dev/null
+++ b/SVUI_!Core/libs/_SVUI_Lib/localized_list.txt
@@ -0,0 +1,4061 @@
+COPY AND PAST HELPER FOR LOCALS
+
+local _G = getfenv(0)
+local _G = _G;
+
+--LUA
+
+local unpack            = _G.unpack;
+local select            = _G.select;
+local assert            = _G.assert;
+local type              = _G.type;
+local error             = _G.error;
+local pcall             = _G.pcall;
+local print             = _G.print;
+local ipairs            = _G.ipairs;
+local pairs             = _G.pairs;
+local next              = _G.next;
+local tostring          = _G.tostring;
+local tonumber          = _G.tonumber;
+local collectgarbage    = _G.collectgarbage;
+local rawset            = _G.rawset;
+local rawget            = _G.rawget;
+local getmetatable      = _G.getmetatable;
+local setmetatable      = _G.setmetatable;
+local loadstring        = _G.loadstring;
+
+--STRING
+
+local string        = _G.string;
+local split         = string.split;
+local upper         = string.upper;
+local format        = string.format;
+local find          = string.find;
+local match         = string.match;
+local gsub          = string.gsub;
+
+--MATH
+
+local math          = _G.math;
+local abs, ceil, floor, round = math.abs, math.ceil, math.floor, math.round;
+local fmod, modf, sqrt = math.fmod, math.modf, math.sqrt;
+local atan2, cos, deg, rad, sin = math.atan2, math.cos, math.deg, math.rad, math.sin;
+local min, max, random, huge, sqrt2 = math.min, math.max, math.random, math.huge, math.sqrt(2);
+
+--TABLE
+
+local table         = _G.table;
+local tsort         = table.sort;
+local tconcat       = table.concat;
+
+--OTHERS
+
+local date          = _G.date;
+local time          = _G.time;
+local wipe          = _G.wipe;
+local tinsert       = _G.tinsert;
+local tremove       = _G.tremove;
+
+
+
+--BLIZZARD API
+
+--MOST COMMON
+
+local CreateFrame           = _G.CreateFrame;
+local InCombatLockdown      = _G.InCombatLockdown;
+local GameTooltip           = _G.GameTooltip;
+local ReloadUI              = _G.ReloadUI;
+local hooksecurefunc        = _G.hooksecurefunc;
+local IsAltKeyDown          = _G.IsAltKeyDown;
+local IsShiftKeyDown        = _G.IsShiftKeyDown;
+local IsControlKeyDown      = _G.IsControlKeyDown;
+local IsModifiedClick       = _G.IsModifiedClick;
+local PlaySound             = _G.PlaySound;
+local PlaySoundFile         = _G.PlaySoundFile;
+local PlayMusic             = _G.PlayMusic;
+local StopMusic             = _G.StopMusic;
+local GetTime               = _G.GetTime;
+local ToggleFrame           = _G.ToggleFrame;
+local ERR_NOT_IN_COMBAT     = _G.ERR_NOT_IN_COMBAT;
+local RAID_CLASS_COLORS     = _G.RAID_CLASS_COLORS;
+local FACTION_BAR_COLORS    = _G.FACTION_BAR_COLORS;
+local CUSTOM_CLASS_COLORS   = _G.CUSTOM_CLASS_COLORS;
+
+local CooldownFrame_SetTimer = _G.CooldownFrame_SetTimer;
+
+local C_Timer               = _G.C_Timer;
+local C_PetBattles          = _G.C_PetBattles;
+local C_NewItems            = _G.C_NewItems;
+local C_PetJournal          = _G.C_PetJournal;
+local C_MountJournal        = _G.C_MountJournal;
+local C_LootHistory         = _G.C_LootHistory;
+local C_Garrison            = _G.C_Garrison;
+
+local CombatText_AddMessage     = _G.CombatText_AddMessage;
+local CombatText_StandardScroll = _G.CombatText_StandardScroll;
+
+local UnitName              = _G.UnitName;
+local UnitAura              = _G.UnitAura;
+local UnitBuff              = _G.UnitBuff;
+local UnitHealth            = _G.UnitHealth;
+local UnitHealthMax         = _G.UnitHealthMax;
+local UnitPower             = _G.UnitPower;
+local UnitPowerMax          = _G.UnitPowerMax;
+local UnitStat              = _G.UnitStat;
+local UnitRace             	= _G.UnitRace;
+local UnitLevel             = _G.UnitLevel;
+local UnitClass             = _G.UnitClass;
+local UnitReaction          = _G.UnitReaction;
+local UnitExists            = _G.UnitExists;
+local UnitIsUnit            = _G.UnitIsUnit;
+local UnitInRaid            = _G.UnitInRaid;
+local UnitInParty           = _G.UnitInParty;
+local UnitInRange           = _G.UnitInRange;
+local UnitGUID              = _G.UnitGUID;
+local UnitIsPVP             = _G.UnitIsPVP;
+local UnitIsDND             = _G.UnitIsDND;
+local UnitIsAFK             = _G.UnitIsAFK;
+local UnitIsDead            = _G.UnitIsDead;
+local UnitIsGhost           = _G.UnitIsGhost;
+local UnitIsPlayer          = _G.UnitIsPlayer;
+local UnitIsFriend          = _G.UnitIsFriend;
+local UnitIsEnemy           = _G.UnitIsEnemy;
+local UnitIsTapped          = _G.UnitIsTapped;
+local UnitClassBase  		= _G.UnitClassBase;
+local UnitPowerType  		= _G.UnitPowerType;
+local UnitPlayerControlled  = _G.UnitPlayerControlled;
+local UnitIsTappedByPlayer  = _G.UnitIsTappedByPlayer;
+local UnitIsConnected  		= _G.UnitIsConnected;
+local UnitIsDeadOrGhost  	= _G.UnitIsDeadOrGhost;
+local UnitInVehicle         = _G.UnitInVehicle;
+local UnitControllingVehicle= _G.UnitControllingVehicle;
+local UnitHasVehicleUI 		= _G.UnitHasVehicleUI;
+local UnitIsGroupLeader     = _G.UnitIsGroupLeader;
+local UnitIsGroupAssistant  = _G.UnitIsGroupAssistant;
+local UnitFactionGroup      = _G.UnitFactionGroup;
+local UnitCreatureFamily    = _G.UnitCreatureFamily;
+local UnitAffectingCombat   = _G.UnitAffectingCombat;
+local GetThreatStatusColor  = _G.GetThreatStatusColor;
+local UnitAlternatePowerInfo= _G.UnitAlternatePowerInfo;
+local UnitGetIncomingHeals  = _G.UnitGetIncomingHeals;
+local UnitGetTotalAbsorbs   = _G.UnitGetTotalAbsorbs;
+local IsEveryoneAssistant   = _G.IsEveryoneAssistant;
+local UnitGetTotalHealAbsorbs 		= _G.UnitGetTotalHealAbsorbs;
+local UnitDetailedThreatSituation 	= _G.UnitDetailedThreatSituation;
+
+local RegisterStateDriver       = _G.RegisterStateDriver;
+local UnregisterStateDriver     = _G.UnregisterStateDriver;
+local RegisterAttributeDriver   = _G.RegisterAttributeDriver;
+
+local GetLocale             = _G.GetLocale;
+local IsAddOnLoaded         = _G.IsAddOnLoaded;
+local GetNumAddOns          = _G.GetNumAddOns;
+local GetAddOnInfo          = _G.GetAddOnInfo;
+local IsLoggedIn            = _G.IsLoggedIn;
+local LoadAddOn             = _G.LoadAddOn;
+local EnableAddOn           = _G.EnableAddOn;
+local DisableAddOn          = _G.DisableAddOn;
+local LoadAddOn             = _G.LoadAddOn;
+local LibStub               = _G.LibStub;
+local GetAddOnMetadata      = _G.GetAddOnMetadata;
+local SetCVar               = _G.SetCVar;
+local GetCVar               = _G.GetCVar;
+local GetCVarBool           = _G.GetCVarBool;
+local IsInRaid              = _G.IsInRaid;
+local IsInGroup             = _G.IsInGroup;
+local IsInInstance          = _G.IsInInstance;
+local IsAddOnLoadOnDemand   = _G.IsAddOnLoadOnDemand;
+local GetSpecialization     = _G.GetSpecialization;
+local GetSpecializationInfo = _G.GetSpecializationInfo;
+
+local GetMoney              = _G.GetMoney;
+local PurchaseSlot          = _G.PurchaseSlot;
+local MoneyFrame_Update     = _G.MoneyFrame_Update;
+local GetBankSlotCost       = _G.GetBankSlotCost;
+
+local GetItemInfo           = _G.GetItemInfo;
+local GetItemCount          = _G.GetItemCount;
+local GetItemQualityColor   = _G.GetItemQualityColor;
+local GetItemFamily         = _G.GetItemFamily;
+
+local CloseBag              = _G.CloseBag;
+local IsBagOpen             = _G.IsBagOpen;
+local CloseAllBags          = _G.CloseAllBags;
+local IsOptionFrameOpen     = _G.IsOptionFrameOpen;
+local SortBags              = _G.SortBags;
+local SortBankBags          = _G.SortBankBags;
+local StackSplitFrame       = _G.StackSplitFrame;
+local SplitGuildBankItem    = _G.SplitGuildBankItem;
+local SplitContainerItem    = _G.SplitContainerItem;
+local SetItemSearch         = _G.SetItemSearch;
+local BankFrame             = _G.BankFrame;
+local MerchantFrame         = _G.MerchantFrame;
+local UISpecialFrames       = _G.UISpecialFrames;
+local CloseBankFrame        = _G.CloseBankFrame;
+local BuyReagentBank        = _G.BuyReagentBank;
+local DepositReagentBank    = _G.DepositReagentBank;
+local GetNumBankSlots       = _G.GetNumBankSlots;
+local GetCurrencyLink       = _G.GetCurrencyLink;
+local IsReagentBankUnlocked = _G.IsReagentBankUnlocked;
+local SetBagSlotFlag        = _G.SetBagSlotFlag;
+local GetBagSlotFlag        = _G.GetBagSlotFlag;
+local GetReagentBankCost    = _G.GetReagentBankCost;
+local GetContainerItemID    = _G.GetContainerItemID;
+local GetContainerNumSlots  = _G.GetContainerNumSlots;
+local GetContainerItemInfo  = _G.GetContainerItemInfo;
+local GetContainerItemLink  = _G.GetContainerItemLink;
+local GetNumEquipmentSets   = _G.GetNumEquipmentSets;
+local GetEquipmentSetInfo   = _G.GetEquipmentSetInfo;
+local GetCursorInfo         = _G.GetCursorInfo;
+local PickupGuildBankItem   = _G.PickupGuildBankItem;
+local PickupContainerItem   = _G.PickupContainerItem;
+local UseContainerItem      = _G.UseContainerItem;
+local PickupMerchantItem    = _G.PickupMerchantItem;
+local BreakUpLargeNumbers   = _G.BreakUpLargeNumbers;
+local QueryGuildBankTab     = _G.QueryGuildBankTab;
+local GetGuildBankTabInfo   = _G.GetGuildBankTabInfo;
+local GetGuildBankItemInfo  = _G.GetGuildBankItemInfo;
+local GetContainerItemInfo  = _G.GetContainerItemInfo;
+local GetGuildBankItemLink  = _G.GetGuildBankItemLink;
+local GetContainerItemLink  = _G.GetContainerItemLink;
+local GetInventoryItemLink  = _G.GetInventoryItemLink;
+
+local YES                       = _G.YES;
+local NO                        = _G.NO;
+local NONE                      = _G.NONE;
+local ACCEPT                    = _G.ACCEPT;
+local SEARCH                    = _G.SEARCH;
+local BANK                      = _G.BANK;
+local ARMOR                     = _G.ARMOR;
+local ENCHSLOT_WEAPON           = _G.ENCHSLOT_WEAPON;
+local CLEAR_ALL                 = _G.CLEAR_ALL;
+local FILTERS                   = _G.FILTERS;
+local REAGENT_BANK              = _G.REAGENT_BANK;
+local NUM_BAG_FRAMES            = _G.NUM_BAG_FRAMES;
+local NUM_BAG_SLOTS             = _G.NUM_BAG_SLOTS;
+local NUM_BANKBAGSLOTS          = _G.NUM_BANKBAGSLOTS;
+local INVENTORY_TOOLTIP         = _G.INVENTORY_TOOLTIP;
+local NUM_CONTAINER_FRAMES      = _G.NUM_CONTAINER_FRAMES;
+local CONFIRM_BUY_BANK_SLOT     = _G.CONFIRM_BUY_BANK_SLOT;
+local MAX_WATCHED_TOKENS        = _G.MAX_WATCHED_TOKENS;
+local MAX_CONTAINER_ITEMS       = _G.MAX_CONTAINER_ITEMS;
+local BANK_CONTAINER            = _G.BANK_CONTAINER;
+local REAGENTBANK_CONTAINER     = _G.REAGENTBANK_CONTAINER;
+local TEXTURE_ITEM_QUEST_BANG   = _G.TEXTURE_ITEM_QUEST_BANG;
+local NUM_LE_BAG_FILTER_FLAGS   = _G.NUM_LE_BAG_FILTER_FLAGS;
+
+local GetZoneText           = _G.GetZoneText;
+local GetZonePVPInfo        = _G.GetZonePVPInfo;
+local GetRealZoneText       = _G.GetRealZoneText;
+
+local GetAuctionItemClasses     = _G.GetAuctionItemClasses;
+local GetAuctionItemSubClasses  = _G.GetAuctionItemSubClasses;
+local GetAuctionItemClasses     = _G.GetAuctionItemClasses;
+local HandleModifiedItemClick   = _G.HandleModifiedItemClick;
+local GetBackpackCurrencyInfo   = _G.GetBackpackCurrencyInfo;
+local MainMenuBarBackpackButton = _G.MainMenuBarBackpackButton;
+local GetContainerItemID        = _G.GetContainerItemID;
+local GetContainerItemCooldown  = _G.GetContainerItemCooldown;
+local GetContainerItemQuestInfo = _G.GetContainerItemQuestInfo;
+local GetEquipmentSetLocations  = _G.GetEquipmentSetLocations;
+local GetContainerNumFreeSlots  = _G.GetContainerNumFreeSlots;
+local GetCurrentGuildBankTab    = _G.GetCurrentGuildBankTab;
+local GetCoinTextureString      = _G.GetCoinTextureString;
+local CooldownFrame_SetTimer    = _G.CooldownFrame_SetTimer;
+local SetPortraitToTexture      = _G.SetPortraitToTexture;
+local ContainerIDToInventoryID  = _G.ContainerIDToInventoryID;
+
+local BankFrameItemButton_Update        = _G.BankFrameItemButton_Update;
+local BankFrameItemButton_UpdateLocked  = _G.BankFrameItemButton_UpdateLocked;
+local MainMenuBarBackpackButtonCount    = _G.MainMenuBarBackpackButtonCount;
+local SetItemButtonCount                = _G.SetItemButtonCount;
+local SetItemButtonTexture              = _G.SetItemButtonTexture;
+local SetItemButtonDesaturated          = _G.SetItemButtonDesaturated;
+local SetItemButtonTextureVertexColor   = _G.SetItemButtonTextureVertexColor;
+local EquipmentManager_UnpackLocation   = _G.EquipmentManager_UnpackLocation;
+local RequestBattlefieldScoreData       = _G.RequestBattlefieldScoreData;
+local GetBattlefieldStatData            = _G.GetBattlefieldStatData;
+local LE_BAG_FILTER_FLAG_EQUIPMENT      = _G.LE_BAG_FILTER_FLAG_EQUIPMENT;
+
+
+--EVERYTHING FROM THE WOWPROGRAMMING REFERENCE LIBRARY
+
+--Achievement functions
+
+local AddTrackedAchievement = _G.AddTrackedAchievement
+local AreAccountAchievementsHidden = _G.AreAccountAchievementsHidden
+local CanShowAchievementUI = _G.CanShowAchievementUI
+local ClearAchievementComparisonUnit = _G.ClearAchievementComparisonUnit
+local GetAchievementCategory = _G.GetAchievementCategory
+local GetAchievementComparisonInfo = _G.GetAchievementComparisonInfo
+local GetAchievementCriteriaInfo = _G.GetAchievementCriteriaInfo
+local GetAchievementCriteriaInfoByID = _G.GetAchievementCriteriaInfoByID
+local GetAchievementGuildRep = _G.GetAchievementGuildRep
+local GetAchievementInfo = _G.GetAchievementInfo
+local GetAchievementLink = _G.GetAchievementLink
+local GetAchievementNumCriteria = _G.GetAchievementNumCriteria
+local GetAchievementNumRewards = _G.GetAchievementNumRewards
+local GetAchievementReward = _G.GetAchievementReward
+local GetCategoryAchievementPoints = _G.GetCategoryAchievementPoints
+local GetCategoryInfo = _G.GetCategoryInfo
+local GetCategoryList = _G.GetCategoryList
+local GetCategoryNumAchievements = _G.GetCategoryNumAchievements
+local GetComparisonAchievementPoints = _G.GetComparisonAchievementPoints
+local GetComparisonCategoryNumAchievements = _G.GetComparisonCategoryNumAchievements
+local GetComparisonStatistic = _G.GetComparisonStatistic
+local GetGuildAchievementMemberInfo = _G.GetGuildAchievementMemberInfo
+local GetGuildAchievementMembers = _G.GetGuildAchievementMembers
+local GetGuildAchievementNumMembers = _G.GetGuildAchievementNumMembers
+local GetGuildRosterLargestAchievementPoints = _G.GetGuildRosterLargestAchievementPoints
+local GetLatestCompletedAchievements = _G.GetLatestCompletedAchievements
+local GetLatestCompletedComparisonAchievements = _G.GetLatestCompletedComparisonAchievements
+local GetLatestUpdatedComparisonStats = _G.GetLatestUpdatedComparisonStats
+local GetLatestUpdatedStats = _G.GetLatestUpdatedStats
+local GetNextAchievement = _G.GetNextAchievement
+local GetNumComparisonCompletedAchievements = _G.GetNumComparisonCompletedAchievements
+local GetNumCompletedAchievements = _G.GetNumCompletedAchievements
+local GetNumTrackedAchievements = _G.GetNumTrackedAchievements
+local GetPreviousAchievement = _G.GetPreviousAchievement
+local GetStatistic = _G.GetStatistic
+local GetStatisticsCategoryList = _G.GetStatisticsCategoryList
+local GetTotalAchievementPoints = _G.GetTotalAchievementPoints
+local GetTrackedAchievements = _G.GetTrackedAchievements
+local HasCompletedAnyAchievement = _G.HasCompletedAnyAchievement
+local IsAchievementEligible = _G.IsAchievementEligible
+local IsTrackedAchievement = _G.IsTrackedAchievement
+local RemoveTrackedAchievement = _G.RemoveTrackedAchievement
+local SetAchievementComparisonPortrait = _G.SetAchievementComparisonPortrait
+local SetAchievementComparisonUnit = _G.SetAchievementComparisonUnit
+local SetFocusedAchievement = _G.SetFocusedAchievement
+local ShowAccountAchievements = _G.ShowAccountAchievements
+
+--Action functions
+
+local ActionHasRange = _G.ActionHasRange
+local C_LossOfControl.GetEventInfo = _G.C_LossOfControl.GetEventInfo
+local C_LossOfControl.GetNumEvents = _G.C_LossOfControl.GetNumEvents
+local CastPetAction = _G.CastPetAction
+local GetActionAutocast = _G.GetActionAutocast
+local GetActionCharges = _G.GetActionCharges
+local GetActionCooldown = _G.GetActionCooldown
+local GetActionCount = _G.GetActionCount
+local GetActionInfo = _G.GetActionInfo
+local GetActionLossOfControlCooldown = _G.GetActionLossOfControlCooldown
+local GetActionText = _G.GetActionText
+local GetActionTexture = _G.GetActionTexture
+local GetPetActionCooldown = _G.GetPetActionCooldown
+local GetPetActionInfo = _G.GetPetActionInfo
+local GetPetActionSlotUsable = _G.GetPetActionSlotUsable
+local GetPetActionsUsable = _G.GetPetActionsUsable
+local HasAction = _G.HasAction
+local IsActionInRange = _G.IsActionInRange
+local IsAttackAction = _G.IsAttackAction
+local IsAutoRepeatAction = _G.IsAutoRepeatAction
+local IsConsumableAction = _G.IsConsumableAction
+local IsCurrentAction = _G.IsCurrentAction
+local IsEquippedAction = _G.IsEquippedAction
+local IsItemAction = _G.IsItemAction
+local IsPetAttackAction = _G.IsPetAttackAction
+local IsSpellOverlayed = _G.IsSpellOverlayed
+local IsStackableAction = _G.IsStackableAction
+local IsUsableAction = _G.IsUsableAction
+local PickupAction = _G.PickupAction
+local PickupPetAction = _G.PickupPetAction
+local PlaceAction = _G.PlaceAction
+local TogglePetAutocast = _G.TogglePetAutocast
+local UseAction = _G.UseAction
+
+--ActionBar functions
+
+local ChangeActionBarPage = _G.ChangeActionBarPage
+local GetActionBarPage = _G.GetActionBarPage
+local GetActionBarToggles = _G.GetActionBarToggles
+local GetBonusBarIndex = _G.GetBonusBarIndex
+local GetBonusBarOffset = _G.GetBonusBarOffset
+local GetExtraBarIndex = _G.GetExtraBarIndex
+local GetFlyoutInfo = _G.GetFlyoutInfo
+local GetFlyoutSlotInfo = _G.GetFlyoutSlotInfo
+local GetNumFlyouts = _G.GetNumFlyouts
+local GetOverrideBarIndex = _G.GetOverrideBarIndex
+local GetOverrideBarSkin = _G.GetOverrideBarSkin
+local GetPossessInfo = _G.GetPossessInfo
+local GetTempShapeshiftBarIndex = _G.GetTempShapeshiftBarIndex
+local HasBonusActionBar = _G.HasBonusActionBar
+local HasExtraActionBar = _G.HasExtraActionBar
+local HasOverrideActionBar = _G.HasOverrideActionBar
+local HasTempShapeshiftActionBar = _G.HasTempShapeshiftActionBar
+local HasVehicleActionBar = _G.HasVehicleActionBar
+local IsPossessBarVisible = _G.IsPossessBarVisible
+local SetActionBarToggles = _G.SetActionBarToggles
+local SetActionUIButton = _G.SetActionUIButton
+local SetBarSlotFromIntro = _G.SetBarSlotFromIntro
+
+--Addon-related functions
+
+local DisableAddOn = _G.DisableAddOn
+local DisableAllAddOns = _G.DisableAllAddOns
+local EnableAddOn = _G.EnableAddOn
+local EnableAllAddOns = _G.EnableAllAddOns
+local GetAddOnDependencies = _G.GetAddOnDependencies
+local GetAddOnEnableState = _G.GetAddOnEnableState
+local GetAddOnInfo = _G.GetAddOnInfo
+local GetAddOnMetadata = _G.GetAddOnMetadata
+local GetAddOnOptionalDependencies = _G.GetAddOnOptionalDependencies
+local GetNumAddOns = _G.GetNumAddOns
+local GetRegisteredAddonMessagePrefixes = _G.GetRegisteredAddonMessagePrefixes
+local InterfaceOptionsFrame_OpenToCategory = _G.InterfaceOptionsFrame_OpenToCategory
+local InterfaceOptions_AddCategory = _G.InterfaceOptions_AddCategory
+local IsAddOnLoadOnDemand = _G.IsAddOnLoadOnDemand
+local IsAddOnLoaded = _G.IsAddOnLoaded
+local IsAddonMessagePrefixRegistered = _G.IsAddonMessagePrefixRegistered
+local IsAddonVersionCheckEnabled = _G.IsAddonVersionCheckEnabled
+local LoadAddOn = _G.LoadAddOn
+local RegisterAddonMessagePrefix = _G.RegisterAddonMessagePrefix
+local ResetAddOns = _G.ResetAddOns
+local ResetDisabledAddOns = _G.ResetDisabledAddOns
+local SaveAddOns = _G.SaveAddOns
+local SendAddonMessage = _G.SendAddonMessage
+local SetAddonVersionCheck = _G.SetAddonVersionCheck
+
+--Archaeology profession functions
+
+local ArchaeologyGetIconInfo = _G.ArchaeologyGetIconInfo
+local ArchaeologyMapUpdateAll = _G.ArchaeologyMapUpdateAll
+local ArcheologyGetVisibleBlobID = _G.ArcheologyGetVisibleBlobID
+local CanItemBeSocketedToArtifact = _G.CanItemBeSocketedToArtifact
+local CanSolveArtifact = _G.CanSolveArtifact
+local GetActiveArtifactByRace = _G.GetActiveArtifactByRace
+local GetArchaeologyInfo = _G.GetArchaeologyInfo
+local GetArchaeologyRaceInfo = _G.GetArchaeologyRaceInfo
+local GetArchaeologyRaceInfoByID = _G.GetArchaeologyRaceInfoByID
+local GetArtifactInfoByRace = _G.GetArtifactInfoByRace
+local GetArtifactProgress = _G.GetArtifactProgress
+local GetNumArchaeologyRaces = _G.GetNumArchaeologyRaces
+local GetNumArtifactsByRace = _G.GetNumArtifactsByRace
+local GetSelectedArtifactInfo = _G.GetSelectedArtifactInfo
+local IsArtifactCompletionHistoryAvailable = _G.IsArtifactCompletionHistoryAvailable
+local ItemAddedToArtifact = _G.ItemAddedToArtifact
+local RemoveItemFromArtifact = _G.RemoveItemFromArtifact
+local RequestArtifactCompletionHistory = _G.RequestArtifactCompletionHistory
+local SetSelectedArtifact = _G.SetSelectedArtifact
+local SocketItemToArtifact = _G.SocketItemToArtifact
+local SolveArtifact = _G.SolveArtifact
+
+--Arena functions
+
+local ArenaTeam_GetTeamSizeID = _G.ArenaTeam_GetTeamSizeID
+local GetArenaOpponentSpec = _G.GetArenaOpponentSpec
+local GetCurrentArenaSeason = _G.GetCurrentArenaSeason
+local GetMaxArenaCurrency = _G.GetMaxArenaCurrency
+local GetNumArenaOpponentSpecs = _G.GetNumArenaOpponentSpecs
+local GetNumArenaOpponents = _G.GetNumArenaOpponents
+local GetPVPRewards = _G.GetPVPRewards
+local GetPreviousArenaSeason = _G.GetPreviousArenaSeason
+local IsActiveBattlefieldArena = _G.IsActiveBattlefieldArena
+local IsArenaSkirmish = _G.IsArenaSkirmish
+local IsArenaTeamCaptain = _G.IsArenaTeamCaptain
+local IsInArenaTeam = _G.IsInArenaTeam
+local JoinArena = _G.JoinArena
+local JoinSkirmish = _G.JoinSkirmish
+local RequeueSkirmish = _G.RequeueSkirmish
+
+--Auction functions
+
+local C_BlackMarket.Close = _G.C_BlackMarket.Close
+local C_BlackMarket.GetHotItem = _G.C_BlackMarket.GetHotItem
+local C_BlackMarket.GetItemInfoByID = _G.C_BlackMarket.GetItemInfoByID
+local C_BlackMarket.GetItemInfoByIndex = _G.C_BlackMarket.GetItemInfoByIndex
+local C_BlackMarket.GetNumItems = _G.C_BlackMarket.GetNumItems
+local C_BlackMarket.ItemPlaceBid = _G.C_BlackMarket.ItemPlaceBid
+local C_BlackMarket.RequestItems = _G.C_BlackMarket.RequestItems
+local CalculateAuctionDeposit = _G.CalculateAuctionDeposit
+local CanCancelAuction = _G.CanCancelAuction
+local CanSendAuctionQuery = _G.CanSendAuctionQuery
+local CancelAuction = _G.CancelAuction
+local CancelSell = _G.CancelSell
+local ClickAuctionSellItemButton = _G.ClickAuctionSellItemButton
+local CloseAuctionHouse = _G.CloseAuctionHouse
+local GetAuctionHouseDepositRate = _G.GetAuctionHouseDepositRate
+local GetAuctionInvTypes = _G.GetAuctionInvTypes
+local GetAuctionItemBattlePetInfo = _G.GetAuctionItemBattlePetInfo
+local GetAuctionItemClasses = _G.GetAuctionItemClasses
+local GetAuctionItemInfo = _G.GetAuctionItemInfo
+local GetAuctionItemLink = _G.GetAuctionItemLink
+local GetAuctionItemSubClasses = _G.GetAuctionItemSubClasses
+local GetAuctionItemTimeLeft = _G.GetAuctionItemTimeLeft
+local GetAuctionSellItemInfo = _G.GetAuctionSellItemInfo
+local GetAuctionSort = _G.GetAuctionSort
+local GetBidderAuctionItems = _G.GetBidderAuctionItems
+local GetInboxInvoiceInfo = _G.GetInboxInvoiceInfo
+local GetNumAuctionItems = _G.GetNumAuctionItems
+local GetOwnerAuctionItems = _G.GetOwnerAuctionItems
+local GetSelectedAuctionItem = _G.GetSelectedAuctionItem
+local IsAuctionSortReversed = _G.IsAuctionSortReversed
+local PlaceAuctionBid = _G.PlaceAuctionBid
+local QueryAuctionItems = _G.QueryAuctionItems
+local SetAuctionsTabShowing = _G.SetAuctionsTabShowing
+local SetSelectedAuctionItem = _G.SetSelectedAuctionItem
+local SortAuctionApplySort = _G.SortAuctionApplySort
+local SortAuctionClearSort = _G.SortAuctionClearSort
+local SortAuctionItems = _G.SortAuctionItems
+local SortAuctionSetSort = _G.SortAuctionSetSort
+local StartAuction = _G.StartAuction
+
+--Bank functions
+
+local BankButtonIDToInvSlotID = _G.BankButtonIDToInvSlotID
+local BuyReagentBank = _G.BuyReagentBank
+local CloseBankFrame = _G.CloseBankFrame
+local DepositReagentBank = _G.DepositReagentBank
+local EquipmentManager_UnpackLocation = _G.EquipmentManager_UnpackLocation
+local GetBankAutosortDisabled = _G.GetBankAutosortDisabled
+local GetBankBagSlotFlag = _G.GetBankBagSlotFlag
+local GetBankSlotCost = _G.GetBankSlotCost
+local GetNumBankSlots = _G.GetNumBankSlots
+local GetReagentBankCost = _G.GetReagentBankCost
+local IsBagSlotFlagEnabledOnOtherBankBags = _G.IsBagSlotFlagEnabledOnOtherBankBags
+local IsReagentBankUnlocked = _G.IsReagentBankUnlocked
+local PurchaseSlot = _G.PurchaseSlot
+local ReagentBankButtonIDToInvSlotID = _G.ReagentBankButtonIDToInvSlotID
+local SetBankAutosortDisabled = _G.SetBankAutosortDisabled
+local SetBankBagSlotFlag = _G.SetBankBagSlotFlag
+local SortBankBags = _G.SortBankBags
+local SortReagentBankBags = _G.SortReagentBankBags
+
+--Barbershop functions
+
+local ApplyBarberShopStyle = _G.ApplyBarberShopStyle
+local BarberShopReset = _G.BarberShopReset
+local CanAlterSkin = _G.CanAlterSkin
+local CancelBarberShop = _G.CancelBarberShop
+local GetBarberShopStyleInfo = _G.GetBarberShopStyleInfo
+local GetBarberShopTotalCost = _G.GetBarberShopTotalCost
+local GetFacialHairCustomization = _G.GetFacialHairCustomization
+local GetHairCustomization = _G.GetHairCustomization
+local IsBarberShopStyleValid = _G.IsBarberShopStyleValid
+local SetBarberShopAlternateFormFrame = _G.SetBarberShopAlternateFormFrame
+local SetNextBarberShopStyle = _G.SetNextBarberShopStyle
+
+--Battle.net functions
+
+local BNAcceptFriendInvite = _G.BNAcceptFriendInvite
+local BNCheckBattleTagInviteToGuildMember = _G.BNCheckBattleTagInviteToGuildMember
+local BNCheckBattleTagInviteToUnit = _G.BNCheckBattleTagInviteToUnit
+local BNConnected = _G.BNConnected
+local BNCreateConversation = _G.BNCreateConversation
+local BNDeclineFriendInvite = _G.BNDeclineFriendInvite
+local BNFeaturesEnabled = _G.BNFeaturesEnabled
+local BNFeaturesEnabledAndConnected = _G.BNFeaturesEnabledAndConnected
+local BNGetBlockedInfo = _G.BNGetBlockedInfo
+local BNGetBlockedToonInfo = _G.BNGetBlockedToonInfo
+local BNGetConversationInfo = _G.BNGetConversationInfo
+local BNGetConversationMemberInfo = _G.BNGetConversationMemberInfo
+local BNGetCustomMessageTable = _G.BNGetCustomMessageTable
+local BNGetFOFInfo = _G.BNGetFOFInfo
+local BNGetFriendIndex = _G.BNGetFriendIndex
+local BNGetFriendInfo = _G.BNGetFriendInfo
+local BNGetFriendInfoByID = _G.BNGetFriendInfoByID
+local BNGetFriendInviteInfo = _G.BNGetFriendInviteInfo
+local BNGetFriendToonInfo = _G.BNGetFriendToonInfo
+local BNGetInfo = _G.BNGetInfo
+local BNGetMatureLanguageFilter = _G.BNGetMatureLanguageFilter
+local BNGetMaxNumConversations = _G.BNGetMaxNumConversations
+local BNGetMaxPlayersInConversation = _G.BNGetMaxPlayersInConversation
+local BNGetNumBlocked = _G.BNGetNumBlocked
+local BNGetNumBlockedToons = _G.BNGetNumBlockedToons
+local BNGetNumConversationMembers = _G.BNGetNumConversationMembers
+local BNGetNumFOF = _G.BNGetNumFOF
+local BNGetNumFriendInvites = _G.BNGetNumFriendInvites
+local BNGetNumFriendToons = _G.BNGetNumFriendToons
+local BNGetNumFriends = _G.BNGetNumFriends
+local BNGetSelectedBlock = _G.BNGetSelectedBlock
+local BNGetSelectedFriend = _G.BNGetSelectedFriend
+local BNGetSelectedToonBlock = _G.BNGetSelectedToonBlock
+local BNGetToonInfo = _G.BNGetToonInfo
+local BNInviteFriend = _G.BNInviteFriend
+local BNInviteToConversation = _G.BNInviteToConversation
+local BNIsBlocked = _G.BNIsBlocked
+local BNIsFriend = _G.BNIsFriend
+local BNIsFriendConversationValid = _G.BNIsFriendConversationValid
+local BNIsSelf = _G.BNIsSelf
+local BNIsToonBlocked = _G.BNIsToonBlocked
+local BNLeaveConversation = _G.BNLeaveConversation
+local BNListConversation = _G.BNListConversation
+local BNRemoveFriend = _G.BNRemoveFriend
+local BNReportFriendInvite = _G.BNReportFriendInvite
+local BNReportPlayer = _G.BNReportPlayer
+local BNRequestFOFInfo = _G.BNRequestFOFInfo
+local BNSendConversationMessage = _G.BNSendConversationMessage
+local BNSendFriendInvite = _G.BNSendFriendInvite
+local BNSendFriendInviteByID = _G.BNSendFriendInviteByID
+local BNSendGameData = _G.BNSendGameData
+local BNSendSoR = _G.BNSendSoR
+local BNSendVerifiedBattleTagInvite = _G.BNSendVerifiedBattleTagInvite
+local BNSendWhisper = _G.BNSendWhisper
+local BNSetAFK = _G.BNSetAFK
+local BNSetBlocked = _G.BNSetBlocked
+local BNSetCustomMessage = _G.BNSetCustomMessage
+local BNSetDND = _G.BNSetDND
+local BNSetFocus = _G.BNSetFocus
+local BNSetFriendNote = _G.BNSetFriendNote
+local BNSetMatureLanguageFilter = _G.BNSetMatureLanguageFilter
+local BNSetSelectedBlock = _G.BNSetSelectedBlock
+local BNSetSelectedFriend = _G.BNSetSelectedFriend
+local BNSetSelectedToonBlock = _G.BNSetSelectedToonBlock
+local BNSetToonBlocked = _G.BNSetToonBlocked
+local BNSummonFriendByIndex = _G.BNSummonFriendByIndex
+local BNTokenFindName = _G.BNTokenFindName
+local GetAutoCompletePresenceID = _G.GetAutoCompletePresenceID
+local IsBNLogin = _G.IsBNLogin
+
+--Battlefield functions
+
+local AcceptAreaSpiritHeal = _G.AcceptAreaSpiritHeal
+local AcceptBattlefieldPort = _G.AcceptBattlefieldPort
+local BattlefieldMgrEntryInviteResponse = _G.BattlefieldMgrEntryInviteResponse
+local BattlefieldMgrExitRequest = _G.BattlefieldMgrExitRequest
+local BattlefieldMgrQueueInviteResponse = _G.BattlefieldMgrQueueInviteResponse
+local BattlefieldMgrQueueRequest = _G.BattlefieldMgrQueueRequest
+local CanJoinBattlefieldAsGroup = _G.CanJoinBattlefieldAsGroup
+local CancelAreaSpiritHeal = _G.CancelAreaSpiritHeal
+local GetAreaSpiritHealerTime = _G.GetAreaSpiritHealerTime
+local GetBattlefieldArenaFaction = _G.GetBattlefieldArenaFaction
+local GetBattlefieldEstimatedWaitTime = _G.GetBattlefieldEstimatedWaitTime
+local GetBattlefieldFlagPosition = _G.GetBattlefieldFlagPosition
+local GetBattlefieldInstanceExpiration = _G.GetBattlefieldInstanceExpiration
+local GetBattlefieldInstanceRunTime = _G.GetBattlefieldInstanceRunTime
+local GetBattlefieldMapIconScale = _G.GetBattlefieldMapIconScale
+local GetBattlefieldPortExpiration = _G.GetBattlefieldPortExpiration
+local GetBattlefieldScore = _G.GetBattlefieldScore
+local GetBattlefieldStatData = _G.GetBattlefieldStatData
+local GetBattlefieldStatInfo = _G.GetBattlefieldStatInfo
+local GetBattlefieldStatus = _G.GetBattlefieldStatus
+local GetBattlefieldTeamInfo = _G.GetBattlefieldTeamInfo
+local GetBattlefieldTimeWaited = _G.GetBattlefieldTimeWaited
+local GetBattlefieldVehicleInfo = _G.GetBattlefieldVehicleInfo
+local GetBattlefieldWinner = _G.GetBattlefieldWinner
+local GetBattlegroundInfo = _G.GetBattlegroundInfo
+local GetBattlegroundPoints = _G.GetBattlegroundPoints
+local GetBlacklistMapName = _G.GetBlacklistMapName
+local GetMaxBattlefieldID = _G.GetMaxBattlefieldID
+local GetNumBattlefieldFlagPositions = _G.GetNumBattlefieldFlagPositions
+local GetNumBattlefieldScores = _G.GetNumBattlefieldScores
+local GetNumBattlefieldStats = _G.GetNumBattlefieldStats
+local GetNumBattlefieldVehicles = _G.GetNumBattlefieldVehicles
+local GetNumBattlegroundTypes = _G.GetNumBattlegroundTypes
+local GetPVPRewards = _G.GetPVPRewards
+local GetRatedBattleGroundInfo = _G.GetRatedBattleGroundInfo
+local InActiveBattlefield = _G.InActiveBattlefield
+local IsActiveBattlefieldArena = _G.IsActiveBattlefieldArena
+local IsRatedMap = _G.IsRatedMap
+local JoinBattlefield = _G.JoinBattlefield
+local JoinRatedBattlefield = _G.JoinRatedBattlefield
+local LeaveBattlefield = _G.LeaveBattlefield
+local PlayerIsPVPInactive = _G.PlayerIsPVPInactive
+local ReportPlayerIsPVPAFK = _G.ReportPlayerIsPVPAFK
+local RequestBattlefieldScoreData = _G.RequestBattlefieldScoreData
+local RequestBattlegroundInstanceInfo = _G.RequestBattlegroundInstanceInfo
+local RequestRandomBattlegroundInstanceInfo = _G.RequestRandomBattlegroundInstanceInfo
+local RequestRatedInfo = _G.RequestRatedInfo
+local SetBattlefieldScoreFaction = _G.SetBattlefieldScoreFaction
+local SetBlacklistMap = _G.SetBlacklistMap
+local SortBattlefieldScoreData = _G.SortBattlefieldScoreData
+local UnitInBattleground = _G.UnitInBattleground
+
+--Blizzard internal functions
+
+local DetectWowMouse = _G.DetectWowMouse
+local GMRequestPlayerInfo = _G.GMRequestPlayerInfo
+local GetDebugStats = _G.GetDebugStats
+local GetDebugZoneMap = _G.GetDebugZoneMap
+local GetGMStatus = _G.GetGMStatus
+local GetMapDebugObjectInfo = _G.GetMapDebugObjectInfo
+local GetNumMapDebugObjects = _G.GetNumMapDebugObjects
+local HasDebugZoneMap = _G.HasDebugZoneMap
+local IsDebugBuild = _G.IsDebugBuild
+local IsGMClient = _G.IsGMClient
+local ResetPerformanceValues = _G.ResetPerformanceValues
+local SetConsoleKey = _G.SetConsoleKey
+local SetLayoutMode = _G.SetLayoutMode
+local TargetDirectionEnemy = _G.TargetDirectionEnemy
+local TargetDirectionFinished = _G.TargetDirectionFinished
+local TargetDirectionFriend = _G.TargetDirectionFriend
+local TeleportToDebugObject = _G.TeleportToDebugObject
+local ToggleCollision = _G.ToggleCollision
+local ToggleCollisionDisplay = _G.ToggleCollisionDisplay
+local TogglePerformancePause = _G.TogglePerformancePause
+local TogglePerformanceValues = _G.TogglePerformanceValues
+local TogglePlayerBounds = _G.TogglePlayerBounds
+local TogglePortals = _G.TogglePortals
+local ToggleTris = _G.ToggleTris
+local debugbreak = _G.debugbreak
+local debugdump = _G.debugdump
+local debuginfo = _G.debuginfo
+local debugload = _G.debugload
+local debugprint = _G.debugprint
+local debugtimestamp = _G.debugtimestamp
+local newproxy = _G.newproxy
+
+--Buff functions
+
+local CancelItemTempEnchantment = _G.CancelItemTempEnchantment
+local CancelShapeshiftForm = _G.CancelShapeshiftForm
+local CancelUnitBuff = _G.CancelUnitBuff
+local GetRaidBuffTrayAuraInfo = _G.GetRaidBuffTrayAuraInfo
+local GetWeaponEnchantInfo = _G.GetWeaponEnchantInfo
+local UnitAura = _G.UnitAura
+local UnitBuff = _G.UnitBuff
+local UnitDebuff = _G.UnitDebuff
+
+--CVar functions
+
+local GetCVar = _G.GetCVar
+local GetCVarBitfield = _G.GetCVarBitfield
+local GetCVarBool = _G.GetCVarBool
+local GetCVarDefault = _G.GetCVarDefault
+local GetCVarInfo = _G.GetCVarInfo
+local RegisterCVar = _G.RegisterCVar
+local SetCVar = _G.SetCVar
+local SetCVarBitfield = _G.SetCVarBitfield
+
+--Calendar functions
+
+local CalendarAddEvent = _G.CalendarAddEvent
+local CalendarCanAddEvent = _G.CalendarCanAddEvent
+local CalendarCanSendInvite = _G.CalendarCanSendInvite
+local CalendarCloseEvent = _G.CalendarCloseEvent
+local CalendarContextDeselectEvent = _G.CalendarContextDeselectEvent
+local CalendarContextEventCanComplain = _G.CalendarContextEventCanComplain
+local CalendarContextEventCanEdit = _G.CalendarContextEventCanEdit
+local CalendarContextEventCanRemove = _G.CalendarContextEventCanRemove
+local CalendarContextEventClipboard = _G.CalendarContextEventClipboard
+local CalendarContextEventComplain = _G.CalendarContextEventComplain
+local CalendarContextEventCopy = _G.CalendarContextEventCopy
+local CalendarContextEventGetCalendarType = _G.CalendarContextEventGetCalendarType
+local CalendarContextEventPaste = _G.CalendarContextEventPaste
+local CalendarContextEventRemove = _G.CalendarContextEventRemove
+local CalendarContextEventSignUp = _G.CalendarContextEventSignUp
+local CalendarContextGetEventIndex = _G.CalendarContextGetEventIndex
+local CalendarContextInviteAvailable = _G.CalendarContextInviteAvailable
+local CalendarContextInviteDecline = _G.CalendarContextInviteDecline
+local CalendarContextInviteIsPending = _G.CalendarContextInviteIsPending
+local CalendarContextInviteModeratorStatus = _G.CalendarContextInviteModeratorStatus
+local CalendarContextInviteRemove = _G.CalendarContextInviteRemove
+local CalendarContextInviteStatus = _G.CalendarContextInviteStatus
+local CalendarContextInviteTentative = _G.CalendarContextInviteTentative
+local CalendarContextInviteType = _G.CalendarContextInviteType
+local CalendarContextSelectEvent = _G.CalendarContextSelectEvent
+local CalendarDefaultGuildFilter = _G.CalendarDefaultGuildFilter
+local CalendarEventAvailable = _G.CalendarEventAvailable
+local CalendarEventCanEdit = _G.CalendarEventCanEdit
+local CalendarEventCanModerate = _G.CalendarEventCanModerate
+local CalendarEventClearAutoApprove = _G.CalendarEventClearAutoApprove
+local CalendarEventClearLocked = _G.CalendarEventClearLocked
+local CalendarEventClearModerator = _G.CalendarEventClearModerator
+local CalendarEventDecline = _G.CalendarEventDecline
+local CalendarEventGetCalendarType = _G.CalendarEventGetCalendarType
+local CalendarEventGetInvite = _G.CalendarEventGetInvite
+local CalendarEventGetInviteResponseTime = _G.CalendarEventGetInviteResponseTime
+local CalendarEventGetInviteSortCriterion = _G.CalendarEventGetInviteSortCriterion
+local CalendarEventGetNumInvites = _G.CalendarEventGetNumInvites
+local CalendarEventGetRepeatOptions = _G.CalendarEventGetRepeatOptions
+local CalendarEventGetSelectedInvite = _G.CalendarEventGetSelectedInvite
+local CalendarEventGetStatusOptions = _G.CalendarEventGetStatusOptions
+local CalendarEventGetTextures = _G.CalendarEventGetTextures
+local CalendarEventGetTypes = _G.CalendarEventGetTypes
+local CalendarEventGetTypesDisplayOrdered = _G.CalendarEventGetTypesDisplayOrdered
+local CalendarEventHasPendingInvite = _G.CalendarEventHasPendingInvite
+local CalendarEventHaveSettingsChanged = _G.CalendarEventHaveSettingsChanged
+local CalendarEventInvite = _G.CalendarEventInvite
+local CalendarEventIsModerator = _G.CalendarEventIsModerator
+local CalendarEventRemoveInvite = _G.CalendarEventRemoveInvite
+local CalendarEventSelectInvite = _G.CalendarEventSelectInvite
+local CalendarEventSetAutoApprove = _G.CalendarEventSetAutoApprove
+local CalendarEventSetDate = _G.CalendarEventSetDate
+local CalendarEventSetDescription = _G.CalendarEventSetDescription
+local CalendarEventSetLocked = _G.CalendarEventSetLocked
+local CalendarEventSetLockoutDate = _G.CalendarEventSetLockoutDate
+local CalendarEventSetLockoutTime = _G.CalendarEventSetLockoutTime
+local CalendarEventSetModerator = _G.CalendarEventSetModerator
+local CalendarEventSetRepeatOption = _G.CalendarEventSetRepeatOption
+local CalendarEventSetSize = _G.CalendarEventSetSize
+local CalendarEventSetStatus = _G.CalendarEventSetStatus
+local CalendarEventSetTextureID = _G.CalendarEventSetTextureID
+local CalendarEventSetTime = _G.CalendarEventSetTime
+local CalendarEventSetTitle = _G.CalendarEventSetTitle
+local CalendarEventSetType = _G.CalendarEventSetType
+local CalendarEventSignUp = _G.CalendarEventSignUp
+local CalendarEventSortInvites = _G.CalendarEventSortInvites
+local CalendarEventTentative = _G.CalendarEventTentative
+local CalendarGetAbsMonth = _G.CalendarGetAbsMonth
+local CalendarGetDate = _G.CalendarGetDate
+local CalendarGetDayEvent = _G.CalendarGetDayEvent
+local CalendarGetDayEventSequenceInfo = _G.CalendarGetDayEventSequenceInfo
+local CalendarGetEventIndex = _G.CalendarGetEventIndex
+local CalendarGetEventInfo = _G.CalendarGetEventInfo
+local CalendarGetFirstPendingInvite = _G.CalendarGetFirstPendingInvite
+local CalendarGetGuildEventInfo = _G.CalendarGetGuildEventInfo
+local CalendarGetGuildEventSelectionInfo = _G.CalendarGetGuildEventSelectionInfo
+local CalendarGetHolidayInfo = _G.CalendarGetHolidayInfo
+local CalendarGetMaxCreateDate = _G.CalendarGetMaxCreateDate
+local CalendarGetMaxDate = _G.CalendarGetMaxDate
+local CalendarGetMinDate = _G.CalendarGetMinDate
+local CalendarGetMinHistoryDate = _G.CalendarGetMinHistoryDate
+local CalendarGetMonth = _G.CalendarGetMonth
+local CalendarGetMonthNames = _G.CalendarGetMonthNames
+local CalendarGetNumDayEvents = _G.CalendarGetNumDayEvents
+local CalendarGetNumGuildEvents = _G.CalendarGetNumGuildEvents
+local CalendarGetNumPendingInvites = _G.CalendarGetNumPendingInvites
+local CalendarGetRaidInfo = _G.CalendarGetRaidInfo
+local CalendarGetWeekdayNames = _G.CalendarGetWeekdayNames
+local CalendarIsActionPending = _G.CalendarIsActionPending
+local CalendarMassInviteGuild = _G.CalendarMassInviteGuild
+local CalendarNewEvent = _G.CalendarNewEvent
+local CalendarNewGuildAnnouncement = _G.CalendarNewGuildAnnouncement
+local CalendarNewGuildEvent = _G.CalendarNewGuildEvent
+local CalendarOpenEvent = _G.CalendarOpenEvent
+local CalendarRemoveEvent = _G.CalendarRemoveEvent
+local CalendarSetAbsMonth = _G.CalendarSetAbsMonth
+local CalendarSetMonth = _G.CalendarSetMonth
+local CalendarUpdateEvent = _G.CalendarUpdateEvent
+local CanEditGuildEvent = _G.CanEditGuildEvent
+local OpenCalendar = _G.OpenCalendar
+
+--Camera functions
+
+local CameraOrSelectOrMoveStart = _G.CameraOrSelectOrMoveStart
+local CameraOrSelectOrMoveStop = _G.CameraOrSelectOrMoveStop
+local CameraZoomIn = _G.CameraZoomIn
+local CameraZoomOut = _G.CameraZoomOut
+local FlipCameraYaw = _G.FlipCameraYaw
+local IsMouselooking = _G.IsMouselooking
+local MouselookStart = _G.MouselookStart
+local MouselookStop = _G.MouselookStop
+local MoveViewDownStart = _G.MoveViewDownStart
+local MoveViewDownStop = _G.MoveViewDownStop
+local MoveViewInStart = _G.MoveViewInStart
+local MoveViewInStop = _G.MoveViewInStop
+local MoveViewLeftStart = _G.MoveViewLeftStart
+local MoveViewLeftStop = _G.MoveViewLeftStop
+local MoveViewOutStart = _G.MoveViewOutStart
+local MoveViewOutStop = _G.MoveViewOutStop
+local MoveViewRightStart = _G.MoveViewRightStart
+local MoveViewRightStop = _G.MoveViewRightStop
+local MoveViewUpStart = _G.MoveViewUpStart
+local MoveViewUpStop = _G.MoveViewUpStop
+local NextView = _G.NextView
+local PrevView = _G.PrevView
+local ResetView = _G.ResetView
+local SaveView = _G.SaveView
+local SetView = _G.SetView
+
+--Channel functions
+
+local AddChatWindowChannel = _G.AddChatWindowChannel
+local ChannelBan = _G.ChannelBan
+local ChannelInvite = _G.ChannelInvite
+local ChannelKick = _G.ChannelKick
+local ChannelModerator = _G.ChannelModerator
+local ChannelMute = _G.ChannelMute
+local ChannelSilenceAll = _G.ChannelSilenceAll
+local ChannelSilenceVoice = _G.ChannelSilenceVoice
+local ChannelToggleAnnouncements = _G.ChannelToggleAnnouncements
+local ChannelUnSilenceAll = _G.ChannelUnSilenceAll
+local ChannelUnSilenceVoice = _G.ChannelUnSilenceVoice
+local ChannelUnban = _G.ChannelUnban
+local ChannelUnmoderator = _G.ChannelUnmoderator
+local ChannelUnmute = _G.ChannelUnmute
+local ChannelVoiceOff = _G.ChannelVoiceOff
+local ChannelVoiceOn = _G.ChannelVoiceOn
+local CollapseChannelHeader = _G.CollapseChannelHeader
+local DeclineChannelInvite = _G.DeclineChannelInvite
+local DisplayChannelOwner = _G.DisplayChannelOwner
+local DisplayChannelVoiceOff = _G.DisplayChannelVoiceOff
+local DisplayChannelVoiceOn = _G.DisplayChannelVoiceOn
+local EnumerateServerChannels = _G.EnumerateServerChannels
+local ExpandChannelHeader = _G.ExpandChannelHeader
+local GetActiveVoiceChannel = _G.GetActiveVoiceChannel
+local GetChannelDisplayInfo = _G.GetChannelDisplayInfo
+local GetChannelList = _G.GetChannelList
+local GetChannelName = _G.GetChannelName
+local GetChannelRosterInfo = _G.GetChannelRosterInfo
+local GetChatWindowChannels = _G.GetChatWindowChannels
+local GetNumChannelMembers = _G.GetNumChannelMembers
+local GetNumDisplayChannels = _G.GetNumDisplayChannels
+local GetSelectedDisplayChannel = _G.GetSelectedDisplayChannel
+local IsDisplayChannelModerator = _G.IsDisplayChannelModerator
+local IsDisplayChannelOwner = _G.IsDisplayChannelOwner
+local IsSilenced = _G.IsSilenced
+local JoinChannelByName = _G.JoinChannelByName
+local JoinPermanentChannel = _G.JoinPermanentChannel
+local JoinTemporaryChannel = _G.JoinTemporaryChannel
+local LeaveChannelByName = _G.LeaveChannelByName
+local ListChannelByName = _G.ListChannelByName
+local ListChannels = _G.ListChannels
+local RemoveChatWindowChannel = _G.RemoveChatWindowChannel
+local SetActiveVoiceChannel = _G.SetActiveVoiceChannel
+local SetActiveVoiceChannelBySessionID = _G.SetActiveVoiceChannelBySessionID
+local SetChannelOwner = _G.SetChannelOwner
+local SetChannelPassword = _G.SetChannelPassword
+local SetSelectedDisplayChannel = _G.SetSelectedDisplayChannel
+
+--Chat functions
+
+local AddChatWindowChannel = _G.AddChatWindowChannel
+local AddChatWindowMessages = _G.AddChatWindowMessages
+local BNCreateConversation = _G.BNCreateConversation
+local CanComplainChat = _G.CanComplainChat
+local CancelEmote = _G.CancelEmote
+local ChangeChatColor = _G.ChangeChatColor
+local ChatFrame_AddMessageEventFilter = _G.ChatFrame_AddMessageEventFilter
+local ChatFrame_GetMessageEventFilters = _G.ChatFrame_GetMessageEventFilters
+local ChatFrame_RemoveMessageEventFilter = _G.ChatFrame_RemoveMessageEventFilter
+local ChatHistory_GetAccessID = _G.ChatHistory_GetAccessID
+local ChatHistory_GetChatType = _G.ChatHistory_GetChatType
+local DoEmote = _G.DoEmote
+local GetChatTypeIndex = _G.GetChatTypeIndex
+local GetChatWindowChannels = _G.GetChatWindowChannels
+local GetChatWindowInfo = _G.GetChatWindowInfo
+local GetChatWindowMessages = _G.GetChatWindowMessages
+local GetChatWindowSavedDimensions = _G.GetChatWindowSavedDimensions
+local GetChatWindowSavedPosition = _G.GetChatWindowSavedPosition
+local GetDefaultLanguage = _G.GetDefaultLanguage
+local GetLanguageByIndex = _G.GetLanguageByIndex
+local GetNumLanguages = _G.GetNumLanguages
+local LoggingChat = _G.LoggingChat
+local LoggingCombat = _G.LoggingCombat
+local RandomRoll = _G.RandomRoll
+local RemoveChatWindowChannel = _G.RemoveChatWindowChannel
+local RemoveChatWindowMessages = _G.RemoveChatWindowMessages
+local ResetChatColors = _G.ResetChatColors
+local ResetChatWindows = _G.ResetChatWindows
+local SendChatMessage = _G.SendChatMessage
+local SetChatColorNameByClass = _G.SetChatColorNameByClass
+local SetChatWindowAlpha = _G.SetChatWindowAlpha
+local SetChatWindowColor = _G.SetChatWindowColor
+local SetChatWindowDocked = _G.SetChatWindowDocked
+local SetChatWindowLocked = _G.SetChatWindowLocked
+local SetChatWindowName = _G.SetChatWindowName
+local SetChatWindowSavedDimensions = _G.SetChatWindowSavedDimensions
+local SetChatWindowSavedPosition = _G.SetChatWindowSavedPosition
+local SetChatWindowShown = _G.SetChatWindowShown
+local SetChatWindowSize = _G.SetChatWindowSize
+local SetChatWindowUninteractable = _G.SetChatWindowUninteractable
+
+--Class resource functions
+
+local DestroyTotem = _G.DestroyTotem
+local GetEclipseDirection = _G.GetEclipseDirection
+local GetRuneCooldown = _G.GetRuneCooldown
+local GetRuneCount = _G.GetRuneCount
+local GetRuneType = _G.GetRuneType
+local GetTotemInfo = _G.GetTotemInfo
+local GetTotemTimeLeft = _G.GetTotemTimeLeft
+local TargetTotem = _G.TargetTotem
+
+--Client control and information functions
+
+local CanUpgradeExpansion = _G.CanUpgradeExpansion
+local CancelLogout = _G.CancelLogout
+local ForceLogout = _G.ForceLogout
+local ForceQuit = _G.ForceQuit
+local GetAccountExpansionLevel = _G.GetAccountExpansionLevel
+local GetBuildInfo = _G.GetBuildInfo
+local GetExpansionLevel = _G.GetExpansionLevel
+local GetGameTime = _G.GetGameTime
+local GetLocale = _G.GetLocale
+local GetNetIpTypes = _G.GetNetIpTypes
+local GetNetStats = _G.GetNetStats
+local GetRestrictedAccountData = _G.GetRestrictedAccountData
+local GetSessionTime = _G.GetSessionTime
+local GetWorldElapsedTime = _G.GetWorldElapsedTime
+local GetWorldElapsedTimers = _G.GetWorldElapsedTimers
+local IsBlizzCon = _G.IsBlizzCon
+local IsCharacterNewlyBoosted = _G.IsCharacterNewlyBoosted
+local IsExpansionTrial = _G.IsExpansionTrial
+local IsLinuxClient = _G.IsLinuxClient
+local IsMacClient = _G.IsMacClient
+local IsOnGlueScreen = _G.IsOnGlueScreen
+local IsRestrictedAccount = _G.IsRestrictedAccount
+local IsTestBuild = _G.IsTestBuild
+local IsTrialAccount = _G.IsTrialAccount
+local IsWindowsClient = _G.IsWindowsClient
+local Logout = _G.Logout
+local NotWhileDeadError = _G.NotWhileDeadError
+local QueryWorldCountdownTimer = _G.QueryWorldCountdownTimer
+local Quit = _G.Quit
+local ReloadUI = _G.ReloadUI
+local Screenshot = _G.Screenshot
+local SetEuropeanNumbers = _G.SetEuropeanNumbers
+local SetUIVisibility = _G.SetUIVisibility
+
+--Combat functions
+
+local AttackTarget = _G.AttackTarget
+local StartAttack = _G.StartAttack
+local StopAttack = _G.StopAttack
+local UnitAffectingCombat = _G.UnitAffectingCombat
+
+--CombatLog functions
+
+local CombatLogAddFilter = _G.CombatLogAddFilter
+local CombatLogAdvanceEntry = _G.CombatLogAdvanceEntry
+local CombatLogClearEntries = _G.CombatLogClearEntries
+local CombatLogGetCurrentEntry = _G.CombatLogGetCurrentEntry
+local CombatLogGetNumEntries = _G.CombatLogGetNumEntries
+local CombatLogGetRetentionTime = _G.CombatLogGetRetentionTime
+local CombatLogResetFilter = _G.CombatLogResetFilter
+local CombatLogSetCurrentEntry = _G.CombatLogSetCurrentEntry
+local CombatLogSetRetentionTime = _G.CombatLogSetRetentionTime
+local CombatLog_Object_IsA = _G.CombatLog_Object_IsA
+local LoggingCombat = _G.LoggingCombat
+local UnitGUID = _G.UnitGUID
+
+--Commentator functions
+
+local CommentatorEnterInstance = _G.CommentatorEnterInstance
+local CommentatorExitInstance = _G.CommentatorExitInstance
+local CommentatorFollowPlayer = _G.CommentatorFollowPlayer
+local CommentatorFollowUnit = _G.CommentatorFollowUnit
+local CommentatorGetCamera = _G.CommentatorGetCamera
+local CommentatorGetCurrentMapID = _G.CommentatorGetCurrentMapID
+local CommentatorGetInstanceInfo = _G.CommentatorGetInstanceInfo
+local CommentatorGetMapInfo = _G.CommentatorGetMapInfo
+local CommentatorGetMode = _G.CommentatorGetMode
+local CommentatorGetNumMaps = _G.CommentatorGetNumMaps
+local CommentatorGetNumPlayers = _G.CommentatorGetNumPlayers
+local CommentatorGetPlayerInfo = _G.CommentatorGetPlayerInfo
+local CommentatorLookatPlayer = _G.CommentatorLookatPlayer
+local CommentatorSetCamera = _G.CommentatorSetCamera
+local CommentatorSetCameraCollision = _G.CommentatorSetCameraCollision
+local CommentatorSetMapAndInstanceIndex = _G.CommentatorSetMapAndInstanceIndex
+local CommentatorSetMode = _G.CommentatorSetMode
+local CommentatorSetMoveSpeed = _G.CommentatorSetMoveSpeed
+local CommentatorSetTargetHeightOffset = _G.CommentatorSetTargetHeightOffset
+local CommentatorStartWargame = _G.CommentatorStartWargame
+local CommentatorToggleMode = _G.CommentatorToggleMode
+local CommentatorUpdateMapInfo = _G.CommentatorUpdateMapInfo
+local CommentatorUpdatePlayerInfo = _G.CommentatorUpdatePlayerInfo
+local CommentatorZoomIn = _G.CommentatorZoomIn
+local CommentatorZoomOut = _G.CommentatorZoomOut
+
+--Companion functions
+
+local CallCompanion = _G.CallCompanion
+local DismissCompanion = _G.DismissCompanion
+local GetCompanionInfo = _G.GetCompanionInfo
+local GetNumCompanions = _G.GetNumCompanions
+local PickupCompanion = _G.PickupCompanion
+local SummonRandomCritter = _G.SummonRandomCritter
+
+--Complaint functions
+
+local CalendarContextEventCanComplain = _G.CalendarContextEventCanComplain
+local CalendarContextEventComplain = _G.CalendarContextEventComplain
+local CanComplainChat = _G.CanComplainChat
+local CanComplainInboxItem = _G.CanComplainInboxItem
+local ComplainInboxItem = _G.ComplainInboxItem
+local PlayerIsPVPInactive = _G.PlayerIsPVPInactive
+local ReportPlayer = _G.ReportPlayer
+local ReportPlayerIsPVPAFK = _G.ReportPlayerIsPVPAFK
+local SetPendingReportTarget = _G.SetPendingReportTarget
+
+--Container functions
+
+local ContainerIDToInventoryID = _G.ContainerIDToInventoryID
+local ContainerRefundItemPurchase = _G.ContainerRefundItemPurchase
+local EquipmentManager_UnpackLocation = _G.EquipmentManager_UnpackLocation
+local GetBackpackAutosortDisabled = _G.GetBackpackAutosortDisabled
+local GetBagName = _G.GetBagName
+local GetBagSlotFlag = _G.GetBagSlotFlag
+local GetContainerFreeSlots = _G.GetContainerFreeSlots
+local GetContainerItemCooldown = _G.GetContainerItemCooldown
+local GetContainerItemDurability = _G.GetContainerItemDurability
+local GetContainerItemEquipmentSetInfo = _G.GetContainerItemEquipmentSetInfo
+local GetContainerItemGems = _G.GetContainerItemGems
+local GetContainerItemID = _G.GetContainerItemID
+local GetContainerItemInfo = _G.GetContainerItemInfo
+local GetContainerItemLink = _G.GetContainerItemLink
+local GetContainerItemPurchaseCurrency = _G.GetContainerItemPurchaseCurrency
+local GetContainerItemPurchaseInfo = _G.GetContainerItemPurchaseInfo
+local GetContainerItemPurchaseItem = _G.GetContainerItemPurchaseItem
+local GetContainerItemQuestInfo = _G.GetContainerItemQuestInfo
+local GetContainerNumFreeSlots = _G.GetContainerNumFreeSlots
+local GetContainerNumSlots = _G.GetContainerNumSlots
+local GetItemFamily = _G.GetItemFamily
+local GetSortBagsRightToLeft = _G.GetSortBagsRightToLeft
+local IsBagSlotFlagEnabledOnOtherBags = _G.IsBagSlotFlagEnabledOnOtherBags
+local IsContainerFiltered = _G.IsContainerFiltered
+local PickupBagFromSlot = _G.PickupBagFromSlot
+local PickupContainerItem = _G.PickupContainerItem
+local PutItemInBackpack = _G.PutItemInBackpack
+local PutItemInBag = _G.PutItemInBag
+local SetBackpackAutosortDisabled = _G.SetBackpackAutosortDisabled
+local SetBagPortraitTexture = _G.SetBagPortraitTexture
+local SetBagSlotFlag = _G.SetBagSlotFlag
+local SetSortBagsRightToLeft = _G.SetSortBagsRightToLeft
+local SocketContainerItem = _G.SocketContainerItem
+local SortBags = _G.SortBags
+local SplitContainerItem = _G.SplitContainerItem
+local UseContainerItem = _G.UseContainerItem
+
+--Currency functions
+
+local ExpandCurrencyList = _G.ExpandCurrencyList
+local GetBackpackCurrencyInfo = _G.GetBackpackCurrencyInfo
+local GetContainerItemPurchaseCurrency = _G.GetContainerItemPurchaseCurrency
+local GetContainerItemPurchaseInfo = _G.GetContainerItemPurchaseInfo
+local GetContainerItemPurchaseItem = _G.GetContainerItemPurchaseItem
+local GetCurrencyInfo = _G.GetCurrencyInfo
+local GetCurrencyLink = _G.GetCurrencyLink
+local GetCurrencyListInfo = _G.GetCurrencyListInfo
+local GetCurrencyListLink = _G.GetCurrencyListLink
+local GetCurrencyListSize = _G.GetCurrencyListSize
+local GetHolidayBGHonorCurrencyBonuses = _G.GetHolidayBGHonorCurrencyBonuses
+local GetMaxArenaCurrency = _G.GetMaxArenaCurrency
+local GetMaxRewardCurrencies = _G.GetMaxRewardCurrencies
+local GetNumRewardCurrencies = _G.GetNumRewardCurrencies
+local GetPlayerTradeCurrency = _G.GetPlayerTradeCurrency
+local GetQuestCurrencyInfo = _G.GetQuestCurrencyInfo
+local GetRandomBGHonorCurrencyBonuses = _G.GetRandomBGHonorCurrencyBonuses
+local GetTargetTradeCurrency = _G.GetTargetTradeCurrency
+local PickupCurrency = _G.PickupCurrency
+local SetCurrencyBackpack = _G.SetCurrencyBackpack
+local SetCurrencyUnused = _G.SetCurrencyUnused
+local SetTradeCurrency = _G.SetTradeCurrency
+
+--Cursor functions
+
+local AddTradeMoney = _G.AddTradeMoney
+local AutoEquipCursorItem = _G.AutoEquipCursorItem
+local ClearCursor = _G.ClearCursor
+local ClickAuctionSellItemButton = _G.ClickAuctionSellItemButton
+local ClickSendMailItemButton = _G.ClickSendMailItemButton
+local ClickSocketButton = _G.ClickSocketButton
+local ClickTargetTradeButton = _G.ClickTargetTradeButton
+local ClickTradeButton = _G.ClickTradeButton
+local CursorCanGoInSlot = _G.CursorCanGoInSlot
+local CursorHasItem = _G.CursorHasItem
+local CursorHasMacro = _G.CursorHasMacro
+local CursorHasMoney = _G.CursorHasMoney
+local CursorHasSpell = _G.CursorHasSpell
+local DeleteCursorItem = _G.DeleteCursorItem
+local DropCursorMoney = _G.DropCursorMoney
+local DropItemOnUnit = _G.DropItemOnUnit
+local EquipCursorItem = _G.EquipCursorItem
+local GetCursorInfo = _G.GetCursorInfo
+local GetCursorMoney = _G.GetCursorMoney
+local GetCursorPosition = _G.GetCursorPosition
+local GetMouseFocus = _G.GetMouseFocus
+local HideRepairCursor = _G.HideRepairCursor
+local InRepairMode = _G.InRepairMode
+local PickupAction = _G.PickupAction
+local PickupBagFromSlot = _G.PickupBagFromSlot
+local PickupCompanion = _G.PickupCompanion
+local PickupContainerItem = _G.PickupContainerItem
+local PickupGuildBankItem = _G.PickupGuildBankItem
+local PickupGuildBankMoney = _G.PickupGuildBankMoney
+local PickupInventoryItem = _G.PickupInventoryItem
+local PickupItem = _G.PickupItem
+local PickupMacro = _G.PickupMacro
+local PickupMerchantItem = _G.PickupMerchantItem
+local PickupPetAction = _G.PickupPetAction
+local PickupPlayerMoney = _G.PickupPlayerMoney
+local PickupSpell = _G.PickupSpell
+local PickupStablePet = _G.PickupStablePet
+local PickupTradeMoney = _G.PickupTradeMoney
+local PlaceAction = _G.PlaceAction
+local PutItemInBackpack = _G.PutItemInBackpack
+local PutItemInBag = _G.PutItemInBag
+local ResetCursor = _G.ResetCursor
+local SetCursor = _G.SetCursor
+local ShowBuybackSellCursor = _G.ShowBuybackSellCursor
+local ShowContainerSellCursor = _G.ShowContainerSellCursor
+local ShowInventorySellCursor = _G.ShowInventorySellCursor
+local ShowMerchantSellCursor = _G.ShowMerchantSellCursor
+local ShowRepairCursor = _G.ShowRepairCursor
+local SplitContainerItem = _G.SplitContainerItem
+local SplitGuildBankItem = _G.SplitGuildBankItem
+
+--Debugging and Profiling functions
+
+local FrameXML_Debug = _G.FrameXML_Debug
+local GetAddOnCPUUsage = _G.GetAddOnCPUUsage
+local GetAddOnMemoryUsage = _G.GetAddOnMemoryUsage
+local GetDebugAnimationStats = _G.GetDebugAnimationStats
+local GetDebugSpellEffects = _G.GetDebugSpellEffects
+local GetEventCPUUsage = _G.GetEventCPUUsage
+local GetFrameCPUUsage = _G.GetFrameCPUUsage
+local GetFramerate = _G.GetFramerate
+local GetFunctionCPUUsage = _G.GetFunctionCPUUsage
+local GetNetStats = _G.GetNetStats
+local GetScriptCPUUsage = _G.GetScriptCPUUsage
+local GetTaxiBenchmarkMode = _G.GetTaxiBenchmarkMode
+local ResetCPUUsage = _G.ResetCPUUsage
+local SetTaxiBenchmarkMode = _G.SetTaxiBenchmarkMode
+local UpdateAddOnCPUUsage = _G.UpdateAddOnCPUUsage
+local UpdateAddOnMemoryUsage = _G.UpdateAddOnMemoryUsage
+local debugprofilestart = _G.debugprofilestart
+local debugprofilestop = _G.debugprofilestop
+local debugstack = _G.debugstack
+local geterrorhandler = _G.geterrorhandler
+local getprinthandler = _G.getprinthandler
+local issecurevariable = _G.issecurevariable
+local print = _G.print
+local print = _G.print
+local seterrorhandler = _G.seterrorhandler
+local setprinthandler = _G.setprinthandler
+local tostringall = _G.tostringall
+
+--Deprecated functions
+
+local ReportBug = _G.ReportBug
+local ReportSuggestion = _G.ReportSuggestion
+
+--Duel functions
+
+local AcceptDuel = _G.AcceptDuel
+local CancelDuel = _G.CancelDuel
+local StartDuel = _G.StartDuel
+
+--Equipment Manager functions
+
+local CanUseEquipmentSets = _G.CanUseEquipmentSets
+local DeleteEquipmentSet = _G.DeleteEquipmentSet
+local EquipmentManagerClearIgnoredSlotsForSave = _G.EquipmentManagerClearIgnoredSlotsForSave
+local EquipmentManagerIgnoreSlotForSave = _G.EquipmentManagerIgnoreSlotForSave
+local EquipmentManagerIsSlotIgnoredForSave = _G.EquipmentManagerIsSlotIgnoredForSave
+local EquipmentManagerUnignoreSlotForSave = _G.EquipmentManagerUnignoreSlotForSave
+local EquipmentManager_UnpackLocation = _G.EquipmentManager_UnpackLocation
+local EquipmentSetContainsLockedItems = _G.EquipmentSetContainsLockedItems
+local GetEquipmentSetIgnoreSlots = _G.GetEquipmentSetIgnoreSlots
+local GetEquipmentSetInfo = _G.GetEquipmentSetInfo
+local GetEquipmentSetInfoByName = _G.GetEquipmentSetInfoByName
+local GetEquipmentSetItemIDs = _G.GetEquipmentSetItemIDs
+local GetEquipmentSetLocations = _G.GetEquipmentSetLocations
+local GetNumEquipmentSets = _G.GetNumEquipmentSets
+local ModifyEquipmentSet = _G.ModifyEquipmentSet
+local PickupEquipmentSet = _G.PickupEquipmentSet
+local PickupEquipmentSetByName = _G.PickupEquipmentSetByName
+local SaveEquipmentSet = _G.SaveEquipmentSet
+local UseEquipmentSet = _G.UseEquipmentSet
+
+--Experience (XP) functions
+
+local GetRewardXP = _G.GetRewardXP
+local GetXPExhaustion = _G.GetXPExhaustion
+local IsXPUserDisabled = _G.IsXPUserDisabled
+local UnitXP = _G.UnitXP
+local UnitXPMax = _G.UnitXPMax
+
+--Faction functions
+
+local CollapseAllFactionHeaders = _G.CollapseAllFactionHeaders
+local CollapseFactionHeader = _G.CollapseFactionHeader
+local ExpandAllFactionHeaders = _G.ExpandAllFactionHeaders
+local ExpandFactionHeader = _G.ExpandFactionHeader
+local FactionToggleAtWar = _G.FactionToggleAtWar
+local GetBattlefieldArenaFaction = _G.GetBattlefieldArenaFaction
+local GetFactionInfo = _G.GetFactionInfo
+local GetFactionInfoByID = _G.GetFactionInfoByID
+local GetGuildFactionGroup = _G.GetGuildFactionGroup
+local GetGuildFactionInfo = _G.GetGuildFactionInfo
+local GetLFGBonusFactionID = _G.GetLFGBonusFactionID
+local GetNumFactions = _G.GetNumFactions
+local GetNumQuestLogRewardFactions = _G.GetNumQuestLogRewardFactions
+local GetQuestChoiceRewardFaction = _G.GetQuestChoiceRewardFaction
+local GetQuestFactionGroup = _G.GetQuestFactionGroup
+local GetQuestLogRewardFactionInfo = _G.GetQuestLogRewardFactionInfo
+local GetSelectedFaction = _G.GetSelectedFaction
+local GetWatchedFactionInfo = _G.GetWatchedFactionInfo
+local IsFactionInactive = _G.IsFactionInactive
+local NeutralPlayerSelectFaction = _G.NeutralPlayerSelectFaction
+local ProcessQuestLogRewardFactions = _G.ProcessQuestLogRewardFactions
+local SetFactionActive = _G.SetFactionActive
+local SetFactionInactive = _G.SetFactionInactive
+local SetLFGBonusFactionID = _G.SetLFGBonusFactionID
+local SetSelectedFaction = _G.SetSelectedFaction
+local SetWatchedFactionIndex = _G.SetWatchedFactionIndex
+local UnitFactionGroup = _G.UnitFactionGroup
+
+--Flyout button functions
+
+local FlyoutHasSpell = _G.FlyoutHasSpell
+local GetFlyoutID = _G.GetFlyoutID
+local GetFlyoutInfo = _G.GetFlyoutInfo
+local GetFlyoutSlotInfo = _G.GetFlyoutSlotInfo
+local GetNumFlyouts = _G.GetNumFlyouts
+
+--GM Survey functions
+
+local AcknowledgeSurvey = _G.AcknowledgeSurvey
+local GMSurveyAnswer = _G.GMSurveyAnswer
+local GMSurveyAnswerSubmit = _G.GMSurveyAnswerSubmit
+local GMSurveyCommentSubmit = _G.GMSurveyCommentSubmit
+local GMSurveyNumAnswers = _G.GMSurveyNumAnswers
+local GMSurveyQuestion = _G.GMSurveyQuestion
+local GMSurveySubmit = _G.GMSurveySubmit
+
+--GM Ticket functions
+
+local DeleteGMTicket = _G.DeleteGMTicket
+local GMEuropaBugsEnabled = _G.GMEuropaBugsEnabled
+local GMEuropaComplaintsEnabled = _G.GMEuropaComplaintsEnabled
+local GMEuropaSuggestionsEnabled = _G.GMEuropaSuggestionsEnabled
+local GMEuropaTicketsEnabled = _G.GMEuropaTicketsEnabled
+local GMItemRestorationButtonEnabled = _G.GMItemRestorationButtonEnabled
+local GMQuickTicketSystemEnabled = _G.GMQuickTicketSystemEnabled
+local GMQuickTicketSystemThrottled = _G.GMQuickTicketSystemThrottled
+local GMReportLag = _G.GMReportLag
+local GMResponseNeedMoreHelp = _G.GMResponseNeedMoreHelp
+local GMResponseResolve = _G.GMResponseResolve
+local GMSubmitBug = _G.GMSubmitBug
+local GMSubmitSuggestion = _G.GMSubmitSuggestion
+local GetGMStatus = _G.GetGMStatus
+local GetGMTicket = _G.GetGMTicket
+local GetGMTicketCategories = _G.GetGMTicketCategories
+local NewGMTicket = _G.NewGMTicket
+local Stuck = _G.Stuck
+local UpdateGMTicket = _G.UpdateGMTicket
+
+--Glyph functions
+
+local CastGlyph = _G.CastGlyph
+local CastGlyphByID = _G.CastGlyphByID
+local CastGlyphByName = _G.CastGlyphByName
+local GetGlyphClearInfo = _G.GetGlyphClearInfo
+local GetGlyphInfo = _G.GetGlyphInfo
+local GetGlyphLink = _G.GetGlyphLink
+local GetGlyphLinkByID = _G.GetGlyphLinkByID
+local GetGlyphSocketInfo = _G.GetGlyphSocketInfo
+local GetInspectGlyph = _G.GetInspectGlyph
+local GetNumGlyphSockets = _G.GetNumGlyphSockets
+local GetNumGlyphs = _G.GetNumGlyphs
+local GetSelectedGlyphSpellIndex = _G.GetSelectedGlyphSpellIndex
+local GlyphMatchesSocket = _G.GlyphMatchesSocket
+local IsGlyphFlagSet = _G.IsGlyphFlagSet
+local PlaceGlyphInSocket = _G.PlaceGlyphInSocket
+local RemoveGlyphFromSocket = _G.RemoveGlyphFromSocket
+local SetGlyphFilter = _G.SetGlyphFilter
+local SetGlyphNameFilter = _G.SetGlyphNameFilter
+local SpellCanTargetGlyph = _G.SpellCanTargetGlyph
+local ToggleGlyphFilter = _G.ToggleGlyphFilter
+
+--Guild bank functions
+
+local AutoStoreGuildBankItem = _G.AutoStoreGuildBankItem
+local BuyGuildBankTab = _G.BuyGuildBankTab
+local CanEditGuildBankTabInfo = _G.CanEditGuildBankTabInfo
+local CanEditGuildTabInfo = _G.CanEditGuildTabInfo
+local CanGuildBankRepair = _G.CanGuildBankRepair
+local CanWithdrawGuildBankMoney = _G.CanWithdrawGuildBankMoney
+local CloseGuildBankFrame = _G.CloseGuildBankFrame
+local DepositGuildBankMoney = _G.DepositGuildBankMoney
+local GetCurrentGuildBankTab = _G.GetCurrentGuildBankTab
+local GetGuildBankBonusDepositMoney = _G.GetGuildBankBonusDepositMoney
+local GetGuildBankItemInfo = _G.GetGuildBankItemInfo
+local GetGuildBankItemLink = _G.GetGuildBankItemLink
+local GetGuildBankMoney = _G.GetGuildBankMoney
+local GetGuildBankMoneyTransaction = _G.GetGuildBankMoneyTransaction
+local GetGuildBankTabCost = _G.GetGuildBankTabCost
+local GetGuildBankTabInfo = _G.GetGuildBankTabInfo
+local GetGuildBankTabPermissions = _G.GetGuildBankTabPermissions
+local GetGuildBankText = _G.GetGuildBankText
+local GetGuildBankTransaction = _G.GetGuildBankTransaction
+local GetGuildBankWithdrawGoldLimit = _G.GetGuildBankWithdrawGoldLimit
+local GetGuildBankWithdrawMoney = _G.GetGuildBankWithdrawMoney
+local GetNumGuildBankMoneyTransactions = _G.GetNumGuildBankMoneyTransactions
+local GetNumGuildBankTabs = _G.GetNumGuildBankTabs
+local GetNumGuildBankTransactions = _G.GetNumGuildBankTransactions
+local PickupGuildBankItem = _G.PickupGuildBankItem
+local PickupGuildBankMoney = _G.PickupGuildBankMoney
+local QueryGuildBankLog = _G.QueryGuildBankLog
+local QueryGuildBankTab = _G.QueryGuildBankTab
+local QueryGuildBankText = _G.QueryGuildBankText
+local SetCurrentGuildBankTab = _G.SetCurrentGuildBankTab
+local SetGuildBankTabInfo = _G.SetGuildBankTabInfo
+local SetGuildBankTabPermissions = _G.SetGuildBankTabPermissions
+local SetGuildBankText = _G.SetGuildBankText
+local SplitGuildBankItem = _G.SplitGuildBankItem
+local WithdrawGuildBankMoney = _G.WithdrawGuildBankMoney
+
+--Guild functions
+
+local AcceptGuild = _G.AcceptGuild
+local BuyGuildCharter = _G.BuyGuildCharter
+local CanEditGuildEvent = _G.CanEditGuildEvent
+local CanEditGuildInfo = _G.CanEditGuildInfo
+local CanEditMOTD = _G.CanEditMOTD
+local CanEditOfficerNote = _G.CanEditOfficerNote
+local CanEditPublicNote = _G.CanEditPublicNote
+local CanGuildDemote = _G.CanGuildDemote
+local CanGuildInvite = _G.CanGuildInvite
+local CanGuildPromote = _G.CanGuildPromote
+local CanGuildRemove = _G.CanGuildRemove
+local CanReplaceGuildMaster = _G.CanReplaceGuildMaster
+local CanViewGuildRecipes = _G.CanViewGuildRecipes
+local CanViewOfficerNote = _G.CanViewOfficerNote
+local CancelGuildMembershipRequest = _G.CancelGuildMembershipRequest
+local CloseGuildRegistrar = _G.CloseGuildRegistrar
+local CloseGuildRoster = _G.CloseGuildRoster
+local CloseTabardCreation = _G.CloseTabardCreation
+local CollapseGuildTradeSkillHeader = _G.CollapseGuildTradeSkillHeader
+local DeclineGuild = _G.DeclineGuild
+local DeclineGuildApplicant = _G.DeclineGuildApplicant
+local ExpandGuildTradeSkillHeader = _G.ExpandGuildTradeSkillHeader
+local GetAchievementGuildRep = _G.GetAchievementGuildRep
+local GetAutoDeclineGuildInvites = _G.GetAutoDeclineGuildInvites
+local GetGuildAchievementMemberInfo = _G.GetGuildAchievementMemberInfo
+local GetGuildAchievementMembers = _G.GetGuildAchievementMembers
+local GetGuildAchievementNumMembers = _G.GetGuildAchievementNumMembers
+local GetGuildApplicantInfo = _G.GetGuildApplicantInfo
+local GetGuildApplicantSelection = _G.GetGuildApplicantSelection
+local GetGuildCategoryList = _G.GetGuildCategoryList
+local GetGuildChallengeInfo = _G.GetGuildChallengeInfo
+local GetGuildCharterCost = _G.GetGuildCharterCost
+local GetGuildEventInfo = _G.GetGuildEventInfo
+local GetGuildExpirationTime = _G.GetGuildExpirationTime
+local GetGuildFactionGroup = _G.GetGuildFactionGroup
+local GetGuildFactionInfo = _G.GetGuildFactionInfo
+local GetGuildInfo = _G.GetGuildInfo
+local GetGuildInfoText = _G.GetGuildInfoText
+local GetGuildLevelEnabled = _G.GetGuildLevelEnabled
+local GetGuildLogoInfo = _G.GetGuildLogoInfo
+local GetGuildMemberRecipes = _G.GetGuildMemberRecipes
+local GetGuildMembershipRequestInfo = _G.GetGuildMembershipRequestInfo
+local GetGuildMembershipRequestSettings = _G.GetGuildMembershipRequestSettings
+local GetGuildNewsFilters = _G.GetGuildNewsFilters
+local GetGuildNewsInfo = _G.GetGuildNewsInfo
+local GetGuildNewsMemberName = _G.GetGuildNewsMemberName
+local GetGuildNewsSort = _G.GetGuildNewsSort
+local GetGuildPerkInfo = _G.GetGuildPerkInfo
+local GetGuildRecipeInfoPostQuery = _G.GetGuildRecipeInfoPostQuery
+local GetGuildRecipeMember = _G.GetGuildRecipeMember
+local GetGuildRecruitmentComment = _G.GetGuildRecruitmentComment
+local GetGuildRecruitmentSettings = _G.GetGuildRecruitmentSettings
+local GetGuildRenameRequired = _G.GetGuildRenameRequired
+local GetGuildRewardInfo = _G.GetGuildRewardInfo
+local GetGuildRosterInfo = _G.GetGuildRosterInfo
+local GetGuildRosterLargestAchievementPoints = _G.GetGuildRosterLargestAchievementPoints
+local GetGuildRosterLastOnline = _G.GetGuildRosterLastOnline
+local GetGuildRosterMOTD = _G.GetGuildRosterMOTD
+local GetGuildRosterSelection = _G.GetGuildRosterSelection
+local GetGuildRosterShowOffline = _G.GetGuildRosterShowOffline
+local GetGuildTabardFileNames = _G.GetGuildTabardFileNames
+local GetGuildTradeSkillInfo = _G.GetGuildTradeSkillInfo
+local GetInspectGuildInfo = _G.GetInspectGuildInfo
+local GetLookingForGuildComment = _G.GetLookingForGuildComment
+local GetLookingForGuildSettings = _G.GetLookingForGuildSettings
+local GetNumGuildApplicants = _G.GetNumGuildApplicants
+local GetNumGuildChallenges = _G.GetNumGuildChallenges
+local GetNumGuildEvents = _G.GetNumGuildEvents
+local GetNumGuildMembers = _G.GetNumGuildMembers
+local GetNumGuildMembershipRequests = _G.GetNumGuildMembershipRequests
+local GetNumGuildNews = _G.GetNumGuildNews
+local GetNumGuildPerks = _G.GetNumGuildPerks
+local GetNumGuildRewards = _G.GetNumGuildRewards
+local GetNumGuildTradeSkill = _G.GetNumGuildTradeSkill
+local GetNumMembersInRank = _G.GetNumMembersInRank
+local GetNumRecruitingGuilds = _G.GetNumRecruitingGuilds
+local GetRecruitingGuildInfo = _G.GetRecruitingGuildInfo
+local GetRecruitingGuildSelection = _G.GetRecruitingGuildSelection
+local GetRecruitingGuildSettings = _G.GetRecruitingGuildSettings
+local GetRecruitingGuildTabardInfo = _G.GetRecruitingGuildTabardInfo
+local GetTabardCreationCost = _G.GetTabardCreationCost
+local GetTabardInfo = _G.GetTabardInfo
+local GuildControlAddRank = _G.GuildControlAddRank
+local GuildControlDelRank = _G.GuildControlDelRank
+local GuildControlGetAllowedShifts = _G.GuildControlGetAllowedShifts
+local GuildControlGetNumRanks = _G.GuildControlGetNumRanks
+local GuildControlGetRankFlags = _G.GuildControlGetRankFlags
+local GuildControlGetRankName = _G.GuildControlGetRankName
+local GuildControlSaveRank = _G.GuildControlSaveRank
+local GuildControlSetRank = _G.GuildControlSetRank
+local GuildControlSetRankFlag = _G.GuildControlSetRankFlag
+local GuildControlShiftRankDown = _G.GuildControlShiftRankDown
+local GuildControlShiftRankUp = _G.GuildControlShiftRankUp
+local GuildDemote = _G.GuildDemote
+local GuildDisband = _G.GuildDisband
+local GuildInfo = _G.GuildInfo
+local GuildInvite = _G.GuildInvite
+local GuildLeave = _G.GuildLeave
+local GuildMasterAbsent = _G.GuildMasterAbsent
+local GuildNewsSetSticky = _G.GuildNewsSetSticky
+local GuildNewsSort = _G.GuildNewsSort
+local GuildPromote = _G.GuildPromote
+local GuildRoster = _G.GuildRoster
+local GuildRosterSendSoR = _G.GuildRosterSendSoR
+local GuildRosterSetOfficerNote = _G.GuildRosterSetOfficerNote
+local GuildRosterSetPublicNote = _G.GuildRosterSetPublicNote
+local GuildSetLeader = _G.GuildSetLeader
+local GuildSetMOTD = _G.GuildSetMOTD
+local GuildUninvite = _G.GuildUninvite
+local InGuildParty = _G.InGuildParty
+local IsGuildLeader = _G.IsGuildLeader
+local IsGuildRankAssignmentAllowed = _G.IsGuildRankAssignmentAllowed
+local IsInGuild = _G.IsInGuild
+local QueryGuildEventLog = _G.QueryGuildEventLog
+local QueryGuildMembersForRecipe = _G.QueryGuildMembersForRecipe
+local QueryGuildNews = _G.QueryGuildNews
+local QueryGuildRecipes = _G.QueryGuildRecipes
+local ReplaceGuildMaster = _G.ReplaceGuildMaster
+local RequestGuildApplicantsList = _G.RequestGuildApplicantsList
+local RequestGuildChallengeInfo = _G.RequestGuildChallengeInfo
+local RequestGuildMembership = _G.RequestGuildMembership
+local RequestGuildMembershipList = _G.RequestGuildMembershipList
+local RequestGuildPartyState = _G.RequestGuildPartyState
+local RequestGuildRecruitmentSettings = _G.RequestGuildRecruitmentSettings
+local RequestGuildRewards = _G.RequestGuildRewards
+local RequestRecruitingGuildsList = _G.RequestRecruitingGuildsList
+local SearchGuildRecipes = _G.SearchGuildRecipes
+local SetAutoDeclineGuildInvites = _G.SetAutoDeclineGuildInvites
+local SetGuildApplicantSelection = _G.SetGuildApplicantSelection
+local SetGuildBankTabItemWithdraw = _G.SetGuildBankTabItemWithdraw
+local SetGuildBankWithdrawGoldLimit = _G.SetGuildBankWithdrawGoldLimit
+local SetGuildInfoText = _G.SetGuildInfoText
+local SetGuildMemberRank = _G.SetGuildMemberRank
+local SetGuildNewsFilter = _G.SetGuildNewsFilter
+local SetGuildRecruitmentComment = _G.SetGuildRecruitmentComment
+local SetGuildRecruitmentSettings = _G.SetGuildRecruitmentSettings
+local SetGuildRosterSelection = _G.SetGuildRosterSelection
+local SetGuildRosterShowOffline = _G.SetGuildRosterShowOffline
+local SetGuildTradeSkillCategoryFilter = _G.SetGuildTradeSkillCategoryFilter
+local SetGuildTradeSkillItemNameFilter = _G.SetGuildTradeSkillItemNameFilter
+local SetLookingForGuildComment = _G.SetLookingForGuildComment
+local SetLookingForGuildSettings = _G.SetLookingForGuildSettings
+local SetRecruitingGuildSelection = _G.SetRecruitingGuildSelection
+local SortGuildRoster = _G.SortGuildRoster
+local SortGuildTradeSkill = _G.SortGuildTradeSkill
+local SubmitRequiredGuildRename = _G.SubmitRequiredGuildRename
+local TurnInGuildCharter = _G.TurnInGuildCharter
+local UnitIsInMyGuild = _G.UnitIsInMyGuild
+local ViewGuildRecipes = _G.ViewGuildRecipes
+
+--Hyperlink functions
+
+local GetAchievementLink = _G.GetAchievementLink
+local GetAuctionItemLink = _G.GetAuctionItemLink
+local GetBuybackItemLink = _G.GetBuybackItemLink
+local GetContainerItemLink = _G.GetContainerItemLink
+local GetExistingSocketLink = _G.GetExistingSocketLink
+local GetGlyphLink = _G.GetGlyphLink
+local GetGuildBankItemLink = _G.GetGuildBankItemLink
+local GetGuildBankTransaction = _G.GetGuildBankTransaction
+local GetInboxItemLink = _G.GetInboxItemLink
+local GetInventoryItemLink = _G.GetInventoryItemLink
+local GetItemGem = _G.GetItemGem
+local GetLootRollItemLink = _G.GetLootRollItemLink
+local GetLootSlotLink = _G.GetLootSlotLink
+local GetMacroItem = _G.GetMacroItem
+local GetMerchantItemLink = _G.GetMerchantItemLink
+local GetNewSocketLink = _G.GetNewSocketLink
+local GetQuestItemLink = _G.GetQuestItemLink
+local GetQuestLink = _G.GetQuestLink
+local GetQuestLogItemLink = _G.GetQuestLogItemLink
+local GetSendMailItemLink = _G.GetSendMailItemLink
+local GetSpellLink = _G.GetSpellLink
+local GetTalentLink = _G.GetTalentLink
+local GetTradePlayerItemLink = _G.GetTradePlayerItemLink
+local GetTradeSkillItemLink = _G.GetTradeSkillItemLink
+local GetTradeSkillListLink = _G.GetTradeSkillListLink
+local GetTradeSkillReagentItemLink = _G.GetTradeSkillReagentItemLink
+local GetTradeSkillRecipeLink = _G.GetTradeSkillRecipeLink
+local GetTradeTargetItemLink = _G.GetTradeTargetItemLink
+local GetTrainerServiceItemLink = _G.GetTrainerServiceItemLink
+local GetVoidItemHyperlinkString = _G.GetVoidItemHyperlinkString
+
+--In-game movie playback functions
+
+local CancelPreloadingMovie = _G.CancelPreloadingMovie
+local GameMovieFinished = _G.GameMovieFinished
+local GetMovieDownloadProgress = _G.GetMovieDownloadProgress
+local InCinematic = _G.InCinematic
+local IsMovieLocal = _G.IsMovieLocal
+local IsMoviePlayable = _G.IsMoviePlayable
+local OpeningCinematic = _G.OpeningCinematic
+local PreloadMovie = _G.PreloadMovie
+local StopCinematic = _G.StopCinematic
+
+--Inspect functions
+
+local CanInspect = _G.CanInspect
+local ClearInspectPlayer = _G.ClearInspectPlayer
+local GetInspectArenaData = _G.GetInspectArenaData
+local GetInspectHonorData = _G.GetInspectHonorData
+local GetInspectRatedBGData = _G.GetInspectRatedBGData
+local GetInspectSpecialization = _G.GetInspectSpecialization
+local GetInspectTalent = _G.GetInspectTalent
+local HasInspectHonorData = _G.HasInspectHonorData
+local NotifyInspect = _G.NotifyInspect
+local RequestInspectHonorData = _G.RequestInspectHonorData
+
+--Instance functions
+
+local CanShowResetInstances = _G.CanShowResetInstances
+local GetInstanceBootTimeRemaining = _G.GetInstanceBootTimeRemaining
+local GetInstanceInfo = _G.GetInstanceInfo
+local GetInstanceLockTimeRemaining = _G.GetInstanceLockTimeRemaining
+local GetInstanceLockTimeRemainingEncounter = _G.GetInstanceLockTimeRemainingEncounter
+local GetLevelUpInstances = _G.GetLevelUpInstances
+local GetNumSavedInstances = _G.GetNumSavedInstances
+local GetNumWorldStateUI = _G.GetNumWorldStateUI
+local GetRFDungeonInfo = _G.GetRFDungeonInfo
+local GetSavedInstanceEncounterInfo = _G.GetSavedInstanceEncounterInfo
+local GetSavedInstanceInfo = _G.GetSavedInstanceInfo
+local GetWorldStateUIInfo = _G.GetWorldStateUIInfo
+local IsEncounterInProgress = _G.IsEncounterInProgress
+local IsInInstance = _G.IsInInstance
+local IsLegacyDifficulty = _G.IsLegacyDifficulty
+local RequestRaidInfo = _G.RequestRaidInfo
+local RequestRandomBattlegroundInstanceInfo = _G.RequestRandomBattlegroundInstanceInfo
+local ResetInstances = _G.ResetInstances
+local RespondInstanceLock = _G.RespondInstanceLock
+local SetSavedInstanceExtend = _G.SetSavedInstanceExtend
+
+--Inventory functions
+
+local AutoEquipCursorItem = _G.AutoEquipCursorItem
+local BankButtonIDToInvSlotID = _G.BankButtonIDToInvSlotID
+local CancelPendingEquip = _G.CancelPendingEquip
+local ContainerIDToInventoryID = _G.ContainerIDToInventoryID
+local CursorCanGoInSlot = _G.CursorCanGoInSlot
+local EquipCursorItem = _G.EquipCursorItem
+local EquipItemByName = _G.EquipItemByName
+local EquipPendingItem = _G.EquipPendingItem
+local EquipmentManager_UnpackLocation = _G.EquipmentManager_UnpackLocation
+local GetInventoryAlertStatus = _G.GetInventoryAlertStatus
+local GetInventoryItemBroken = _G.GetInventoryItemBroken
+local GetInventoryItemCooldown = _G.GetInventoryItemCooldown
+local GetInventoryItemCount = _G.GetInventoryItemCount
+local GetInventoryItemDurability = _G.GetInventoryItemDurability
+local GetInventoryItemEquippedUnusable = _G.GetInventoryItemEquippedUnusable
+local GetInventoryItemGems = _G.GetInventoryItemGems
+local GetInventoryItemID = _G.GetInventoryItemID
+local GetInventoryItemLink = _G.GetInventoryItemLink
+local GetInventoryItemQuality = _G.GetInventoryItemQuality
+local GetInventoryItemTexture = _G.GetInventoryItemTexture
+local GetInventoryItemsForSlot = _G.GetInventoryItemsForSlot
+local GetInventorySlotInfo = _G.GetInventorySlotInfo
+local IsEquippedItem = _G.IsEquippedItem
+local IsEquippedItemType = _G.IsEquippedItemType
+local IsInventoryItemLocked = _G.IsInventoryItemLocked
+local IsInventoryItemProfessionBag = _G.IsInventoryItemProfessionBag
+local PickupInventoryItem = _G.PickupInventoryItem
+local SetInventoryPortraitTexture = _G.SetInventoryPortraitTexture
+local SocketInventoryItem = _G.SocketInventoryItem
+local UpdateInventoryAlertStatus = _G.UpdateInventoryAlertStatus
+local UseInventoryItem = _G.UseInventoryItem
+
+--Item Text functions
+
+local CloseItemText = _G.CloseItemText
+local ItemTextGetCreator = _G.ItemTextGetCreator
+local ItemTextGetItem = _G.ItemTextGetItem
+local ItemTextGetMaterial = _G.ItemTextGetMaterial
+local ItemTextGetPage = _G.ItemTextGetPage
+local ItemTextGetText = _G.ItemTextGetText
+local ItemTextHasNextPage = _G.ItemTextHasNextPage
+local ItemTextNextPage = _G.ItemTextNextPage
+local ItemTextPrevPage = _G.ItemTextPrevPage
+
+--Item Upgrade functions
+
+local ClearItemUpgrade = _G.ClearItemUpgrade
+local GetItemLevelIncrement = _G.GetItemLevelIncrement
+local GetItemUpdateLevel = _G.GetItemUpdateLevel
+local GetItemUpgradeItemInfo = _G.GetItemUpgradeItemInfo
+local GetItemUpgradeStats = _G.GetItemUpgradeStats
+local SetItemUpgradeFromCursorItem = _G.SetItemUpgradeFromCursorItem
+local UpgradeItem = _G.UpgradeItem
+
+--Item functions
+
+local BindEnchant = _G.BindEnchant
+local CancelPendingEquip = _G.CancelPendingEquip
+local CloseItemUpgrade = _G.CloseItemUpgrade
+local ConfirmBindOnUse = _G.ConfirmBindOnUse
+local CursorHasItem = _G.CursorHasItem
+local DeleteCursorItem = _G.DeleteCursorItem
+local EndBoundTradeable = _G.EndBoundTradeable
+local EndRefund = _G.EndRefund
+local EquipItemByName = _G.EquipItemByName
+local EquipPendingItem = _G.EquipPendingItem
+local GetExtendedItemInfo = _G.GetExtendedItemInfo
+local GetInventoryItemEquippedUnusable = _G.GetInventoryItemEquippedUnusable
+local GetItemCooldown = _G.GetItemCooldown
+local GetItemCount = _G.GetItemCount
+local GetItemFamily = _G.GetItemFamily
+local GetItemGem = _G.GetItemGem
+local GetItemIcon = _G.GetItemIcon
+local GetItemInfo = _G.GetItemInfo
+local GetItemQualityColor = _G.GetItemQualityColor
+local GetItemSpecInfo = _G.GetItemSpecInfo
+local GetItemSpell = _G.GetItemSpell
+local GetItemStatDelta = _G.GetItemStatDelta
+local GetItemStats = _G.GetItemStats
+local GetItemUniqueness = _G.GetItemUniqueness
+local GetItemUpgradeEffect = _G.GetItemUpgradeEffect
+local GetLootRollItemInfo = _G.GetLootRollItemInfo
+local GetLootRollItemLink = _G.GetLootRollItemLink
+local GetMacroItem = _G.GetMacroItem
+local GetNumItemUpgradeEffects = _G.GetNumItemUpgradeEffects
+local GetNumLootItems = _G.GetNumLootItems
+local IsBattlePayItem = _G.IsBattlePayItem
+local IsConsumableItem = _G.IsConsumableItem
+local IsCurrentItem = _G.IsCurrentItem
+local IsDressableItem = _G.IsDressableItem
+local IsEquippableItem = _G.IsEquippableItem
+local IsEquippedItem = _G.IsEquippedItem
+local IsEquippedItemType = _G.IsEquippedItemType
+local IsHarmfulItem = _G.IsHarmfulItem
+local IsHelpfulItem = _G.IsHelpfulItem
+local IsInventoryItemProfessionBag = _G.IsInventoryItemProfessionBag
+local IsItemInRange = _G.IsItemInRange
+local IsUsableItem = _G.IsUsableItem
+local ItemHasRange = _G.ItemHasRange
+local PickupItem = _G.PickupItem
+local ReplaceEnchant = _G.ReplaceEnchant
+local SetBindingItem = _G.SetBindingItem
+local SetInsertItemsLeftToRight = _G.SetInsertItemsLeftToRight
+local SetItemSearch = _G.SetItemSearch
+local SetMacroItem = _G.SetMacroItem
+local SetOverrideBindingItem = _G.SetOverrideBindingItem
+local SpellCanTargetItem = _G.SpellCanTargetItem
+local SpellTargetItem = _G.SpellTargetItem
+local UseItemByName = _G.UseItemByName
+
+--Keybind functions
+
+local ClearOverrideBindings = _G.ClearOverrideBindings
+local GetBinding = _G.GetBinding
+local GetBindingAction = _G.GetBindingAction
+local GetBindingByKey = _G.GetBindingByKey
+local GetBindingKey = _G.GetBindingKey
+local GetCurrentBindingSet = _G.GetCurrentBindingSet
+local GetNumBindings = _G.GetNumBindings
+local LoadBindings = _G.LoadBindings
+local RunBinding = _G.RunBinding
+local SaveBindings = _G.SaveBindings
+local SetBinding = _G.SetBinding
+local SetBindingClick = _G.SetBindingClick
+local SetBindingItem = _G.SetBindingItem
+local SetBindingMacro = _G.SetBindingMacro
+local SetBindingSpell = _G.SetBindingSpell
+local SetMouselookOverrideBinding = _G.SetMouselookOverrideBinding
+local SetOverrideBinding = _G.SetOverrideBinding
+local SetOverrideBindingClick = _G.SetOverrideBindingClick
+local SetOverrideBindingItem = _G.SetOverrideBindingItem
+local SetOverrideBindingMacro = _G.SetOverrideBindingMacro
+local SetOverrideBindingSpell = _G.SetOverrideBindingSpell
+
+--Keyboard functions
+
+local GetCurrentKeyBoardFocus = _G.GetCurrentKeyBoardFocus
+local IsAltKeyDown = _G.IsAltKeyDown
+local IsControlKeyDown = _G.IsControlKeyDown
+local IsLeftAltKeyDown = _G.IsLeftAltKeyDown
+local IsLeftControlKeyDown = _G.IsLeftControlKeyDown
+local IsLeftShiftKeyDown = _G.IsLeftShiftKeyDown
+local IsModifierKeyDown = _G.IsModifierKeyDown
+local IsRightAltKeyDown = _G.IsRightAltKeyDown
+local IsRightControlKeyDown = _G.IsRightControlKeyDown
+local IsRightShiftKeyDown = _G.IsRightShiftKeyDown
+local IsShiftKeyDown = _G.IsShiftKeyDown
+
+--Knowledge-base functions
+
+local KBArticle_BeginLoading = _G.KBArticle_BeginLoading
+local KBArticle_GetData = _G.KBArticle_GetData
+local KBArticle_IsLoaded = _G.KBArticle_IsLoaded
+local KBQuery_BeginLoading = _G.KBQuery_BeginLoading
+local KBQuery_GetArticleHeaderCount = _G.KBQuery_GetArticleHeaderCount
+local KBQuery_GetArticleHeaderData = _G.KBQuery_GetArticleHeaderData
+local KBQuery_GetTotalArticleCount = _G.KBQuery_GetTotalArticleCount
+local KBQuery_IsLoaded = _G.KBQuery_IsLoaded
+local KBSetup_BeginLoading = _G.KBSetup_BeginLoading
+local KBSetup_GetArticleHeaderCount = _G.KBSetup_GetArticleHeaderCount
+local KBSetup_GetArticleHeaderData = _G.KBSetup_GetArticleHeaderData
+local KBSetup_GetCategoryCount = _G.KBSetup_GetCategoryCount
+local KBSetup_GetCategoryData = _G.KBSetup_GetCategoryData
+local KBSetup_GetLanguageCount = _G.KBSetup_GetLanguageCount
+local KBSetup_GetLanguageData = _G.KBSetup_GetLanguageData
+local KBSetup_GetSubCategoryCount = _G.KBSetup_GetSubCategoryCount
+local KBSetup_GetSubCategoryData = _G.KBSetup_GetSubCategoryData
+local KBSetup_GetTotalArticleCount = _G.KBSetup_GetTotalArticleCount
+local KBSetup_IsLoaded = _G.KBSetup_IsLoaded
+local KBSystem_GetMOTD = _G.KBSystem_GetMOTD
+local KBSystem_GetServerNotice = _G.KBSystem_GetServerNotice
+local KBSystem_GetServerStatus = _G.KBSystem_GetServerStatus
+
+--Limited play time functions
+
+local GetBillingTimeRested = _G.GetBillingTimeRested
+local NoPlayTime = _G.NoPlayTime
+local PartialPlayTime = _G.PartialPlayTime
+
+--Locale-specific functions
+
+local DeclineName = _G.DeclineName
+local FillLocalizedClassList = _G.FillLocalizedClassList
+local GetAvailableLocales = _G.GetAvailableLocales
+local GetLocale = _G.GetLocale
+local GetNumDeclensionSets = _G.GetNumDeclensionSets
+local GetOSLocale = _G.GetOSLocale
+
+--Looking for group functions
+
+local AcceptProposal = _G.AcceptProposal
+local CanPartyLFGBackfill = _G.CanPartyLFGBackfill
+local ClearAllLFGDungeons = _G.ClearAllLFGDungeons
+local CompleteLFGRoleCheck = _G.CompleteLFGRoleCheck
+local GetBestRFChoice = _G.GetBestRFChoice
+local GetLFDChoiceCollapseState = _G.GetLFDChoiceCollapseState
+local GetLFDChoiceEnabledState = _G.GetLFDChoiceEnabledState
+local GetLFDChoiceLockedState = _G.GetLFDChoiceLockedState
+local GetLFDChoiceOrder = _G.GetLFDChoiceOrder
+local GetLFDLockInfo = _G.GetLFDLockInfo
+local GetLFDLockPlayerCount = _G.GetLFDLockPlayerCount
+local GetLFDRoleLockInfo = _G.GetLFDRoleLockInfo
+local GetLFDRoleRestrictions = _G.GetLFDRoleRestrictions
+local GetLFGBonusFactionID = _G.GetLFGBonusFactionID
+local GetLFGBootProposal = _G.GetLFGBootProposal
+local GetLFGCategoryForID = _G.GetLFGCategoryForID
+local GetLFGCompletionReward = _G.GetLFGCompletionReward
+local GetLFGCompletionRewardItem = _G.GetLFGCompletionRewardItem
+local GetLFGDeserterExpiration = _G.GetLFGDeserterExpiration
+local GetLFGDungeonEncounterInfo = _G.GetLFGDungeonEncounterInfo
+local GetLFGDungeonInfo = _G.GetLFGDungeonInfo
+local GetLFGDungeonNumEncounters = _G.GetLFGDungeonNumEncounters
+local GetLFGDungeonRewardCapBarInfo = _G.GetLFGDungeonRewardCapBarInfo
+local GetLFGDungeonRewardCapInfo = _G.GetLFGDungeonRewardCapInfo
+local GetLFGDungeonRewardInfo = _G.GetLFGDungeonRewardInfo
+local GetLFGDungeonRewardLink = _G.GetLFGDungeonRewardLink
+local GetLFGDungeonRewards = _G.GetLFGDungeonRewards
+local GetLFGDungeonShortageRewardInfo = _G.GetLFGDungeonShortageRewardInfo
+local GetLFGDungeonShortageRewardLink = _G.GetLFGDungeonShortageRewardLink
+local GetLFGInfoServer = _G.GetLFGInfoServer
+local GetLFGInviteRoleAvailability = _G.GetLFGInviteRoleAvailability
+local GetLFGInviteRoleRestrictions = _G.GetLFGInviteRoleRestrictions
+local GetLFGMode = _G.GetLFGMode
+local GetLFGProposal = _G.GetLFGProposal
+local GetLFGProposalEncounter = _G.GetLFGProposalEncounter
+local GetLFGProposalMember = _G.GetLFGProposalMember
+local GetLFGQueueStats = _G.GetLFGQueueStats
+local GetLFGQueuedList = _G.GetLFGQueuedList
+local GetLFGRandomCooldownExpiration = _G.GetLFGRandomCooldownExpiration
+local GetLFGRandomDungeonInfo = _G.GetLFGRandomDungeonInfo
+local GetLFGRoleShortageRewards = _G.GetLFGRoleShortageRewards
+local GetLFGRoleUpdate = _G.GetLFGRoleUpdate
+local GetLFGRoleUpdateBattlegroundInfo = _G.GetLFGRoleUpdateBattlegroundInfo
+local GetLFGRoleUpdateMember = _G.GetLFGRoleUpdateMember
+local GetLFGRoleUpdateSlot = _G.GetLFGRoleUpdateSlot
+local GetLFGRoles = _G.GetLFGRoles
+local GetLFGSuspendedPlayers = _G.GetLFGSuspendedPlayers
+local GetLFGTypes = _G.GetLFGTypes
+local GetLFRChoiceOrder = _G.GetLFRChoiceOrder
+local GetNumRFDungeons = _G.GetNumRFDungeons
+local GetPartyLFGBackfillInfo = _G.GetPartyLFGBackfillInfo
+local GetPartyLFGID = _G.GetPartyLFGID
+local GetRandomDungeonBestChoice = _G.GetRandomDungeonBestChoice
+local HasLFGRestrictions = _G.HasLFGRestrictions
+local IsInLFGDungeon = _G.IsInLFGDungeon
+local IsLFGComplete = _G.IsLFGComplete
+local IsLFGDungeonJoinable = _G.IsLFGDungeonJoinable
+local IsPartyLFG = _G.IsPartyLFG
+local JoinLFG = _G.JoinLFG
+local JoinSingleLFG = _G.JoinSingleLFG
+local LFGTeleport = _G.LFGTeleport
+local LeaveLFG = _G.LeaveLFG
+local LeaveSingleLFG = _G.LeaveSingleLFG
+local PartyLFGStartBackfill = _G.PartyLFGStartBackfill
+local RefreshLFGList = _G.RefreshLFGList
+local RejectProposal = _G.RejectProposal
+local RequestLFDPartyLockInfo = _G.RequestLFDPartyLockInfo
+local RequestLFDPlayerLockInfo = _G.RequestLFDPlayerLockInfo
+local SearchLFGGetEncounterResults = _G.SearchLFGGetEncounterResults
+local SearchLFGGetJoinedID = _G.SearchLFGGetJoinedID
+local SearchLFGGetNumResults = _G.SearchLFGGetNumResults
+local SearchLFGGetPartyResults = _G.SearchLFGGetPartyResults
+local SearchLFGGetResults = _G.SearchLFGGetResults
+local SearchLFGJoin = _G.SearchLFGJoin
+local SearchLFGLeave = _G.SearchLFGLeave
+local SearchLFGSort = _G.SearchLFGSort
+local SetLFGBonusFactionID = _G.SetLFGBonusFactionID
+local SetLFGBootVote = _G.SetLFGBootVote
+local SetLFGComment = _G.SetLFGComment
+local SetLFGDungeon = _G.SetLFGDungeon
+local SetLFGDungeonEnabled = _G.SetLFGDungeonEnabled
+local SetLFGHeaderCollapsed = _G.SetLFGHeaderCollapsed
+local SetLFGRoles = _G.SetLFGRoles
+local UninviteUnit = _G.UninviteUnit
+local UnitHasLFGDeserter = _G.UnitHasLFGDeserter
+local UnitHasLFGRandomCooldown = _G.UnitHasLFGRandomCooldown
+
+--Loot functions
+
+local C_LootHistory.CanMasterLoot = _G.C_LootHistory.CanMasterLoot
+local C_LootHistory.GetExpiration = _G.C_LootHistory.GetExpiration
+local C_LootHistory.GetItem = _G.C_LootHistory.GetItem
+local C_LootHistory.GetNumItems = _G.C_LootHistory.GetNumItems
+local C_LootHistory.GetPlayerInfo = _G.C_LootHistory.GetPlayerInfo
+local C_LootHistory.GiveMasterLoot = _G.C_LootHistory.GiveMasterLoot
+local C_LootHistory.SetExpiration = _G.C_LootHistory.SetExpiration
+local CanLootUnit = _G.CanLootUnit
+local CancelMasterLootRoll = _G.CancelMasterLootRoll
+local ClearMissingLootDisplay = _G.ClearMissingLootDisplay
+local CloseLoot = _G.CloseLoot
+local ConfirmLootRoll = _G.ConfirmLootRoll
+local ConfirmLootSlot = _G.ConfirmLootSlot
+local DoMasterLootRoll = _G.DoMasterLootRoll
+local GetActiveLootRollIDs = _G.GetActiveLootRollIDs
+local GetLootInfo = _G.GetLootInfo
+local GetLootMethod = _G.GetLootMethod
+local GetLootRollItemInfo = _G.GetLootRollItemInfo
+local GetLootRollItemLink = _G.GetLootRollItemLink
+local GetLootRollTimeLeft = _G.GetLootRollTimeLeft
+local GetLootSlotInfo = _G.GetLootSlotInfo
+local GetLootSlotLink = _G.GetLootSlotLink
+local GetLootSlotType = _G.GetLootSlotType
+local GetLootSourceInfo = _G.GetLootSourceInfo
+local GetLootSpecialization = _G.GetLootSpecialization
+local GetLootThreshold = _G.GetLootThreshold
+local GetMasterLootCandidate = _G.GetMasterLootCandidate
+local GetMissingLootItemInfo = _G.GetMissingLootItemInfo
+local GetMissingLootItemLink = _G.GetMissingLootItemLink
+local GetNumLootItems = _G.GetNumLootItems
+local GetNumMissingLootItems = _G.GetNumMissingLootItems
+local GetOptOutOfLoot = _G.GetOptOutOfLoot
+local GiveMasterLoot = _G.GiveMasterLoot
+local IsFishingLoot = _G.IsFishingLoot
+local IsMasterLooter = _G.IsMasterLooter
+local LootSlot = _G.LootSlot
+local LootSlotHasItem = _G.LootSlotHasItem
+local RollOnLoot = _G.RollOnLoot
+local SetLootMethod = _G.SetLootMethod
+local SetLootPortrait = _G.SetLootPortrait
+local SetLootSpecialization = _G.SetLootSpecialization
+local SetLootThreshold = _G.SetLootThreshold
+local SetOptOutOfLoot = _G.SetOptOutOfLoot
+
+--Lua library functions
+
+local acos = _G.acos
+local acos = _G.acos
+local asin = _G.asin
+local asin = _G.asin
+local assert = _G.assert
+local atan = _G.atan
+local atan = _G.atan
+local ceil = _G.ceil
+local collectgarbage = _G.collectgarbage
+local cos = _G.cos
+local date = _G.date
+local difftime = _G.difftime
+local error = _G.error
+local fastrandom = _G.fastrandom
+local floor = _G.floor
+local foreach = _G.foreach
+local foreachi = _G.foreachi
+local format = _G.format
+local frexp = _G.frexp
+local gcinfo = _G.gcinfo
+local getfenv = _G.getfenv
+local getmetatable = _G.getmetatable
+local getn = _G.getn
+local gmatch = _G.gmatch
+local gsub = _G.gsub
+local ipairs = _G.ipairs
+local ldexp = _G.ldexp
+local loadstring = _G.loadstring
+local next = _G.next
+local pairs = _G.pairs
+local pcall = _G.pcall
+local random = _G.random
+local rawequal = _G.rawequal
+local rawget = _G.rawget
+local rawset = _G.rawset
+local select = _G.select
+local setfenv = _G.setfenv
+local setmetatable = _G.setmetatable
+local sin = _G.sin
+local sort = _G.sort
+local sqrt = _G.sqrt
+local tContains = _G.tContains
+local tDelete = _G.tDelete
+local tan = _G.tan
+local time = _G.time
+local tonumber = _G.tonumber
+local tostring = _G.tostring
+local type = _G.type
+local unpack = _G.unpack
+local xpcall = _G.xpcall
+
+--Mac client functions
+
+local IsMacClient = _G.IsMacClient
+local MacOptions_AreOSShortcutsDisabled = _G.MacOptions_AreOSShortcutsDisabled
+local MacOptions_GetGameBundleName = _G.MacOptions_GetGameBundleName
+local MacOptions_HasNewStyleUniversalAccess = _G.MacOptions_HasNewStyleUniversalAccess
+local MacOptions_IsUniversalAccessEnabled = _G.MacOptions_IsUniversalAccessEnabled
+local MacOptions_OpenUniversalAccess = _G.MacOptions_OpenUniversalAccess
+local MacOptions_SetOSShortcutsDisabled = _G.MacOptions_SetOSShortcutsDisabled
+local MovieRecording_Cancel = _G.MovieRecording_Cancel
+local MovieRecording_DataRate = _G.MovieRecording_DataRate
+local MovieRecording_DeleteMovie = _G.MovieRecording_DeleteMovie
+local MovieRecording_GetAspectRatio = _G.MovieRecording_GetAspectRatio
+local MovieRecording_GetFullWidth = _G.MovieRecording_GetFullWidth
+local MovieRecording_GetHalfWidth = _G.MovieRecording_GetHalfWidth
+local MovieRecording_GetMovieFullPath = _G.MovieRecording_GetMovieFullPath
+local MovieRecording_GetProgress = _G.MovieRecording_GetProgress
+local MovieRecording_GetQuarterWidth = _G.MovieRecording_GetQuarterWidth
+local MovieRecording_GetSelectedWidth = _G.MovieRecording_GetSelectedWidth
+local MovieRecording_GetTime = _G.MovieRecording_GetTime
+local MovieRecording_GetViewportWidth = _G.MovieRecording_GetViewportWidth
+local MovieRecording_GetWidthAt = _G.MovieRecording_GetWidthAt
+local MovieRecording_GetWidthCount = _G.MovieRecording_GetWidthCount
+local MovieRecording_IsCodecSupported = _G.MovieRecording_IsCodecSupported
+local MovieRecording_IsCompressing = _G.MovieRecording_IsCompressing
+local MovieRecording_IsCursorRecordingSupported = _G.MovieRecording_IsCursorRecordingSupported
+local MovieRecording_IsRecording = _G.MovieRecording_IsRecording
+local MovieRecording_IsSupported = _G.MovieRecording_IsSupported
+local MovieRecording_LoadSelectedWidth = _G.MovieRecording_LoadSelectedWidth
+local MovieRecording_MaxLength = _G.MovieRecording_MaxLength
+local MovieRecording_QueueMovieToCompress = _G.MovieRecording_QueueMovieToCompress
+local MovieRecording_SaveSelectedWidth = _G.MovieRecording_SaveSelectedWidth
+local MovieRecording_SearchUncompressedMovie = _G.MovieRecording_SearchUncompressedMovie
+local MovieRecording_SetSelectedWidth = _G.MovieRecording_SetSelectedWidth
+local MovieRecording_Toggle = _G.MovieRecording_Toggle
+local MovieRecording_ToggleGUI = _G.MovieRecording_ToggleGUI
+local MusicPlayer_BackTrack = _G.MusicPlayer_BackTrack
+local MusicPlayer_NextTrack = _G.MusicPlayer_NextTrack
+local MusicPlayer_PlayPause = _G.MusicPlayer_PlayPause
+local MusicPlayer_VolumeDown = _G.MusicPlayer_VolumeDown
+local MusicPlayer_VolumeUp = _G.MusicPlayer_VolumeUp
+
+--Macro functions
+
+local CreateMacro = _G.CreateMacro
+local CursorHasMacro = _G.CursorHasMacro
+local DeleteMacro = _G.DeleteMacro
+local EditMacro = _G.EditMacro
+local GetLooseMacroIcons = _G.GetLooseMacroIcons
+local GetLooseMacroItemIcons = _G.GetLooseMacroItemIcons
+local GetMacroBody = _G.GetMacroBody
+local GetMacroIcons = _G.GetMacroIcons
+local GetMacroIndexByName = _G.GetMacroIndexByName
+local GetMacroInfo = _G.GetMacroInfo
+local GetMacroItem = _G.GetMacroItem
+local GetMacroItemIcons = _G.GetMacroItemIcons
+local GetMacroSpell = _G.GetMacroSpell
+local GetNumMacros = _G.GetNumMacros
+local GetRunningMacro = _G.GetRunningMacro
+local GetRunningMacroButton = _G.GetRunningMacroButton
+local PickupMacro = _G.PickupMacro
+local RunMacro = _G.RunMacro
+local RunMacroText = _G.RunMacroText
+local SecureCmdOptionParse = _G.SecureCmdOptionParse
+local SetMacroItem = _G.SetMacroItem
+local SetMacroSpell = _G.SetMacroSpell
+local StopMacro = _G.StopMacro
+
+--Mail functions
+
+local AutoLootMailItem = _G.AutoLootMailItem
+local CanComplainInboxItem = _G.CanComplainInboxItem
+local CheckInbox = _G.CheckInbox
+local ClearSendMail = _G.ClearSendMail
+local ClickSendMailItemButton = _G.ClickSendMailItemButton
+local CloseMail = _G.CloseMail
+local ComplainInboxItem = _G.ComplainInboxItem
+local DeleteInboxItem = _G.DeleteInboxItem
+local GetInboxHeaderInfo = _G.GetInboxHeaderInfo
+local GetInboxInvoiceInfo = _G.GetInboxInvoiceInfo
+local GetInboxItem = _G.GetInboxItem
+local GetInboxItemLink = _G.GetInboxItemLink
+local GetInboxNumItems = _G.GetInboxNumItems
+local GetInboxText = _G.GetInboxText
+local GetLatestThreeSenders = _G.GetLatestThreeSenders
+local GetNumPackages = _G.GetNumPackages
+local GetNumStationeries = _G.GetNumStationeries
+local GetPackageInfo = _G.GetPackageInfo
+local GetSelectedStationeryTexture = _G.GetSelectedStationeryTexture
+local GetSendMailCOD = _G.GetSendMailCOD
+local GetSendMailItem = _G.GetSendMailItem
+local GetSendMailItemLink = _G.GetSendMailItemLink
+local GetSendMailMoney = _G.GetSendMailMoney
+local GetSendMailPrice = _G.GetSendMailPrice
+local GetStationeryInfo = _G.GetStationeryInfo
+local HasNewMail = _G.HasNewMail
+local InboxItemCanDelete = _G.InboxItemCanDelete
+local RespondMailLockSendItem = _G.RespondMailLockSendItem
+local ReturnInboxItem = _G.ReturnInboxItem
+local SelectPackage = _G.SelectPackage
+local SelectStationery = _G.SelectStationery
+local SendMail = _G.SendMail
+local SetSendMailCOD = _G.SetSendMailCOD
+local SetSendMailMoney = _G.SetSendMailMoney
+local SetSendMailShowing = _G.SetSendMailShowing
+local TakeInboxItem = _G.TakeInboxItem
+local TakeInboxMoney = _G.TakeInboxMoney
+local TakeInboxTextItem = _G.TakeInboxTextItem
+
+--Map functions
+
+local C_MapBar.BarIsShown = _G.C_MapBar.BarIsShown
+local C_MapBar.GetCurrentValue = _G.C_MapBar.GetCurrentValue
+local C_MapBar.GetMaxValue = _G.C_MapBar.GetMaxValue
+local C_MapBar.GetParticipationPercentage = _G.C_MapBar.GetParticipationPercentage
+local C_MapBar.GetPhaseIndex = _G.C_MapBar.GetPhaseIndex
+local C_MapBar.GetTag = _G.C_MapBar.GetTag
+local ClickLandmark = _G.ClickLandmark
+local DungeonUsesTerrainMap = _G.DungeonUsesTerrainMap
+local GetAreaMapInfo = _G.GetAreaMapInfo
+local GetAreaMaps = _G.GetAreaMaps
+local GetBattlefieldVehicleInfo = _G.GetBattlefieldVehicleInfo
+local GetContinentMapInfo = _G.GetContinentMapInfo
+local GetContinentMaps = _G.GetContinentMaps
+local GetCorpseMapPosition = _G.GetCorpseMapPosition
+local GetCurrentMapAreaID = _G.GetCurrentMapAreaID
+local GetCurrentMapContinent = _G.GetCurrentMapContinent
+local GetCurrentMapDungeonLevel = _G.GetCurrentMapDungeonLevel
+local GetCurrentMapHeaderIndex = _G.GetCurrentMapHeaderIndex
+local GetCurrentMapLevelRange = _G.GetCurrentMapLevelRange
+local GetCurrentMapZone = _G.GetCurrentMapZone
+local GetDeathReleasePosition = _G.GetDeathReleasePosition
+local GetDungeonMapInfo = _G.GetDungeonMapInfo
+local GetDungeonMaps = _G.GetDungeonMaps
+local GetMapContinents = _G.GetMapContinents
+local GetMapHierarchy = _G.GetMapHierarchy
+local GetMapInfo = _G.GetMapInfo
+local GetMapLandmarkInfo = _G.GetMapLandmarkInfo
+local GetMapNameByID = _G.GetMapNameByID
+local GetMapOverlayInfo = _G.GetMapOverlayInfo
+local GetMapSubzones = _G.GetMapSubzones
+local GetMapZones = _G.GetMapZones
+local GetNumBattlefieldVehicles = _G.GetNumBattlefieldVehicles
+local GetNumDungeonMapLevels = _G.GetNumDungeonMapLevels
+local GetNumMapLandmarks = _G.GetNumMapLandmarks
+local GetNumMapOverlays = _G.GetNumMapOverlays
+local GetPOITextureCoords = _G.GetPOITextureCoords
+local GetPlayerFacing = _G.GetPlayerFacing
+local GetPlayerMapPosition = _G.GetPlayerMapPosition
+local GetWorldLocFromMapPos = _G.GetWorldLocFromMapPos
+local GetWorldMapTransformInfo = _G.GetWorldMapTransformInfo
+local GetWorldMapTransforms = _G.GetWorldMapTransforms
+local InitWorldMapPing = _G.InitWorldMapPing
+local IsMapGarrisonMap = _G.IsMapGarrisonMap
+local ProcessMapClick = _G.ProcessMapClick
+local QuestPOIGetIconInfo = _G.QuestPOIGetIconInfo
+local RefreshWorldMap = _G.RefreshWorldMap
+local SetDungeonMapLevel = _G.SetDungeonMapLevel
+local SetMapByID = _G.SetMapByID
+local SetMapToCurrentZone = _G.SetMapToCurrentZone
+local SetMapZoom = _G.SetMapZoom
+local UnitDistanceSquared = _G.UnitDistanceSquared
+local UpdateMapHighlight = _G.UpdateMapHighlight
+local UpdateWorldMapArrow = _G.UpdateWorldMapArrow
+local ZoomOut = _G.ZoomOut
+
+--Merchant functions
+
+local BuyMerchantItem = _G.BuyMerchantItem
+local BuybackItem = _G.BuybackItem
+local CanMapChangeDifficulty = _G.CanMapChangeDifficulty
+local CanMerchantRepair = _G.CanMerchantRepair
+local CloseMerchant = _G.CloseMerchant
+local ContainerRefundItemPurchase = _G.ContainerRefundItemPurchase
+local EndBoundTradeable = _G.EndBoundTradeable
+local EndRefund = _G.EndRefund
+local GetBuybackItemInfo = _G.GetBuybackItemInfo
+local GetBuybackItemLink = _G.GetBuybackItemLink
+local GetContainerItemPurchaseInfo = _G.GetContainerItemPurchaseInfo
+local GetContainerItemPurchaseItem = _G.GetContainerItemPurchaseItem
+local GetMerchantCurrencies = _G.GetMerchantCurrencies
+local GetMerchantFilter = _G.GetMerchantFilter
+local GetMerchantItemCostInfo = _G.GetMerchantItemCostInfo
+local GetMerchantItemCostItem = _G.GetMerchantItemCostItem
+local GetMerchantItemInfo = _G.GetMerchantItemInfo
+local GetMerchantItemLink = _G.GetMerchantItemLink
+local GetMerchantItemMaxStack = _G.GetMerchantItemMaxStack
+local GetMerchantNumItems = _G.GetMerchantNumItems
+local GetNumBuybackItems = _G.GetNumBuybackItems
+local GetRepairAllCost = _G.GetRepairAllCost
+local InRepairMode = _G.InRepairMode
+local PickupMerchantItem = _G.PickupMerchantItem
+local RepairAllItems = _G.RepairAllItems
+local ResetSetMerchantFilter = _G.ResetSetMerchantFilter
+local SetMerchantFilter = _G.SetMerchantFilter
+local ShowContainerSellCursor = _G.ShowContainerSellCursor
+local ShowRepairCursor = _G.ShowRepairCursor
+
+--Modified click functions
+
+local GetModifiedClick = _G.GetModifiedClick
+local GetModifiedClickAction = _G.GetModifiedClickAction
+local GetNumModifiedClickActions = _G.GetNumModifiedClickActions
+local IsModifiedClick = _G.IsModifiedClick
+local SetModifiedClick = _G.SetModifiedClick
+
+--Money functions
+
+local AddTradeMoney = _G.AddTradeMoney
+local CanWithdrawGuildBankMoney = _G.CanWithdrawGuildBankMoney
+local CursorHasMoney = _G.CursorHasMoney
+local DepositGuildBankMoney = _G.DepositGuildBankMoney
+local DropCursorMoney = _G.DropCursorMoney
+local GetCoinIcon = _G.GetCoinIcon
+local GetCoinText = _G.GetCoinText
+local GetCoinTextureString = _G.GetCoinTextureString
+local GetCursorMoney = _G.GetCursorMoney
+local GetMoney = _G.GetMoney
+local GetPlayerTradeMoney = _G.GetPlayerTradeMoney
+local GetQuestLogRequiredMoney = _G.GetQuestLogRequiredMoney
+local GetQuestLogRewardMoney = _G.GetQuestLogRewardMoney
+local GetSendMailMoney = _G.GetSendMailMoney
+local GetTargetTradeMoney = _G.GetTargetTradeMoney
+local PickupGuildBankMoney = _G.PickupGuildBankMoney
+local PickupPlayerMoney = _G.PickupPlayerMoney
+local PickupTradeMoney = _G.PickupTradeMoney
+local SetSendMailMoney = _G.SetSendMailMoney
+local SetTradeMoney = _G.SetTradeMoney
+local WithdrawGuildBankMoney = _G.WithdrawGuildBankMoney
+
+--Movement functions
+
+local AscendStop = _G.AscendStop
+local DescendStop = _G.DescendStop
+local FollowUnit = _G.FollowUnit
+local InteractUnit = _G.InteractUnit
+local JumpOrAscendStart = _G.JumpOrAscendStart
+local MoveAndSteerStart = _G.MoveAndSteerStart
+local MoveAndSteerStop = _G.MoveAndSteerStop
+local MoveBackwardStart = _G.MoveBackwardStart
+local MoveBackwardStop = _G.MoveBackwardStop
+local MoveForwardStart = _G.MoveForwardStart
+local MoveForwardStop = _G.MoveForwardStop
+local PitchDownStart = _G.PitchDownStart
+local PitchDownStop = _G.PitchDownStop
+local PitchUpStart = _G.PitchUpStart
+local PitchUpStop = _G.PitchUpStop
+local SitStandOrDescendStart = _G.SitStandOrDescendStart
+local StrafeLeftStart = _G.StrafeLeftStart
+local StrafeLeftStop = _G.StrafeLeftStop
+local StrafeRightStart = _G.StrafeRightStart
+local StrafeRightStop = _G.StrafeRightStop
+local ToggleAutoRun = _G.ToggleAutoRun
+local ToggleRun = _G.ToggleRun
+local TurnLeftStart = _G.TurnLeftStart
+local TurnLeftStop = _G.TurnLeftStop
+local TurnOrActionStart = _G.TurnOrActionStart
+local TurnOrActionStop = _G.TurnOrActionStop
+local TurnRightStart = _G.TurnRightStart
+local TurnRightStop = _G.TurnRightStop
+local CloseGossip = _G.CloseGossip
+local ForceGossip = _G.ForceGossip
+local GetGossipActiveQuests = _G.GetGossipActiveQuests
+local GetGossipAvailableQuests = _G.GetGossipAvailableQuests
+local GetGossipOptions = _G.GetGossipOptions
+local GetGossipText = _G.GetGossipText
+local GetNumGossipActiveQuests = _G.GetNumGossipActiveQuests
+local GetNumGossipAvailableQuests = _G.GetNumGossipAvailableQuests
+local GetNumGossipOptions = _G.GetNumGossipOptions
+local SelectGossipActiveQuest = _G.SelectGossipActiveQuest
+local SelectGossipAvailableQuest = _G.SelectGossipAvailableQuest
+local SelectGossipOption = _G.SelectGossipOption
+
+--Objectives tracking functions
+
+local AddAutoQuestPopUp = _G.AddAutoQuestPopUp
+local AddQuestWatch = _G.AddQuestWatch
+local AddTrackedAchievement = _G.AddTrackedAchievement
+local GetAutoQuestPopUp = _G.GetAutoQuestPopUp
+local GetNumAutoQuestPopUps = _G.GetNumAutoQuestPopUps
+local GetNumQuestWatches = _G.GetNumQuestWatches
+local GetNumTrackedAchievements = _G.GetNumTrackedAchievements
+local GetQuestIndexForWatch = _G.GetQuestIndexForWatch
+local GetQuestLogSpecialItemCooldown = _G.GetQuestLogSpecialItemCooldown
+local GetQuestLogSpecialItemInfo = _G.GetQuestLogSpecialItemInfo
+local GetQuestWatchIndex = _G.GetQuestWatchIndex
+local GetTrackedAchievements = _G.GetTrackedAchievements
+local IsQuestLogSpecialItemInRange = _G.IsQuestLogSpecialItemInRange
+local IsQuestWatched = _G.IsQuestWatched
+local IsTrackedAchievement = _G.IsTrackedAchievement
+local RemoveAutoQuestPopUp = _G.RemoveAutoQuestPopUp
+local RemoveQuestWatch = _G.RemoveQuestWatch
+local RemoveTrackedAchievement = _G.RemoveTrackedAchievement
+local SortQuestWatches = _G.SortQuestWatches
+local UseQuestLogSpecialItem = _G.UseQuestLogSpecialItem
+
+--Party functions
+
+local AcceptGroup = _G.AcceptGroup
+local ClearPartyAssignment = _G.ClearPartyAssignment
+local ConfirmReadyCheck = _G.ConfirmReadyCheck
+local ConvertToParty = _G.ConvertToParty
+local ConvertToRaid = _G.ConvertToRaid
+local DeclineGroup = _G.DeclineGroup
+local DoReadyCheck = _G.DoReadyCheck
+local GetHomePartyInfo = _G.GetHomePartyInfo
+local GetNumGroupMembers = _G.GetNumGroupMembers
+local GetPartyAssignment = _G.GetPartyAssignment
+local GetReadyCheckStatus = _G.GetReadyCheckStatus
+local GetReadyCheckTimeLeft = _G.GetReadyCheckTimeLeft
+local InGuildParty = _G.InGuildParty
+local InviteUnit = _G.InviteUnit
+local IsInGroup = _G.IsInGroup
+local IsInRaid = _G.IsInRaid
+local LeaveParty = _G.LeaveParty
+local PromoteToLeader = _G.PromoteToLeader
+local RequestLFDPartyLockInfo = _G.RequestLFDPartyLockInfo
+local SetPartyAssignment = _G.SetPartyAssignment
+local TargetNearestPartyMember = _G.TargetNearestPartyMember
+local UninviteUnit = _G.UninviteUnit
+local UnitGetAvailableRoles = _G.UnitGetAvailableRoles
+local UnitInOtherParty = _G.UnitInOtherParty
+local UnitInParty = _G.UnitInParty
+local UnitIsGroupLeader = _G.UnitIsGroupLeader
+local UnitPlayerOrPetInParty = _G.UnitPlayerOrPetInParty
+local UnitSetRole = _G.UnitSetRole
+
+--Pet Stable functions
+
+local ClosePetStables = _G.ClosePetStables
+local GetStablePetFoodTypes = _G.GetStablePetFoodTypes
+local GetStablePetInfo = _G.GetStablePetInfo
+local IsAtStableMaster = _G.IsAtStableMaster
+local PickupStablePet = _G.PickupStablePet
+local SetPetStablePaperdoll = _G.SetPetStablePaperdoll
+
+--Pet battles functions
+
+local C_PetBattles.AcceptPVPDuel = _G.C_PetBattles.AcceptPVPDuel
+local C_PetBattles.AcceptQueuedPVPMatch = _G.C_PetBattles.AcceptQueuedPVPMatch
+local C_PetBattles.CanAcceptQueuedPVPMatch = _G.C_PetBattles.CanAcceptQueuedPVPMatch
+local C_PetBattles.CanActivePetSwapOut = _G.C_PetBattles.CanActivePetSwapOut
+local C_PetBattles.CanPetSwapIn = _G.C_PetBattles.CanPetSwapIn
+local C_PetBattles.CancelPVPDuel = _G.C_PetBattles.CancelPVPDuel
+local C_PetBattles.ChangePet = _G.C_PetBattles.ChangePet
+local C_PetBattles.DeclineQueuedPVPMatch = _G.C_PetBattles.DeclineQueuedPVPMatch
+local C_PetBattles.ForfeitGame = _G.C_PetBattles.ForfeitGame
+local C_PetBattles.GetAbilityEffectInfo = _G.C_PetBattles.GetAbilityEffectInfo
+local C_PetBattles.GetAbilityInfo = _G.C_PetBattles.GetAbilityInfo
+local C_PetBattles.GetAbilityInfoByID = _G.C_PetBattles.GetAbilityInfoByID
+local C_PetBattles.GetAbilityProcTurnIndex = _G.C_PetBattles.GetAbilityProcTurnIndex
+local C_PetBattles.GetAbilityState = _G.C_PetBattles.GetAbilityState
+local C_PetBattles.GetAbilityStateModification = _G.C_PetBattles.GetAbilityStateModification
+local C_PetBattles.GetActivePet = _G.C_PetBattles.GetActivePet
+local C_PetBattles.GetAllEffectNames = _G.C_PetBattles.GetAllEffectNames
+local C_PetBattles.GetAllStates = _G.C_PetBattles.GetAllStates
+local C_PetBattles.GetAttackModifier = _G.C_PetBattles.GetAttackModifier
+local C_PetBattles.GetAuraInfo = _G.C_PetBattles.GetAuraInfo
+local C_PetBattles.GetBattleState = _G.C_PetBattles.GetBattleState
+local C_PetBattles.GetBreedQuality = _G.C_PetBattles.GetBreedQuality
+local C_PetBattles.GetDisplayID = _G.C_PetBattles.GetDisplayID
+local C_PetBattles.GetForfeitPenalty = _G.C_PetBattles.GetForfeitPenalty
+local C_PetBattles.GetHealth = _G.C_PetBattles.GetHealth
+local C_PetBattles.GetIcon = _G.C_PetBattles.GetIcon
+local C_PetBattles.GetLevel = _G.C_PetBattles.GetLevel
+local C_PetBattles.GetMaxHealth = _G.C_PetBattles.GetMaxHealth
+local C_PetBattles.GetName = _G.C_PetBattles.GetName
+local C_PetBattles.GetNumAuras = _G.C_PetBattles.GetNumAuras
+local C_PetBattles.GetNumPets = _G.C_PetBattles.GetNumPets
+local C_PetBattles.GetPVPMatchmakingInfo = _G.C_PetBattles.GetPVPMatchmakingInfo
+local C_PetBattles.GetPetSpeciesID = _G.C_PetBattles.GetPetSpeciesID
+local C_PetBattles.GetPetType = _G.C_PetBattles.GetPetType
+local C_PetBattles.GetPlayerTrapAbility = _G.C_PetBattles.GetPlayerTrapAbility
+local C_PetBattles.GetPower = _G.C_PetBattles.GetPower
+local C_PetBattles.GetSelectedAction = _G.C_PetBattles.GetSelectedAction
+local C_PetBattles.GetSpeed = _G.C_PetBattles.GetSpeed
+local C_PetBattles.GetStateValue = _G.C_PetBattles.GetStateValue
+local C_PetBattles.GetTurnTimeInfo = _G.C_PetBattles.GetTurnTimeInfo
+local C_PetBattles.GetXP = _G.C_PetBattles.GetXP
+local C_PetBattles.IsInBattle = _G.C_PetBattles.IsInBattle
+local C_PetBattles.IsPlayerNPC = _G.C_PetBattles.IsPlayerNPC
+local C_PetBattles.IsSkipAvailable = _G.C_PetBattles.IsSkipAvailable
+local C_PetBattles.IsTrapAvailable = _G.C_PetBattles.IsTrapAvailable
+local C_PetBattles.IsWaitingOnOpponent = _G.C_PetBattles.IsWaitingOnOpponent
+local C_PetBattles.IsWildBattle = _G.C_PetBattles.IsWildBattle
+local C_PetBattles.SetPendingReportBattlePetTarget = _G.C_PetBattles.SetPendingReportBattlePetTarget
+local C_PetBattles.SetPendingReportTargetFromUnit = _G.C_PetBattles.SetPendingReportTargetFromUnit
+local C_PetBattles.ShouldShowPetSelect = _G.C_PetBattles.ShouldShowPetSelect
+local C_PetBattles.SkipTurn = _G.C_PetBattles.SkipTurn
+local C_PetBattles.StartPVPDuel = _G.C_PetBattles.StartPVPDuel
+local C_PetBattles.StartPVPMatchmaking = _G.C_PetBattles.StartPVPMatchmaking
+local C_PetBattles.StopPVPMatchmaking = _G.C_PetBattles.StopPVPMatchmaking
+local C_PetBattles.UseAbility = _G.C_PetBattles.UseAbility
+local C_PetBattles.UseTrap = _G.C_PetBattles.UseTrap
+local C_PetJournal.AddAllPetSourcesFilter = _G.C_PetJournal.AddAllPetSourcesFilter
+local C_PetJournal.AddAllPetTypesFilter = _G.C_PetJournal.AddAllPetTypesFilter
+local C_PetJournal.CagePetByID = _G.C_PetJournal.CagePetByID
+local C_PetJournal.ClearAllPetSourcesFilter = _G.C_PetJournal.ClearAllPetSourcesFilter
+local C_PetJournal.ClearAllPetTypesFilter = _G.C_PetJournal.ClearAllPetTypesFilter
+local C_PetJournal.ClearSearchFilter = _G.C_PetJournal.ClearSearchFilter
+local C_PetJournal.FindPetIDByName = _G.C_PetJournal.FindPetIDByName
+local C_PetJournal.GetBattlePetLink = _G.C_PetJournal.GetBattlePetLink
+local C_PetJournal.GetNumCollectedInfo = _G.C_PetJournal.GetNumCollectedInfo
+local C_PetJournal.GetNumPetSources = _G.C_PetJournal.GetNumPetSources
+local C_PetJournal.GetNumPetTypes = _G.C_PetJournal.GetNumPetTypes
+local C_PetJournal.GetNumPets = _G.C_PetJournal.GetNumPets
+local C_PetJournal.GetOwnedBattlePetString = _G.C_PetJournal.GetOwnedBattlePetString
+local C_PetJournal.GetPetAbilityInfo = _G.C_PetJournal.GetPetAbilityInfo
+local C_PetJournal.GetPetAbilityList = _G.C_PetJournal.GetPetAbilityList
+local C_PetJournal.GetPetCooldownByGUID = _G.C_PetJournal.GetPetCooldownByGUID
+local C_PetJournal.GetPetInfoByIndex = _G.C_PetJournal.GetPetInfoByIndex
+local C_PetJournal.GetPetInfoBySpeciesID = _G.C_PetJournal.GetPetInfoBySpeciesID
+local C_PetJournal.GetPetSortParameter = _G.C_PetJournal.GetPetSortParameter
+local C_PetJournal.GetPetTeamAverageLevel = _G.C_PetJournal.GetPetTeamAverageLevel
+local C_PetJournal.GetSummonedPetGUID = _G.C_PetJournal.GetSummonedPetGUID
+local C_PetJournal.IsFindBattleEnabled = _G.C_PetJournal.IsFindBattleEnabled
+local C_PetJournal.IsFlagFiltered = _G.C_PetJournal.IsFlagFiltered
+local C_PetJournal.IsJournalReadOnly = _G.C_PetJournal.IsJournalReadOnly
+local C_PetJournal.IsJournalUnlocked = _G.C_PetJournal.IsJournalUnlocked
+local C_PetJournal.IsPetSourceFiltered = _G.C_PetJournal.IsPetSourceFiltered
+local C_PetJournal.IsPetTypeFiltered = _G.C_PetJournal.IsPetTypeFiltered
+local C_PetJournal.PetCanBeReleased = _G.C_PetJournal.PetCanBeReleased
+local C_PetJournal.PetIsCapturable = _G.C_PetJournal.PetIsCapturable
+local C_PetJournal.PetIsFavorite = _G.C_PetJournal.PetIsFavorite
+local C_PetJournal.PetIsHurt = _G.C_PetJournal.PetIsHurt
+local C_PetJournal.PetIsLockedForConvert = _G.C_PetJournal.PetIsLockedForConvert
+local C_PetJournal.PetIsRevoked = _G.C_PetJournal.PetIsRevoked
+local C_PetJournal.PetIsSlotted = _G.C_PetJournal.PetIsSlotted
+local C_PetJournal.PetIsSummonable = _G.C_PetJournal.PetIsSummonable
+local C_PetJournal.PetIsTradable = _G.C_PetJournal.PetIsTradable
+local C_PetJournal.PickupPet = _G.C_PetJournal.PickupPet
+local C_PetJournal.ReleasePetByID = _G.C_PetJournal.ReleasePetByID
+local C_PetJournal.SetCustomName = _G.C_PetJournal.SetCustomName
+local C_PetJournal.SetFavorite = _G.C_PetJournal.SetFavorite
+local C_PetJournal.SetFlagFilter = _G.C_PetJournal.SetFlagFilter
+local C_PetJournal.SetPetSortParameter = _G.C_PetJournal.SetPetSortParameter
+local C_PetJournal.SetPetSourceFilter = _G.C_PetJournal.SetPetSourceFilter
+local C_PetJournal.SetPetTypeFilter = _G.C_PetJournal.SetPetTypeFilter
+local C_PetJournal.SetSearchFilter = _G.C_PetJournal.SetSearchFilter
+local C_PetJournal.SummonPetByGUID = _G.C_PetJournal.SummonPetByGUID
+local C_PetJournal.SummonRandomPet = _G.C_PetJournal.SummonRandomPet
+local CanTrackBattlePets = _G.CanTrackBattlePets
+local GetAuctionItemBattlePetInfo = _G.GetAuctionItemBattlePetInfo
+local IsTrackingBattlePets = _G.IsTrackingBattlePets
+local UnitBattlePetLevel = _G.UnitBattlePetLevel
+local UnitBattlePetSpeciesID = _G.UnitBattlePetSpeciesID
+local UnitBattlePetType = _G.UnitBattlePetType
+local UnitIsBattlePet = _G.UnitIsBattlePet
+local UnitIsBattlePetCompanion = _G.UnitIsBattlePetCompanion
+local UnitIsOtherPlayersBattlePet = _G.UnitIsOtherPlayersBattlePet
+local UnitIsWildBattlePet = _G.UnitIsWildBattlePet
+
+--Pet functions
+
+local CastPetAction = _G.CastPetAction
+local DestroyTotem = _G.DestroyTotem
+local DisableSpellAutocast = _G.DisableSpellAutocast
+local EnableSpellAutocast = _G.EnableSpellAutocast
+local GetCallPetSpellInfo = _G.GetCallPetSpellInfo
+local GetPetActionCooldown = _G.GetPetActionCooldown
+local GetPetActionInfo = _G.GetPetActionInfo
+local GetPetActionSlotUsable = _G.GetPetActionSlotUsable
+local GetPetActionsUsable = _G.GetPetActionsUsable
+local GetPetExperience = _G.GetPetExperience
+local GetPetFoodTypes = _G.GetPetFoodTypes
+local GetPetIcon = _G.GetPetIcon
+local GetPetMeleeHaste = _G.GetPetMeleeHaste
+local GetPetSpellBonusDamage = _G.GetPetSpellBonusDamage
+local GetPetTalentTree = _G.GetPetTalentTree
+local GetPetTimeRemaining = _G.GetPetTimeRemaining
+local GetTotemInfo = _G.GetTotemInfo
+local GetTotemTimeLeft = _G.GetTotemTimeLeft
+local HasPetSpells = _G.HasPetSpells
+local HasPetUI = _G.HasPetUI
+local IsPetActive = _G.IsPetActive
+local IsPetAttackAction = _G.IsPetAttackAction
+local IsPetAttackActive = _G.IsPetAttackActive
+local PetAbandon = _G.PetAbandon
+local PetAggressiveMode = _G.PetAggressiveMode
+local PetAssistMode = _G.PetAssistMode
+local PetAttack = _G.PetAttack
+local PetCanBeAbandoned = _G.PetCanBeAbandoned
+local PetCanBeDismissed = _G.PetCanBeDismissed
+local PetCanBeRenamed = _G.PetCanBeRenamed
+local PetDefensiveMode = _G.PetDefensiveMode
+local PetDismiss = _G.PetDismiss
+local PetFollow = _G.PetFollow
+local PetHasActionBar = _G.PetHasActionBar
+local PetHasSpellbook = _G.PetHasSpellbook
+local PetMoveTo = _G.PetMoveTo
+local PetPassiveMode = _G.PetPassiveMode
+local PetRename = _G.PetRename
+local PetStopAttack = _G.PetStopAttack
+local PetUsesPetFrame = _G.PetUsesPetFrame
+local PetWait = _G.PetWait
+local PickupPetAction = _G.PickupPetAction
+local PickupPetSpell = _G.PickupPetSpell
+local SetPendingReportPetTarget = _G.SetPendingReportPetTarget
+local SetPetSlot = _G.SetPetSlot
+local SetSpellbookPetAction = _G.SetSpellbookPetAction
+local TargetTotem = _G.TargetTotem
+local TogglePetAutocast = _G.TogglePetAutocast
+local UnitIsOtherPlayersPet = _G.UnitIsOtherPlayersPet
+
+--Pet journal functions
+
+local C_PetJournal.GetPetInfoByPetID = _G.C_PetJournal.GetPetInfoByPetID
+local C_PetJournal.GetPetLoadOutInfo = _G.C_PetJournal.GetPetLoadOutInfo
+local C_PetJournal.GetPetStats = _G.C_PetJournal.GetPetStats
+local C_PetJournal.SetAbility = _G.C_PetJournal.SetAbility
+local C_PetJournal.SetPetLoadOutInfo = _G.C_PetJournal.SetPetLoadOutInfo
+
+--Petition functions
+
+local BuyGuildCharter = _G.BuyGuildCharter
+local CanSignPetition = _G.CanSignPetition
+local ClosePetition = _G.ClosePetition
+local GetGuildCharterCost = _G.GetGuildCharterCost
+local GetNumPetitionNames = _G.GetNumPetitionNames
+local GetPetitionInfo = _G.GetPetitionInfo
+local GetPetitionNameInfo = _G.GetPetitionNameInfo
+local OfferPetition = _G.OfferPetition
+local RenamePetition = _G.RenamePetition
+local SignPetition = _G.SignPetition
+local TurnInGuildCharter = _G.TurnInGuildCharter
+
+--Player information functions
+
+local AcceptResurrect = _G.AcceptResurrect
+local AcceptXPLoss = _G.AcceptXPLoss
+local CanHearthAndResurrectFromArea = _G.CanHearthAndResurrectFromArea
+local CheckBinderDist = _G.CheckBinderDist
+local CheckSpiritHealerDist = _G.CheckSpiritHealerDist
+local ConfirmBinder = _G.ConfirmBinder
+local DeclineResurrect = _G.DeclineResurrect
+local Dismount = _G.Dismount
+local GetAverageItemLevel = _G.GetAverageItemLevel
+local GetBindLocation = _G.GetBindLocation
+local GetCemeteryPreference = _G.GetCemeteryPreference
+local GetComboPoints = _G.GetComboPoints
+local GetCorpseRecoveryDelay = _G.GetCorpseRecoveryDelay
+local GetCurrentTitle = _G.GetCurrentTitle
+local GetMaxPlayerLevel = _G.GetMaxPlayerLevel
+local GetNumSavedWorldBosses = _G.GetNumSavedWorldBosses
+local GetNumTitles = _G.GetNumTitles
+local GetOverrideAPBySpellPower = _G.GetOverrideAPBySpellPower
+local GetOverrideSpellPowerByAP = _G.GetOverrideSpellPowerByAP
+local GetPlayerFacing = _G.GetPlayerFacing
+local GetPvpPowerDamage = _G.GetPvpPowerDamage
+local GetPvpPowerHealing = _G.GetPvpPowerHealing
+local GetQuestLogRewardTitle = _G.GetQuestLogRewardTitle
+local GetReleaseTimeRemaining = _G.GetReleaseTimeRemaining
+local GetResSicknessDuration = _G.GetResSicknessDuration
+local GetRestState = _G.GetRestState
+local GetRuneCooldown = _G.GetRuneCooldown
+local GetRuneCount = _G.GetRuneCount
+local GetRuneType = _G.GetRuneType
+local GetSavedWorldBossInfo = _G.GetSavedWorldBossInfo
+local GetTimeToWellRested = _G.GetTimeToWellRested
+local GetTitleName = _G.GetTitleName
+local GetUnitPitch = _G.GetUnitPitch
+local GetXPExhaustion = _G.GetXPExhaustion
+local HasAPEffectsSpellPower = _G.HasAPEffectsSpellPower
+local HasFullControl = _G.HasFullControl
+local HasKey = _G.HasKey
+local HasSoulstone = _G.HasSoulstone
+local HasWandEquipped = _G.HasWandEquipped
+local IsCemeterySelectionAvailable = _G.IsCemeterySelectionAvailable
+local IsChatAFK = _G.IsChatAFK
+local IsChatDND = _G.IsChatDND
+local IsFalling = _G.IsFalling
+local IsFlyableArea = _G.IsFlyableArea
+local IsFlying = _G.IsFlying
+local IsInInstance = _G.IsInInstance
+local IsIndoors = _G.IsIndoors
+local IsMounted = _G.IsMounted
+local IsOutOfBounds = _G.IsOutOfBounds
+local IsOutdoors = _G.IsOutdoors
+local IsPlayerInMicroDungeon = _G.IsPlayerInMicroDungeon
+local IsPlayerInWorld = _G.IsPlayerInWorld
+local IsPlayerMoving = _G.IsPlayerMoving
+local IsPlayerNeutral = _G.IsPlayerNeutral
+local IsResting = _G.IsResting
+local IsStealthed = _G.IsStealthed
+local IsSwimming = _G.IsSwimming
+local IsTitleKnown = _G.IsTitleKnown
+local IsXPUserDisabled = _G.IsXPUserDisabled
+local OffhandHasWeapon = _G.OffhandHasWeapon
+local OpeningCinematic = _G.OpeningCinematic
+local PlayerHasHearthstone = _G.PlayerHasHearthstone
+local PortGraveyard = _G.PortGraveyard
+local RepopMe = _G.RepopMe
+local ResurrectGetOfferer = _G.ResurrectGetOfferer
+local ResurrectHasSickness = _G.ResurrectHasSickness
+local ResurrectHasTimer = _G.ResurrectHasTimer
+local RetrieveCorpse = _G.RetrieveCorpse
+local SetCemeteryPreference = _G.SetCemeteryPreference
+local SetCurrentTitle = _G.SetCurrentTitle
+local ShowCloak = _G.ShowCloak
+local ShowHelm = _G.ShowHelm
+local ShowingCloak = _G.ShowingCloak
+local ShowingHelm = _G.ShowingHelm
+local TimeoutResurrect = _G.TimeoutResurrect
+local ToggleSheath = _G.ToggleSheath
+local UnitXP = _G.UnitXP
+local UnitXPMax = _G.UnitXPMax
+local UseHearthstone = _G.UseHearthstone
+local UseSoulstone = _G.UseSoulstone
+
+--PvP functions
+
+local CanHearthAndResurrectFromArea = _G.CanHearthAndResurrectFromArea
+local CanQueueForWintergrasp = _G.CanQueueForWintergrasp
+local ClearBlacklistMap = _G.ClearBlacklistMap
+local GetBlacklistMap = _G.GetBlacklistMap
+local GetHolidayBGHonorCurrencyBonuses = _G.GetHolidayBGHonorCurrencyBonuses
+local GetNumWorldPVPAreas = _G.GetNumWorldPVPAreas
+local GetNumWorldStateUI = _G.GetNumWorldStateUI
+local GetOutdoorPVPWaitTime = _G.GetOutdoorPVPWaitTime
+local GetPVPDesired = _G.GetPVPDesired
+local GetPVPLifetimeStats = _G.GetPVPLifetimeStats
+local GetPVPRewards = _G.GetPVPRewards
+local GetPVPRoles = _G.GetPVPRoles
+local GetPVPSessionStats = _G.GetPVPSessionStats
+local GetPVPTimer = _G.GetPVPTimer
+local GetPVPYesterdayStats = _G.GetPVPYesterdayStats
+local GetPersonalRatedInfo = _G.GetPersonalRatedInfo
+local GetWorldPVPAreaInfo = _G.GetWorldPVPAreaInfo
+local GetWorldPVPQueueStatus = _G.GetWorldPVPQueueStatus
+local GetWorldStateUIInfo = _G.GetWorldStateUIInfo
+local GetZonePVPInfo = _G.GetZonePVPInfo
+local HearthAndResurrectFromArea = _G.HearthAndResurrectFromArea
+local IsInActiveWorldPVP = _G.IsInActiveWorldPVP
+local IsPVPTimerRunning = _G.IsPVPTimerRunning
+local IsRatedBattleground = _G.IsRatedBattleground
+local IsSubZonePVPPOI = _G.IsSubZonePVPPOI
+local QuestFlagsPVP = _G.QuestFlagsPVP
+local RequestPVPOptionsEnabled = _G.RequestPVPOptionsEnabled
+local RequestPVPRewards = _G.RequestPVPRewards
+local SetPVP = _G.SetPVP
+local SetPVPRoles = _G.SetPVPRoles
+local TogglePVP = _G.TogglePVP
+local UnitIsPVPFreeForAll = _G.UnitIsPVPFreeForAll
+local UnitIsPVPSanctuary = _G.UnitIsPVPSanctuary
+local UnitPVPName = _G.UnitPVPName
+
+--Quest functions
+
+local AbandonQuest = _G.AbandonQuest
+local AcceptQuest = _G.AcceptQuest
+local AcknowledgeAutoAcceptQuest = _G.AcknowledgeAutoAcceptQuest
+local AddAutoQuestPopUp = _G.AddAutoQuestPopUp
+local AddQuestWatch = _G.AddQuestWatch
+local C_Questline.GetNumAvailableQuestlines = _G.C_Questline.GetNumAvailableQuestlines
+local C_Questline.GetQuestlineInfoByIndex = _G.C_Questline.GetQuestlineInfoByIndex
+local C_TaskQuest.GetQuestObjectiveStrByQuestID = _G.C_TaskQuest.GetQuestObjectiveStrByQuestID
+local C_TaskQuest.GetQuestTitleByQuestID = _G.C_TaskQuest.GetQuestTitleByQuestID
+local C_TaskQuest.GetQuestsForPlayerByMapID = _G.C_TaskQuest.GetQuestsForPlayerByMapID
+local CanAbandonQuest = _G.CanAbandonQuest
+local ClearAutoAcceptQuestSound = _G.ClearAutoAcceptQuestSound
+local CloseQuest = _G.CloseQuest
+local CloseQuestChoice = _G.CloseQuestChoice
+local CollapseQuestHeader = _G.CollapseQuestHeader
+local CompleteQuest = _G.CompleteQuest
+local ConfirmAcceptQuest = _G.ConfirmAcceptQuest
+local DeclineQuest = _G.DeclineQuest
+local ExpandQuestHeader = _G.ExpandQuestHeader
+local GetAbandonQuestItems = _G.GetAbandonQuestItems
+local GetAbandonQuestName = _G.GetAbandonQuestName
+local GetActiveLevel = _G.GetActiveLevel
+local GetActiveTitle = _G.GetActiveTitle
+local GetAutoQuestPopUp = _G.GetAutoQuestPopUp
+local GetAvailableLevel = _G.GetAvailableLevel
+local GetAvailableQuestInfo = _G.GetAvailableQuestInfo
+local GetAvailableTitle = _G.GetAvailableTitle
+local GetContainerItemQuestInfo = _G.GetContainerItemQuestInfo
+local GetDailyQuestsCompleted = _G.GetDailyQuestsCompleted
+local GetDistanceSqToQuest = _G.GetDistanceSqToQuest
+local GetGossipActiveQuests = _G.GetGossipActiveQuests
+local GetGossipAvailableQuests = _G.GetGossipAvailableQuests
+local GetGreetingText = _G.GetGreetingText
+local GetNumActiveQuests = _G.GetNumActiveQuests
+local GetNumAutoQuestPopUps = _G.GetNumAutoQuestPopUps
+local GetNumAvailableQuests = _G.GetNumAvailableQuests
+local GetNumGossipActiveQuests = _G.GetNumGossipActiveQuests
+local GetNumGossipAvailableQuests = _G.GetNumGossipAvailableQuests
+local GetNumQuestChoices = _G.GetNumQuestChoices
+local GetNumQuestCurrencies = _G.GetNumQuestCurrencies
+local GetNumQuestItemDrops = _G.GetNumQuestItemDrops
+local GetNumQuestItems = _G.GetNumQuestItems
+local GetNumQuestLeaderBoards = _G.GetNumQuestLeaderBoards
+local GetNumQuestLogChoices = _G.GetNumQuestLogChoices
+local GetNumQuestLogEntries = _G.GetNumQuestLogEntries
+local GetNumQuestLogRewardCurrencies = _G.GetNumQuestLogRewardCurrencies
+local GetNumQuestLogRewardFactions = _G.GetNumQuestLogRewardFactions
+local GetNumQuestLogRewards = _G.GetNumQuestLogRewards
+local GetNumQuestLogTasks = _G.GetNumQuestLogTasks
+local GetNumQuestPOIWorldEffects = _G.GetNumQuestPOIWorldEffects
+local GetNumQuestRewards = _G.GetNumQuestRewards
+local GetNumQuestWatches = _G.GetNumQuestWatches
+local GetNumWorldStateUI = _G.GetNumWorldStateUI
+local GetObjectiveText = _G.GetObjectiveText
+local GetProgressText = _G.GetProgressText
+local GetQuestBackgroundMaterial = _G.GetQuestBackgroundMaterial
+local GetQuestChoiceInfo = _G.GetQuestChoiceInfo
+local GetQuestChoiceOptionInfo = _G.GetQuestChoiceOptionInfo
+local GetQuestChoiceRewardCurrency = _G.GetQuestChoiceRewardCurrency
+local GetQuestChoiceRewardFaction = _G.GetQuestChoiceRewardFaction
+local GetQuestChoiceRewardInfo = _G.GetQuestChoiceRewardInfo
+local GetQuestChoiceRewardItem = _G.GetQuestChoiceRewardItem
+local GetQuestCurrencyInfo = _G.GetQuestCurrencyInfo
+local GetQuestDifficultyColor = _G.GetQuestDifficultyColor
+local GetQuestFactionGroup = _G.GetQuestFactionGroup
+local GetQuestGreenRange = _G.GetQuestGreenRange
+local GetQuestID = _G.GetQuestID
+local GetQuestIndexForTimer = _G.GetQuestIndexForTimer
+local GetQuestIndexForWatch = _G.GetQuestIndexForWatch
+local GetQuestItemInfo = _G.GetQuestItemInfo
+local GetQuestItemLink = _G.GetQuestItemLink
+local GetQuestLink = _G.GetQuestLink
+local GetQuestLogChoiceInfo = _G.GetQuestLogChoiceInfo
+local GetQuestLogCompletionText = _G.GetQuestLogCompletionText
+local GetQuestLogCriteriaSpell = _G.GetQuestLogCriteriaSpell
+local GetQuestLogGroupNum = _G.GetQuestLogGroupNum
+local GetQuestLogIndexByID = _G.GetQuestLogIndexByID
+local GetQuestLogIsAutoComplete = _G.GetQuestLogIsAutoComplete
+local GetQuestLogItemDrop = _G.GetQuestLogItemDrop
+local GetQuestLogItemLink = _G.GetQuestLogItemLink
+local GetQuestLogLeaderBoard = _G.GetQuestLogLeaderBoard
+local GetQuestLogPortraitGiver = _G.GetQuestLogPortraitGiver
+local GetQuestLogPortraitTurnIn = _G.GetQuestLogPortraitTurnIn
+local GetQuestLogPushable = _G.GetQuestLogPushable
+local GetQuestLogQuestText = _G.GetQuestLogQuestText
+local GetQuestLogQuestType = _G.GetQuestLogQuestType
+local GetQuestLogRequiredMoney = _G.GetQuestLogRequiredMoney
+local GetQuestLogRewardCurrencyInfo = _G.GetQuestLogRewardCurrencyInfo
+local GetQuestLogRewardFactionInfo = _G.GetQuestLogRewardFactionInfo
+local GetQuestLogRewardInfo = _G.GetQuestLogRewardInfo
+local GetQuestLogRewardMoney = _G.GetQuestLogRewardMoney
+local GetQuestLogRewardSkillPoints = _G.GetQuestLogRewardSkillPoints
+local GetQuestLogRewardSpell = _G.GetQuestLogRewardSpell
+local GetQuestLogRewardTalents = _G.GetQuestLogRewardTalents
+local GetQuestLogRewardTitle = _G.GetQuestLogRewardTitle
+local GetQuestLogRewardXP = _G.GetQuestLogRewardXP
+local GetQuestLogSelection = _G.GetQuestLogSelection
+local GetQuestLogSpecialItemCooldown = _G.GetQuestLogSpecialItemCooldown
+local GetQuestLogSpecialItemInfo = _G.GetQuestLogSpecialItemInfo
+local GetQuestLogSpellLink = _G.GetQuestLogSpellLink
+local GetQuestLogTaskInfo = _G.GetQuestLogTaskInfo
+local GetQuestLogTimeLeft = _G.GetQuestLogTimeLeft
+local GetQuestLogTitle = _G.GetQuestLogTitle
+local GetQuestMoneyToGet = _G.GetQuestMoneyToGet
+local GetQuestObjectiveInfo = _G.GetQuestObjectiveInfo
+local GetQuestPOIBlobCount = _G.GetQuestPOIBlobCount
+local GetQuestPOILeaderBoard = _G.GetQuestPOILeaderBoard
+local GetQuestPOIWorldEffectInfo = _G.GetQuestPOIWorldEffectInfo
+local GetQuestPOIs = _G.GetQuestPOIs
+local GetQuestPortraitGiver = _G.GetQuestPortraitGiver
+local GetQuestPortraitTurnIn = _G.GetQuestPortraitTurnIn
+local GetQuestProgressBarPercent = _G.GetQuestProgressBarPercent
+local GetQuestResetTime = _G.GetQuestResetTime
+local GetQuestReward = _G.GetQuestReward
+local GetQuestSortIndex = _G.GetQuestSortIndex
+local GetQuestSpellLink = _G.GetQuestSpellLink
+local GetQuestTagInfo = _G.GetQuestTagInfo
+local GetQuestText = _G.GetQuestText
+local GetQuestTimers = _G.GetQuestTimers
+local GetQuestWatchIndex = _G.GetQuestWatchIndex
+local GetQuestWatchInfo = _G.GetQuestWatchInfo
+local GetQuestWorldMapAreaID = _G.GetQuestWorldMapAreaID
+local GetQuestsCompleted = _G.GetQuestsCompleted
+local GetRewardMoney = _G.GetRewardMoney
+local GetRewardSpell = _G.GetRewardSpell
+local GetRewardTalents = _G.GetRewardTalents
+local GetRewardText = _G.GetRewardText
+local GetRewardTitle = _G.GetRewardTitle
+local GetRewardXP = _G.GetRewardXP
+local GetSuggestedGroupNum = _G.GetSuggestedGroupNum
+local GetSuperTrackedQuestID = _G.GetSuperTrackedQuestID
+local GetTitleText = _G.GetTitleText
+local GetWorldStateUIInfo = _G.GetWorldStateUIInfo
+local HaveQuestData = _G.HaveQuestData
+local IsActiveQuestLegendary = _G.IsActiveQuestLegendary
+local IsActiveQuestTrivial = _G.IsActiveQuestTrivial
+local IsAvailableQuestTrivial = _G.IsAvailableQuestTrivial
+local IsBreadcrumbQuest = _G.IsBreadcrumbQuest
+local IsCurrentQuestFailed = _G.IsCurrentQuestFailed
+local IsQuestCompletable = _G.IsQuestCompletable
+local IsQuestComplete = _G.IsQuestComplete
+local IsQuestFlaggedCompleted = _G.IsQuestFlaggedCompleted
+local IsQuestHardWatched = _G.IsQuestHardWatched
+local IsQuestLogSpecialItemInRange = _G.IsQuestLogSpecialItemInRange
+local IsQuestSequenced = _G.IsQuestSequenced
+local IsQuestTask = _G.IsQuestTask
+local IsQuestWatched = _G.IsQuestWatched
+local IsStoryQuest = _G.IsStoryQuest
+local IsUnitOnQuest = _G.IsUnitOnQuest
+local IsUnitOnQuestByQuestID = _G.IsUnitOnQuestByQuestID
+local PlayAutoAcceptQuestSound = _G.PlayAutoAcceptQuestSound
+local ProcessQuestLogRewardFactions = _G.ProcessQuestLogRewardFactions
+local QuestChooseRewardError = _G.QuestChooseRewardError
+local QuestFlagsPVP = _G.QuestFlagsPVP
+local QuestGetAutoAccept = _G.QuestGetAutoAccept
+local QuestGetAutoLaunched = _G.QuestGetAutoLaunched
+local QuestHasPOIInfo = _G.QuestHasPOIInfo
+local QuestIsDaily = _G.QuestIsDaily
+local QuestIsFromAreaTrigger = _G.QuestIsFromAreaTrigger
+local QuestIsWeekly = _G.QuestIsWeekly
+local QuestLogPushQuest = _G.QuestLogPushQuest
+local QuestLogShouldShowPortrait = _G.QuestLogShouldShowPortrait
+local QuestMapUpdateAllQuests = _G.QuestMapUpdateAllQuests
+local QuestPOIGetIconInfo = _G.QuestPOIGetIconInfo
+local QuestPOIGetQuestIDByIndex = _G.QuestPOIGetQuestIDByIndex
+local QuestPOIGetQuestIDByVisibleIndex = _G.QuestPOIGetQuestIDByVisibleIndex
+local QuestPOIGetSecondaryLocations = _G.QuestPOIGetSecondaryLocations
+local QuestPOIUpdateIcons = _G.QuestPOIUpdateIcons
+local RemoveAutoQuestPopUp = _G.RemoveAutoQuestPopUp
+local RemoveQuestWatch = _G.RemoveQuestWatch
+local SelectActiveQuest = _G.SelectActiveQuest
+local SelectAvailableQuest = _G.SelectAvailableQuest
+local SelectGossipActiveQuest = _G.SelectGossipActiveQuest
+local SelectGossipAvailableQuest = _G.SelectGossipAvailableQuest
+local SelectQuestLogEntry = _G.SelectQuestLogEntry
+local SendQuestChoiceResponse = _G.SendQuestChoiceResponse
+local SetAbandonQuest = _G.SetAbandonQuest
+local SetSuperTrackedQuestID = _G.SetSuperTrackedQuestID
+local ShowQuestComplete = _G.ShowQuestComplete
+local ShowQuestOffer = _G.ShowQuestOffer
+local SortQuestWatches = _G.SortQuestWatches
+local UnitIsQuestBoss = _G.UnitIsQuestBoss
+local UseQuestLogSpecialItem = _G.UseQuestLogSpecialItem
+
+--Raid functions
+
+local AcceptGroup = _G.AcceptGroup
+local CanBeRaidTarget = _G.CanBeRaidTarget
+local ClearPartyAssignment = _G.ClearPartyAssignment
+local ClearRaidMarker = _G.ClearRaidMarker
+local ConfirmReadyCheck = _G.ConfirmReadyCheck
+local ConvertToParty = _G.ConvertToParty
+local ConvertToRaid = _G.ConvertToRaid
+local CreateNewRaidProfile = _G.CreateNewRaidProfile
+local DeclineGroup = _G.DeclineGroup
+local DeleteRaidProfile = _G.DeleteRaidProfile
+local DemoteAssistant = _G.DemoteAssistant
+local DoReadyCheck = _G.DoReadyCheck
+local GetAllowLowLevelRaid = _G.GetAllowLowLevelRaid
+local GetBestFlexRaidChoice = _G.GetBestFlexRaidChoice
+local GetFlexRaidDungeonInfo = _G.GetFlexRaidDungeonInfo
+local GetLegacyRaidDifficultyID = _G.GetLegacyRaidDifficultyID
+local GetNumFlexRaidDungeons = _G.GetNumFlexRaidDungeons
+local GetNumGroupMembers = _G.GetNumGroupMembers
+local GetNumRaidProfiles = _G.GetNumRaidProfiles
+local GetNumSubgroupMembers = _G.GetNumSubgroupMembers
+local GetPartyAssignment = _G.GetPartyAssignment
+local GetRaidBuffInfo = _G.GetRaidBuffInfo
+local GetRaidDifficultyID = _G.GetRaidDifficultyID
+local GetRaidProfileFlattenedOptions = _G.GetRaidProfileFlattenedOptions
+local GetRaidProfileName = _G.GetRaidProfileName
+local GetRaidProfileOption = _G.GetRaidProfileOption
+local GetRaidProfileSavedPosition = _G.GetRaidProfileSavedPosition
+local GetRaidRosterInfo = _G.GetRaidRosterInfo
+local GetRaidTargetIndex = _G.GetRaidTargetIndex
+local GetReadyCheckStatus = _G.GetReadyCheckStatus
+local GetReadyCheckTimeLeft = _G.GetReadyCheckTimeLeft
+local GetSavedInstanceChatLink = _G.GetSavedInstanceChatLink
+local InitiateRolePoll = _G.InitiateRolePoll
+local InviteUnit = _G.InviteUnit
+local IsEveryoneAssistant = _G.IsEveryoneAssistant
+local IsInGroup = _G.IsInGroup
+local IsInRaid = _G.IsInRaid
+local IsRaidMarkerActive = _G.IsRaidMarkerActive
+local LeaveParty = _G.LeaveParty
+local PlaceRaidMarker = _G.PlaceRaidMarker
+local PromoteToAssistant = _G.PromoteToAssistant
+local PromoteToLeader = _G.PromoteToLeader
+local RaidProfileExists = _G.RaidProfileExists
+local RaidProfileHasUnsavedChanges = _G.RaidProfileHasUnsavedChanges
+local RestoreRaidProfileFromCopy = _G.RestoreRaidProfileFromCopy
+local SaveRaidProfileCopy = _G.SaveRaidProfileCopy
+local SetAllowLowLevelRaid = _G.SetAllowLowLevelRaid
+local SetEveryoneIsAssistant = _G.SetEveryoneIsAssistant
+local SetLegacyRaidDifficultyID = _G.SetLegacyRaidDifficultyID
+local SetPartyAssignment = _G.SetPartyAssignment
+local SetRaidDifficultyID = _G.SetRaidDifficultyID
+local SetRaidProfileOption = _G.SetRaidProfileOption
+local SetRaidProfileSavedPosition = _G.SetRaidProfileSavedPosition
+local SetRaidSubgroup = _G.SetRaidSubgroup
+local SetRaidTarget = _G.SetRaidTarget
+local SetRaidTargetProtected = _G.SetRaidTargetProtected
+local SwapRaidSubgroup = _G.SwapRaidSubgroup
+local UninviteUnit = _G.UninviteUnit
+local UnitGetAvailableRoles = _G.UnitGetAvailableRoles
+local UnitGroupRolesAssigned = _G.UnitGroupRolesAssigned
+local UnitInRaid = _G.UnitInRaid
+local UnitIsGroupLeader = _G.UnitIsGroupLeader
+local UnitIsRaidOfficer = _G.UnitIsRaidOfficer
+local UnitPlayerOrPetInRaid = _G.UnitPlayerOrPetInRaid
+local UnitSetRole = _G.UnitSetRole
+local UnitTargetsVehicleInRaidUI = _G.UnitTargetsVehicleInRaidUI
+
+--Realm functions
+
+local Ambiguate = _G.Ambiguate
+local GetAutoCompleteRealms = _G.GetAutoCompleteRealms
+local GetRealmName = _G.GetRealmName
+local IsOnTournamentRealm = _G.IsOnTournamentRealm
+local IsVoiceChatAllowedByServer = _G.IsVoiceChatAllowedByServer
+local SelectedRealmName = _G.SelectedRealmName
+local UnitFullName = _G.UnitFullName
+local UnitRealmRelationship = _G.UnitRealmRelationship
+
+--Recruit-a-friend functions
+
+local AcceptLevelGrant = _G.AcceptLevelGrant
+local C_RecruitAFriend.CheckEmailEnabled = _G.C_RecruitAFriend.CheckEmailEnabled
+local C_RecruitAFriend.GetRecruitInfo = _G.C_RecruitAFriend.GetRecruitInfo
+local C_RecruitAFriend.IsSendingEnabled = _G.C_RecruitAFriend.IsSendingEnabled
+local C_RecruitAFriend.SendRecruit = _G.C_RecruitAFriend.SendRecruit
+local CanGrantLevel = _G.CanGrantLevel
+local CanSummonFriend = _G.CanSummonFriend
+local DeclineLevelGrant = _G.DeclineLevelGrant
+local GetSummonFriendCooldown = _G.GetSummonFriendCooldown
+local GrantLevel = _G.GrantLevel
+local IsReferAFriendLinked = _G.IsReferAFriendLinked
+local SummonFriend = _G.SummonFriend
+
+--Secure execution utility functions
+
+local InCombatLockdown = _G.InCombatLockdown
+local forceinsecure = _G.forceinsecure
+local hooksecurefunc = _G.hooksecurefunc
+local issecure = _G.issecure
+local issecurevariable = _G.issecurevariable
+local newproxy = _G.newproxy
+local securecall = _G.securecall
+
+--Skill functions
+
+local AbandonSkill = _G.AbandonSkill
+local GetProfessionInfo = _G.GetProfessionInfo
+local GetProfessions = _G.GetProfessions
+local GetQuestLogRewardSkillPoints = _G.GetQuestLogRewardSkillPoints
+local GetRewardNumSkillUps = _G.GetRewardNumSkillUps
+local GetRewardSkillLineID = _G.GetRewardSkillLineID
+local GetRewardSkillPoints = _G.GetRewardSkillPoints
+
+--Social functions
+
+local AddFriend = _G.AddFriend
+local AddIgnore = _G.AddIgnore
+local AddOrDelIgnore = _G.AddOrDelIgnore
+local AddOrRemoveFriend = _G.AddOrRemoveFriend
+local BNGetFriendIndex = _G.BNGetFriendIndex
+local DelIgnore = _G.DelIgnore
+local GetFriendInfo = _G.GetFriendInfo
+local GetIgnoreName = _G.GetIgnoreName
+local GetNumFriends = _G.GetNumFriends
+local GetNumIgnores = _G.GetNumIgnores
+local GetNumWhoResults = _G.GetNumWhoResults
+local GetSelectedFriend = _G.GetSelectedFriend
+local GetSelectedIgnore = _G.GetSelectedIgnore
+local GetWhoInfo = _G.GetWhoInfo
+local IsIgnored = _G.IsIgnored
+local RemoveFriend = _G.RemoveFriend
+local SendWho = _G.SendWho
+local SetFriendNotes = _G.SetFriendNotes
+local SetSelectedFriend = _G.SetSelectedFriend
+local SetSelectedIgnore = _G.SetSelectedIgnore
+local SetWhoToUI = _G.SetWhoToUI
+local ShowFriends = _G.ShowFriends
+local SortWho = _G.SortWho
+
+--Socketing functions
+
+local AcceptSockets = _G.AcceptSockets
+local ClickSocketButton = _G.ClickSocketButton
+local CloseSocketInfo = _G.CloseSocketInfo
+local GetExistingSocketInfo = _G.GetExistingSocketInfo
+local GetExistingSocketLink = _G.GetExistingSocketLink
+local GetItemGem = _G.GetItemGem
+local GetNewSocketInfo = _G.GetNewSocketInfo
+local GetNewSocketLink = _G.GetNewSocketLink
+local GetNumSockets = _G.GetNumSockets
+local GetSocketItemBoundTradeable = _G.GetSocketItemBoundTradeable
+local GetSocketItemInfo = _G.GetSocketItemInfo
+local GetSocketItemRefundable = _G.GetSocketItemRefundable
+local GetSocketTypes = _G.GetSocketTypes
+local SocketContainerItem = _G.SocketContainerItem
+local SocketInventoryItem = _G.SocketInventoryItem
+
+--Sound functions
+
+local ClearAutoAcceptQuestSound = _G.ClearAutoAcceptQuestSound
+local PlayAutoAcceptQuestSound = _G.PlayAutoAcceptQuestSound
+local PlayMusic = _G.PlayMusic
+local PlaySound = _G.PlaySound
+local PlaySoundFile = _G.PlaySoundFile
+local PlaySoundKitID = _G.PlaySoundKitID
+local Sound_ChatSystem_GetInputDriverNameByIndex = _G.Sound_ChatSystem_GetInputDriverNameByIndex
+local Sound_ChatSystem_GetNumInputDrivers = _G.Sound_ChatSystem_GetNumInputDrivers
+local Sound_ChatSystem_GetNumOutputDrivers = _G.Sound_ChatSystem_GetNumOutputDrivers
+local Sound_ChatSystem_GetOutputDriverNameByIndex = _G.Sound_ChatSystem_GetOutputDriverNameByIndex
+local Sound_GameSystem_GetInputDriverNameByIndex = _G.Sound_GameSystem_GetInputDriverNameByIndex
+local Sound_GameSystem_GetNumInputDrivers = _G.Sound_GameSystem_GetNumInputDrivers
+local Sound_GameSystem_GetNumOutputDrivers = _G.Sound_GameSystem_GetNumOutputDrivers
+local Sound_GameSystem_GetOutputDriverNameByIndex = _G.Sound_GameSystem_GetOutputDriverNameByIndex
+local Sound_GameSystem_RestartSoundSystem = _G.Sound_GameSystem_RestartSoundSystem
+local StopMusic = _G.StopMusic
+local StopSound = _G.StopSound
+local VoiceEnumerateCaptureDevices = _G.VoiceEnumerateCaptureDevices
+local VoiceEnumerateOutputDevices = _G.VoiceEnumerateOutputDevices
+local VoiceGetCurrentCaptureDevice = _G.VoiceGetCurrentCaptureDevice
+local VoiceGetCurrentOutputDevice = _G.VoiceGetCurrentOutputDevice
+local VoiceSelectCaptureDevice = _G.VoiceSelectCaptureDevice
+local VoiceSelectOutputDevice = _G.VoiceSelectOutputDevice
+
+--Spell functions
+
+local AcceptSpellConfirmationPrompt = _G.AcceptSpellConfirmationPrompt
+local CastSpell = _G.CastSpell
+local CastSpellByID = _G.CastSpellByID
+local CastSpellByName = _G.CastSpellByName
+local CursorHasSpell = _G.CursorHasSpell
+local DeclineSpellConfirmationPrompt = _G.DeclineSpellConfirmationPrompt
+local DisableSpellAutocast = _G.DisableSpellAutocast
+local EnableSpellAutocast = _G.EnableSpellAutocast
+local FindSpellBookSlotBySpellID = _G.FindSpellBookSlotBySpellID
+local FlyoutHasSpell = _G.FlyoutHasSpell
+local GetCriteriaSpell = _G.GetCriteriaSpell
+local GetCurrentLevelSpells = _G.GetCurrentLevelSpells
+local GetItemSpell = _G.GetItemSpell
+local GetMaxSpellStartRecoveryOffset = _G.GetMaxSpellStartRecoveryOffset
+local GetMultiCastBarIndex = _G.GetMultiCastBarIndex
+local GetMultiCastTotemSpells = _G.GetMultiCastTotemSpells
+local GetNumSpellTabs = _G.GetNumSpellTabs
+local GetQuestLogRewardSpell = _G.GetQuestLogRewardSpell
+local GetRewardSpell = _G.GetRewardSpell
+local GetSpecsForSpell = _G.GetSpecsForSpell
+local GetSpellAutocast = _G.GetSpellAutocast
+local GetSpellAvailableLevel = _G.GetSpellAvailableLevel
+local GetSpellBaseCooldown = _G.GetSpellBaseCooldown
+local GetSpellBookItemInfo = _G.GetSpellBookItemInfo
+local GetSpellBookItemName = _G.GetSpellBookItemName
+local GetSpellBookItemTexture = _G.GetSpellBookItemTexture
+local GetSpellCharges = _G.GetSpellCharges
+local GetSpellConfirmationPromptsInfo = _G.GetSpellConfirmationPromptsInfo
+local GetSpellCooldown = _G.GetSpellCooldown
+local GetSpellCount = _G.GetSpellCount
+local GetSpellDescription = _G.GetSpellDescription
+local GetSpellHitModifier = _G.GetSpellHitModifier
+local GetSpellInfo = _G.GetSpellInfo
+local GetSpellLevelLearned = _G.GetSpellLevelLearned
+local GetSpellLink = _G.GetSpellLink
+local GetSpellLossOfControlCooldown = _G.GetSpellLossOfControlCooldown
+local GetSpellTabInfo = _G.GetSpellTabInfo
+local GetSpellTexture = _G.GetSpellTexture
+local GetSpellsForCharacterUpgradeTier = _G.GetSpellsForCharacterUpgradeTier
+local HasPetSpells = _G.HasPetSpells
+local IsAttackSpell = _G.IsAttackSpell
+local IsAutoRepeatSpell = _G.IsAutoRepeatSpell
+local IsConsumableSpell = _G.IsConsumableSpell
+local IsCurrentSpell = _G.IsCurrentSpell
+local IsHarmfulSpell = _G.IsHarmfulSpell
+local IsHelpfulSpell = _G.IsHelpfulSpell
+local IsPassiveSpell = _G.IsPassiveSpell
+local IsPlayerSpell = _G.IsPlayerSpell
+local IsSelectedSpellBookItem = _G.IsSelectedSpellBookItem
+local IsSpellClassOrSpec = _G.IsSpellClassOrSpec
+local IsSpellInRange = _G.IsSpellInRange
+local IsSpellKnown = _G.IsSpellKnown
+local IsSpellOverlayed = _G.IsSpellOverlayed
+local IsUsableSpell = _G.IsUsableSpell
+local PickupSpell = _G.PickupSpell
+local PickupSpellBookItem = _G.PickupSpellBookItem
+local SetMultiCastSpell = _G.SetMultiCastSpell
+local SpellCanTargetGlyph = _G.SpellCanTargetGlyph
+local SpellCanTargetItem = _G.SpellCanTargetItem
+local SpellCanTargetUnit = _G.SpellCanTargetUnit
+local SpellCancelQueuedSpell = _G.SpellCancelQueuedSpell
+local SpellGetVisibilityInfo = _G.SpellGetVisibilityInfo
+local SpellHasRange = _G.SpellHasRange
+local SpellIsAlwaysShown = _G.SpellIsAlwaysShown
+local SpellIsSelfBuff = _G.SpellIsSelfBuff
+local SpellIsTargeting = _G.SpellIsTargeting
+local SpellStopCasting = _G.SpellStopCasting
+local SpellStopTargeting = _G.SpellStopTargeting
+local SpellTargetItem = _G.SpellTargetItem
+local SpellTargetUnit = _G.SpellTargetUnit
+local ToggleSpellAutocast = _G.ToggleSpellAutocast
+local UnitCastingInfo = _G.UnitCastingInfo
+local UnitChannelInfo = _G.UnitChannelInfo
+local UnitHasIncomingResurrection = _G.UnitHasIncomingResurrection
+
+--Stance/Shapeshift functions
+
+local CancelShapeshiftForm = _G.CancelShapeshiftForm
+local CastShapeshiftForm = _G.CastShapeshiftForm
+local GetNumShapeshiftForms = _G.GetNumShapeshiftForms
+local GetShapeshiftForm = _G.GetShapeshiftForm
+local GetShapeshiftFormCooldown = _G.GetShapeshiftFormCooldown
+local GetShapeshiftFormID = _G.GetShapeshiftFormID
+local GetShapeshiftFormInfo = _G.GetShapeshiftFormInfo
+local GetTempShapeshiftBarIndex = _G.GetTempShapeshiftBarIndex
+
+
+--Stat information functions
+
+local GetArmorEffectiveness = _G.GetArmorEffectiveness
+local GetArmorPenetration = _G.GetArmorPenetration
+local GetAttackPowerForStat = _G.GetAttackPowerForStat
+local GetAvoidance = _G.GetAvoidance
+local GetBladedArmorEffect = _G.GetBladedArmorEffect
+local GetBlockChance = _G.GetBlockChance
+local GetCombatRating = _G.GetCombatRating
+local GetCombatRatingBonus = _G.GetCombatRatingBonus
+local GetCritChance = _G.GetCritChance
+local GetCritChanceFromAgility = _G.GetCritChanceFromAgility
+local GetCritChanceProvidesParryEffect = _G.GetCritChanceProvidesParryEffect
+local GetDodgeChance = _G.GetDodgeChance
+local GetExpertise = _G.GetExpertise
+local GetHaste = _G.GetHaste
+local GetHitModifier = _G.GetHitModifier
+local GetLifesteal = _G.GetLifesteal
+local GetManaRegen = _G.GetManaRegen
+local GetMastery = _G.GetMastery
+local GetMasteryEffect = _G.GetMasteryEffect
+local GetMaxCombatRatingBonus = _G.GetMaxCombatRatingBonus
+local GetMeleeHaste = _G.GetMeleeHaste
+local GetModResilienceDamageReduction = _G.GetModResilienceDamageReduction
+local GetMultistrike = _G.GetMultistrike
+local GetMultistrikeEffect = _G.GetMultistrikeEffect
+local GetParryChance = _G.GetParryChance
+local GetPowerRegen = _G.GetPowerRegen
+local GetRangedCritChance = _G.GetRangedCritChance
+local GetRangedHaste = _G.GetRangedHaste
+local GetShieldBlock = _G.GetShieldBlock
+local GetSpeed = _G.GetSpeed
+local GetSpellBonusDamage = _G.GetSpellBonusDamage
+local GetSpellBonusHealing = _G.GetSpellBonusHealing
+local GetSpellCritChance = _G.GetSpellCritChance
+local GetSpellCritChanceFromIntellect = _G.GetSpellCritChanceFromIntellect
+local GetSpellPenetration = _G.GetSpellPenetration
+local GetUnitHealthModifier = _G.GetUnitHealthModifier
+local GetUnitManaRegenRateFromSpirit = _G.GetUnitManaRegenRateFromSpirit
+local GetUnitMaxHealthModifier = _G.GetUnitMaxHealthModifier
+local GetUnitPowerModifier = _G.GetUnitPowerModifier
+local GetVersatilityBonus = _G.GetVersatilityBonus
+local HasSPEffectsAttackPower = _G.HasSPEffectsAttackPower
+local ResistancePercent = _G.ResistancePercent
+local UnitArmor = _G.UnitArmor
+local UnitAttackBothHands = _G.UnitAttackBothHands
+local UnitAttackPower = _G.UnitAttackPower
+local UnitAttackSpeed = _G.UnitAttackSpeed
+local UnitDamage = _G.UnitDamage
+local UnitDefense = _G.UnitDefense
+local UnitRangedAttack = _G.UnitRangedAttack
+local UnitRangedAttackPower = _G.UnitRangedAttackPower
+local UnitRangedDamage = _G.UnitRangedDamage
+local UnitResistance = _G.UnitResistance
+local UnitStat = _G.UnitStat
+
+--Stopwatch functions
+
+local Stopwatch_Clear = _G.Stopwatch_Clear
+local Stopwatch_FinishCountdown = _G.Stopwatch_FinishCountdown
+local Stopwatch_IsPlaying = _G.Stopwatch_IsPlaying
+local Stopwatch_Pause = _G.Stopwatch_Pause
+local Stopwatch_Play = _G.Stopwatch_Play
+local Stopwatch_StartCountdown = _G.Stopwatch_StartCountdown
+local Stopwatch_Toggle = _G.Stopwatch_Toggle
+
+--Summoning functions
+
+local CancelSummon = _G.CancelSummon
+local ConfirmSummon = _G.ConfirmSummon
+local GetSummonConfirmAreaName = _G.GetSummonConfirmAreaName
+local GetSummonConfirmSummoner = _G.GetSummonConfirmSummoner
+local GetSummonConfirmTimeLeft = _G.GetSummonConfirmTimeLeft
+local PlayerCanTeleport = _G.PlayerCanTeleport
+
+--Talent functions
+
+local CheckTalentMasterDist = _G.CheckTalentMasterDist
+local ConfirmTalentWipe = _G.ConfirmTalentWipe
+local GetActiveSpecGroup = _G.GetActiveSpecGroup
+local GetCurrentLevelDraenorTalent = _G.GetCurrentLevelDraenorTalent
+local GetInspectSpecialization = _G.GetInspectSpecialization
+local GetInspectTalent = _G.GetInspectTalent
+local GetMaxTalentTier = _G.GetMaxTalentTier
+local GetNumSpecGroups = _G.GetNumSpecGroups
+local GetNumSpecializations = _G.GetNumSpecializations
+local GetNumSpecializationsForClassID = _G.GetNumSpecializationsForClassID
+local GetNumUnspentTalents = _G.GetNumUnspentTalents
+local GetPetTalentTree = _G.GetPetTalentTree
+local GetSetBonusesForSpecializationByItemID = _G.GetSetBonusesForSpecializationByItemID
+local GetSpecialization = _G.GetSpecialization
+local GetSpecializationInfo = _G.GetSpecializationInfo
+local GetSpecializationInfoByID = _G.GetSpecializationInfoByID
+local GetSpecializationInfoForClassID = _G.GetSpecializationInfoForClassID
+local GetSpecializationMasterySpells = _G.GetSpecializationMasterySpells
+local GetSpecializationNameForSpecID = _G.GetSpecializationNameForSpecID
+local GetSpecializationReadinessSpell = _G.GetSpecializationReadinessSpell
+local GetSpecializationRole = _G.GetSpecializationRole
+local GetSpecializationRoleByID = _G.GetSpecializationRoleByID
+local GetSpecializationSpells = _G.GetSpecializationSpells
+local GetTalentClearInfo = _G.GetTalentClearInfo
+local GetTalentInfo = _G.GetTalentInfo
+local GetTalentInfoByID = _G.GetTalentInfoByID
+local GetTalentInfoBySpecialization = _G.GetTalentInfoBySpecialization
+local GetTalentLink = _G.GetTalentLink
+local GetTalentRowSelectionInfo = _G.GetTalentRowSelectionInfo
+local IsTalentSpell = _G.IsTalentSpell
+local LearnTalent = _G.LearnTalent
+local LearnTalents = _G.LearnTalents
+local PickupTalent = _G.PickupTalent
+local RemoveTalent = _G.RemoveTalent
+local SetActiveSpecGroup = _G.SetActiveSpecGroup
+local SetSpecialization = _G.SetSpecialization
+local ShouldHideTalentsTab = _G.ShouldHideTalentsTab
+local UnlearnSpecialization = _G.UnlearnSpecialization
+
+--Targeting functions
+
+local AssistUnit = _G.AssistUnit
+local ClearFocus = _G.ClearFocus
+local ClearTarget = _G.ClearTarget
+local FocusUnit = _G.FocusUnit
+local SpellCanTargetUnit = _G.SpellCanTargetUnit
+local SpellTargetUnit = _G.SpellTargetUnit
+local TargetLastEnemy = _G.TargetLastEnemy
+local TargetLastFriend = _G.TargetLastFriend
+local TargetLastTarget = _G.TargetLastTarget
+local TargetNearest = _G.TargetNearest
+local TargetNearestEnemy = _G.TargetNearestEnemy
+local TargetNearestEnemyPlayer = _G.TargetNearestEnemyPlayer
+local TargetNearestFriend = _G.TargetNearestFriend
+local TargetNearestFriendPlayer = _G.TargetNearestFriendPlayer
+local TargetNearestPartyMember = _G.TargetNearestPartyMember
+local TargetNearestRaidMember = _G.TargetNearestRaidMember
+local TargetUnit = _G.TargetUnit
+
+--Taxi/Flight functions
+
+local CloseTaxiMap = _G.CloseTaxiMap
+local GetNumRoutes = _G.GetNumRoutes
+local GetTaxiBenchmarkMode = _G.GetTaxiBenchmarkMode
+local NumTaxiNodes = _G.NumTaxiNodes
+local SetTaxiBenchmarkMode = _G.SetTaxiBenchmarkMode
+local SetTaxiMap = _G.SetTaxiMap
+local TakeTaxiNode = _G.TakeTaxiNode
+local TaxiGetDestX = _G.TaxiGetDestX
+local TaxiGetDestY = _G.TaxiGetDestY
+local TaxiGetNodeSlot = _G.TaxiGetNodeSlot
+local TaxiGetSrcX = _G.TaxiGetSrcX
+local TaxiGetSrcY = _G.TaxiGetSrcY
+local TaxiNodeCost = _G.TaxiNodeCost
+local TaxiNodeGetType = _G.TaxiNodeGetType
+local TaxiNodeName = _G.TaxiNodeName
+local TaxiNodePosition = _G.TaxiNodePosition
+local TaxiNodeSetCurrent = _G.TaxiNodeSetCurrent
+local UnitOnTaxi = _G.UnitOnTaxi
+
+--Threat functions
+
+local GetThreatStatusColor = _G.GetThreatStatusColor
+local IsThreatWarningEnabled = _G.IsThreatWarningEnabled
+local UnitDetailedThreatSituation = _G.UnitDetailedThreatSituation
+local UnitThreatSituation = _G.UnitThreatSituation
+
+--Tracking functions
+
+local ClearAllTracking = _G.ClearAllTracking
+local GetNumTrackingTypes = _G.GetNumTrackingTypes
+local GetTrackingInfo = _G.GetTrackingInfo
+local SetTracking = _G.SetTracking
+
+--Trade functions
+
+local AcceptTrade = _G.AcceptTrade
+local AddTradeMoney = _G.AddTradeMoney
+local BeginTrade = _G.BeginTrade
+local CancelTrade = _G.CancelTrade
+local CancelTradeAccept = _G.CancelTradeAccept
+local ClickTargetTradeButton = _G.ClickTargetTradeButton
+local ClickTradeButton = _G.ClickTradeButton
+local CloseTrade = _G.CloseTrade
+local GetPlayerTradeCurrency = _G.GetPlayerTradeCurrency
+local GetPlayerTradeMoney = _G.GetPlayerTradeMoney
+local GetTargetTradeCurrency = _G.GetTargetTradeCurrency
+local GetTargetTradeMoney = _G.GetTargetTradeMoney
+local GetTradePlayerItemInfo = _G.GetTradePlayerItemInfo
+local GetTradePlayerItemLink = _G.GetTradePlayerItemLink
+local GetTradeTargetItemInfo = _G.GetTradeTargetItemInfo
+local GetTradeTargetItemLink = _G.GetTradeTargetItemLink
+local InitiateTrade = _G.InitiateTrade
+local PickupTradeMoney = _G.PickupTradeMoney
+local ReplaceTradeEnchant = _G.ReplaceTradeEnchant
+local SetTradeCurrency = _G.SetTradeCurrency
+local SetTradeMoney = _G.SetTradeMoney
+
+--Tradeskill functions
+
+local CloseTradeSkill = _G.CloseTradeSkill
+local CollapseGuildTradeSkillHeader = _G.CollapseGuildTradeSkillHeader
+local CollapseTradeSkillSubClass = _G.CollapseTradeSkillSubClass
+local DoTradeSkill = _G.DoTradeSkill
+local ExpandGuildTradeSkillHeader = _G.ExpandGuildTradeSkillHeader
+local ExpandTradeSkillSubClass = _G.ExpandTradeSkillSubClass
+local GetFirstTradeSkill = _G.GetFirstTradeSkill
+local GetGuildTradeSkillInfo = _G.GetGuildTradeSkillInfo
+local GetNumGuildTradeSkill = _G.GetNumGuildTradeSkill
+local GetNumTradeSkills = _G.GetNumTradeSkills
+local GetProfessionInfo = _G.GetProfessionInfo
+local GetTradeSkillCategoryFilter = _G.GetTradeSkillCategoryFilter
+local GetTradeSkillCooldown = _G.GetTradeSkillCooldown
+local GetTradeSkillDescription = _G.GetTradeSkillDescription
+local GetTradeSkillIcon = _G.GetTradeSkillIcon
+local GetTradeSkillInfo = _G.GetTradeSkillInfo
+local GetTradeSkillInvSlotFilter = _G.GetTradeSkillInvSlotFilter
+local GetTradeSkillInvSlots = _G.GetTradeSkillInvSlots
+local GetTradeSkillItemLevelFilter = _G.GetTradeSkillItemLevelFilter
+local GetTradeSkillItemLink = _G.GetTradeSkillItemLink
+local GetTradeSkillItemNameFilter = _G.GetTradeSkillItemNameFilter
+local GetTradeSkillLine = _G.GetTradeSkillLine
+local GetTradeSkillListLink = _G.GetTradeSkillListLink
+local GetTradeSkillNumMade = _G.GetTradeSkillNumMade
+local GetTradeSkillNumReagents = _G.GetTradeSkillNumReagents
+local GetTradeSkillReagentInfo = _G.GetTradeSkillReagentInfo
+local GetTradeSkillReagentItemLink = _G.GetTradeSkillReagentItemLink
+local GetTradeSkillRecipeLink = _G.GetTradeSkillRecipeLink
+local GetTradeSkillSelectionIndex = _G.GetTradeSkillSelectionIndex
+local GetTradeSkillSubCategories = _G.GetTradeSkillSubCategories
+local GetTradeSkillSubClassFilteredSlots = _G.GetTradeSkillSubClassFilteredSlots
+local GetTradeSkillSubClasses = _G.GetTradeSkillSubClasses
+local GetTradeSkillTexture = _G.GetTradeSkillTexture
+local GetTradeSkillTools = _G.GetTradeSkillTools
+local GetTradeskillRepeatCount = _G.GetTradeskillRepeatCount
+local GetTrainerTradeskillRankValues = _G.GetTrainerTradeskillRankValues
+local IsTradeSkillGuild = _G.IsTradeSkillGuild
+local IsTradeSkillLinked = _G.IsTradeSkillLinked
+local IsTradeSkillReady = _G.IsTradeSkillReady
+local IsTradeSkillRepeating = _G.IsTradeSkillRepeating
+local SelectTradeSkill = _G.SelectTradeSkill
+local SetGuildTradeSkillCategoryFilter = _G.SetGuildTradeSkillCategoryFilter
+local SetGuildTradeSkillItemNameFilter = _G.SetGuildTradeSkillItemNameFilter
+local SetTradeSkillCategoryFilter = _G.SetTradeSkillCategoryFilter
+local SetTradeSkillInvSlotFilter = _G.SetTradeSkillInvSlotFilter
+local SetTradeSkillItemLevelFilter = _G.SetTradeSkillItemLevelFilter
+local SetTradeSkillItemNameFilter = _G.SetTradeSkillItemNameFilter
+local SetTradeSkillRepeatCount = _G.SetTradeSkillRepeatCount
+local SortGuildTradeSkill = _G.SortGuildTradeSkill
+local StopTradeSkillRepeat = _G.StopTradeSkillRepeat
+local TradeSkillOnlyShowMakeable = _G.TradeSkillOnlyShowMakeable
+local TradeSkillOnlyShowSkillUps = _G.TradeSkillOnlyShowSkillUps
+local ViewGuildRecipes = _G.ViewGuildRecipes
+
+--Trainer functions
+
+local BuyTrainerService = _G.BuyTrainerService
+local CheckTalentMasterDist = _G.CheckTalentMasterDist
+local CloseTrainer = _G.CloseTrainer
+local GetNumTrainerServices = _G.GetNumTrainerServices
+local GetTrainerGreetingText = _G.GetTrainerGreetingText
+local GetTrainerSelectionIndex = _G.GetTrainerSelectionIndex
+local GetTrainerServiceAbilityReq = _G.GetTrainerServiceAbilityReq
+local GetTrainerServiceCost = _G.GetTrainerServiceCost
+local GetTrainerServiceDescription = _G.GetTrainerServiceDescription
+local GetTrainerServiceIcon = _G.GetTrainerServiceIcon
+local GetTrainerServiceInfo = _G.GetTrainerServiceInfo
+local GetTrainerServiceItemLink = _G.GetTrainerServiceItemLink
+local GetTrainerServiceLevelReq = _G.GetTrainerServiceLevelReq
+local GetTrainerServiceNumAbilityReq = _G.GetTrainerServiceNumAbilityReq
+local GetTrainerServiceSkillLine = _G.GetTrainerServiceSkillLine
+local GetTrainerServiceSkillReq = _G.GetTrainerServiceSkillReq
+local GetTrainerServiceStepIndex = _G.GetTrainerServiceStepIndex
+local GetTrainerServiceTypeFilter = _G.GetTrainerServiceTypeFilter
+local IsTradeskillTrainer = _G.IsTradeskillTrainer
+local OpenTrainer = _G.OpenTrainer
+local SelectTrainerService = _G.SelectTrainerService
+local SetTrainerServiceTypeFilter = _G.SetTrainerServiceTypeFilter
+
+--Transmogrification functions
+
+local ApplyTransmogrifications = _G.ApplyTransmogrifications
+local CanTransmogrifyItemWithItem = _G.CanTransmogrifyItemWithItem
+local ClearTransmogrifySlot = _G.ClearTransmogrifySlot
+local ClickTransmogrifySlot = _G.ClickTransmogrifySlot
+local CloseTransmogrifyFrame = _G.CloseTransmogrifyFrame
+local GetItemTransmogrifyInfo = _G.GetItemTransmogrifyInfo
+local GetTransmogrifyCost = _G.GetTransmogrifyCost
+local GetTransmogrifySlotInfo = _G.GetTransmogrifySlotInfo
+local UseItemForTransmogrify = _G.UseItemForTransmogrify
+local UseVoidItemForTransmogrify = _G.UseVoidItemForTransmogrify
+local ValidateTransmogrifications = _G.ValidateTransmogrifications
+
+--Tutorial functions
+
+local CanResetTutorials = _G.CanResetTutorials
+local ClearTutorials = _G.ClearTutorials
+local FlagTutorial = _G.FlagTutorial
+local GetNextCompleatedTutorial = _G.GetNextCompleatedTutorial
+local GetPrevCompleatedTutorial = _G.GetPrevCompleatedTutorial
+local GetTutorialsEnabled = _G.GetTutorialsEnabled
+local IsTutorialFlagged = _G.IsTutorialFlagged
+local ResetTutorials = _G.ResetTutorials
+local TriggerTutorial = _G.TriggerTutorial
+
+--UI/Visual functions
+
+local ConsoleAddMessage = _G.ConsoleAddMessage
+local ConsoleExec = _G.ConsoleExec
+local GetNamePlateMotionType = _G.GetNamePlateMotionType
+local GetNumNamePlateMotionTypes = _G.GetNumNamePlateMotionTypes
+local SetNamePlateMotionType = _G.SetNamePlateMotionType
+local SetupFullscreenScale = _G.SetupFullscreenScale
+local ShowCloak = _G.ShowCloak
+local ShowHelm = _G.ShowHelm
+local ShowingCloak = _G.ShowingCloak
+local ShowingHelm = _G.ShowingHelm
+local message = _G.message
+
+--Unit functions
+
+local CanInspect = _G.CanInspect
+local CheckInteractDistance = _G.CheckInteractDistance
+local ClosestUnitPosition = _G.ClosestUnitPosition
+local GetGuildInfo = _G.GetGuildInfo
+local GetMuteStatus = _G.GetMuteStatus
+local GetPlayerInfoByGUID = _G.GetPlayerInfoByGUID
+local GetUnitName = _G.GetUnitName
+local GetUnitSpeed = _G.GetUnitSpeed
+local IsIgnoredOrMuted = _G.IsIgnoredOrMuted
+local IsMuted = _G.IsMuted
+local IsUnitOnQuest = _G.IsUnitOnQuest
+local SetPortraitTexture = _G.SetPortraitTexture
+local UnitAffectingCombat = _G.UnitAffectingCombat
+local UnitAlternatePowerCounterInfo = _G.UnitAlternatePowerCounterInfo
+local UnitAlternatePowerInfo = _G.UnitAlternatePowerInfo
+local UnitAlternatePowerTextureInfo = _G.UnitAlternatePowerTextureInfo
+local UnitAura = _G.UnitAura
+local UnitBonusArmor = _G.UnitBonusArmor
+local UnitBuff = _G.UnitBuff
+local UnitCanAssist = _G.UnitCanAssist
+local UnitCanAttack = _G.UnitCanAttack
+local UnitCanCooperate = _G.UnitCanCooperate
+local UnitCanPetBattle = _G.UnitCanPetBattle
+local UnitCastingInfo = _G.UnitCastingInfo
+local UnitChannelInfo = _G.UnitChannelInfo
+local UnitClass = _G.UnitClass
+local UnitClassBase = _G.UnitClassBase
+local UnitClassification = _G.UnitClassification
+local UnitCreatureFamily = _G.UnitCreatureFamily
+local UnitCreatureType = _G.UnitCreatureType
+local UnitDebuff = _G.UnitDebuff
+local UnitExists = _G.UnitExists
+local UnitFactionGroup = _G.UnitFactionGroup
+local UnitFullName = _G.UnitFullName
+local UnitGUID = _G.UnitGUID
+local UnitGetIncomingHeals = _G.UnitGetIncomingHeals
+local UnitGetTotalAbsorbs = _G.UnitGetTotalAbsorbs
+local UnitGetTotalHealAbsorbs = _G.UnitGetTotalHealAbsorbs
+local UnitGroupRolesAssigned = _G.UnitGroupRolesAssigned
+local UnitHPPerStamina = _G.UnitHPPerStamina
+local UnitHasRelicSlot = _G.UnitHasRelicSlot
+local UnitHasVehiclePlayerFrameUI = _G.UnitHasVehiclePlayerFrameUI
+local UnitHealth = _G.UnitHealth
+local UnitHealthMax = _G.UnitHealthMax
+local UnitInBattleground = _G.UnitInBattleground
+local UnitInOtherParty = _G.UnitInOtherParty
+local UnitInParty = _G.UnitInParty
+local UnitInPhase = _G.UnitInPhase
+local UnitInRaid = _G.UnitInRaid
+local UnitInRange = _G.UnitInRange
+local UnitInVehicleHidesPetFrame = _G.UnitInVehicleHidesPetFrame
+local UnitIsAFK = _G.UnitIsAFK
+local UnitIsCharmed = _G.UnitIsCharmed
+local UnitIsConnected = _G.UnitIsConnected
+local UnitIsControlling = _G.UnitIsControlling
+local UnitIsCorpse = _G.UnitIsCorpse
+local UnitIsDND = _G.UnitIsDND
+local UnitIsDead = _G.UnitIsDead
+local UnitIsDeadOrGhost = _G.UnitIsDeadOrGhost
+local UnitIsEnemy = _G.UnitIsEnemy
+local UnitIsFeignDeath = _G.UnitIsFeignDeath
+local UnitIsFriend = _G.UnitIsFriend
+local UnitIsGhost = _G.UnitIsGhost
+local UnitIsGroupAssistant = _G.UnitIsGroupAssistant
+local UnitIsInMyGuild = _G.UnitIsInMyGuild
+local UnitIsPVP = _G.UnitIsPVP
+local UnitIsPVPFreeForAll = _G.UnitIsPVPFreeForAll
+local UnitIsPVPSanctuary = _G.UnitIsPVPSanctuary
+local UnitIsPlayer = _G.UnitIsPlayer
+local UnitIsPossessed = _G.UnitIsPossessed
+local UnitIsRaidOfficer = _G.UnitIsRaidOfficer
+local UnitIsSameServer = _G.UnitIsSameServer
+local UnitIsTapped = _G.UnitIsTapped
+local UnitIsTappedByAllThreatList = _G.UnitIsTappedByAllThreatList
+local UnitIsTappedByPlayer = _G.UnitIsTappedByPlayer
+local UnitIsTrivial = _G.UnitIsTrivial
+local UnitIsUnconscious = _G.UnitIsUnconscious
+local UnitIsUnit = _G.UnitIsUnit
+local UnitIsVisible = _G.UnitIsVisible
+local UnitLeadsAnyGroup = _G.UnitLeadsAnyGroup
+local UnitLevel = _G.UnitLevel
+local UnitMana = _G.UnitMana
+local UnitManaMax = _G.UnitManaMax
+local UnitName = _G.UnitName
+local UnitNumPowerBarTimers = _G.UnitNumPowerBarTimers
+local UnitOnTaxi = _G.UnitOnTaxi
+local UnitPVPName = _G.UnitPVPName
+local UnitPlayerControlled = _G.UnitPlayerControlled
+local UnitPlayerOrPetInParty = _G.UnitPlayerOrPetInParty
+local UnitPlayerOrPetInRaid = _G.UnitPlayerOrPetInRaid
+local UnitPosition = _G.UnitPosition
+local UnitPower = _G.UnitPower
+local UnitPowerBarTimerInfo = _G.UnitPowerBarTimerInfo
+local UnitPowerMax = _G.UnitPowerMax
+local UnitPowerType = _G.UnitPowerType
+local UnitRace = _G.UnitRace
+local UnitReaction = _G.UnitReaction
+local UnitRealmRelationship = _G.UnitRealmRelationship
+local UnitSelectionColor = _G.UnitSelectionColor
+local UnitSetRole = _G.UnitSetRole
+local UnitSex = _G.UnitSex
+local UnitSpellHaste = _G.UnitSpellHaste
+local UnitStagger = _G.UnitStagger
+local UnitThreatPercentageOfLead = _G.UnitThreatPercentageOfLead
+local UnitUsingVehicle = _G.UnitUsingVehicle
+
+--Utility functions
+
+local BreakUpLargeNumbers = _G.BreakUpLargeNumbers
+local C_Timer.After = _G.C_Timer.After
+local CreateFont = _G.CreateFont
+local CreateFrame = _G.CreateFrame
+local EnumerateFrames = _G.EnumerateFrames
+local GetAutoCompleteResults = _G.GetAutoCompleteResults
+local GetBindingText = _G.GetBindingText
+local GetClassInfo = _G.GetClassInfo
+local GetClassInfoByID = _G.GetClassInfoByID
+local GetClickFrame = _G.GetClickFrame
+local GetCurrentKeyBoardFocus = _G.GetCurrentKeyBoardFocus
+local GetEventTime = _G.GetEventTime
+local GetFramesRegisteredForEvent = _G.GetFramesRegisteredForEvent
+local GetMirrorTimerInfo = _G.GetMirrorTimerInfo
+local GetMirrorTimerProgress = _G.GetMirrorTimerProgress
+local GetMouseButtonClicked = _G.GetMouseButtonClicked
+local GetMouseButtonName = _G.GetMouseButtonName
+local GetMouseFocus = _G.GetMouseFocus
+local GetMuteName = _G.GetMuteName
+local GetNumClasses = _G.GetNumClasses
+local GetNumFrames = _G.GetNumFrames
+local GetText = _G.GetText
+local GetTime = _G.GetTime
+local IsEuropeanNumbers = _G.IsEuropeanNumbers
+local IsLoggedIn = _G.IsLoggedIn
+local IsMouseButtonDown = _G.IsMouseButtonDown
+local RequestTimePlayed = _G.RequestTimePlayed
+local RunScript = _G.RunScript
+local SecondsToTime = _G.SecondsToTime
+local SetPortraitToTexture = _G.SetPortraitToTexture
+local debuglocals = _G.debuglocals
+local getglobal = _G.getglobal
+local scrub = _G.scrub
+local setglobal = _G.setglobal
+local strconcat = _G.strconcat
+local strjoin = _G.strjoin
+local strsplit = _G.strsplit
+local strtrim = _G.strtrim
+local wipe = _G.wipe
+
+--Vehicle functions
+
+local CanEjectPassengerFromSeat = _G.CanEjectPassengerFromSeat
+local CanExitVehicle = _G.CanExitVehicle
+local CanSwitchVehicleSeat = _G.CanSwitchVehicleSeat
+local CanSwitchVehicleSeats = _G.CanSwitchVehicleSeats
+local CombatTextSetActiveUnit = _G.CombatTextSetActiveUnit
+local EjectPassengerFromSeat = _G.EjectPassengerFromSeat
+local GetVehicleBarIndex = _G.GetVehicleBarIndex
+local GetVehicleUIIndicator = _G.GetVehicleUIIndicator
+local GetVehicleUIIndicatorSeat = _G.GetVehicleUIIndicatorSeat
+local IsUsingVehicleControls = _G.IsUsingVehicleControls
+local IsVehicleAimAngleAdjustable = _G.IsVehicleAimAngleAdjustable
+local IsVehicleAimPowerAdjustable = _G.IsVehicleAimPowerAdjustable
+local UnitControllingVehicle = _G.UnitControllingVehicle
+local UnitHasVehicleUI = _G.UnitHasVehicleUI
+local UnitInVehicle = _G.UnitInVehicle
+local UnitInVehicleControlSeat = _G.UnitInVehicleControlSeat
+local UnitIsControlling = _G.UnitIsControlling
+local UnitSwitchToVehicleSeat = _G.UnitSwitchToVehicleSeat
+local UnitTargetsVehicleInRaidUI = _G.UnitTargetsVehicleInRaidUI
+local UnitUsingVehicle = _G.UnitUsingVehicle
+local UnitVehicleSeatCount = _G.UnitVehicleSeatCount
+local UnitVehicleSeatInfo = _G.UnitVehicleSeatInfo
+local UnitVehicleSkin = _G.UnitVehicleSkin
+local VehicleAimDecrement = _G.VehicleAimDecrement
+local VehicleAimDownStart = _G.VehicleAimDownStart
+local VehicleAimDownStop = _G.VehicleAimDownStop
+local VehicleAimGetAngle = _G.VehicleAimGetAngle
+local VehicleAimGetNormAngle = _G.VehicleAimGetNormAngle
+local VehicleAimGetNormPower = _G.VehicleAimGetNormPower
+local VehicleAimIncrement = _G.VehicleAimIncrement
+local VehicleAimRequestAngle = _G.VehicleAimRequestAngle
+local VehicleAimRequestNormAngle = _G.VehicleAimRequestNormAngle
+local VehicleAimSetNormPower = _G.VehicleAimSetNormPower
+local VehicleAimUpStart = _G.VehicleAimUpStart
+local VehicleAimUpStop = _G.VehicleAimUpStop
+local VehicleCameraZoomIn = _G.VehicleCameraZoomIn
+local VehicleCameraZoomOut = _G.VehicleCameraZoomOut
+local VehicleExit = _G.VehicleExit
+local VehicleNextSeat = _G.VehicleNextSeat
+local VehiclePrevSeat = _G.VehiclePrevSeat
+
+--Video functions
+
+local AntiAliasingSupported = _G.AntiAliasingSupported
+local AutoChooseCurrentGraphicsSetting = _G.AutoChooseCurrentGraphicsSetting
+local GetCurrentGraphicsSetting = _G.GetCurrentGraphicsSetting
+local GetCurrentResolution = _G.GetCurrentResolution
+local GetDefaultVideoOptions = _G.GetDefaultVideoOptions
+local GetDefaultVideoQualityOption = _G.GetDefaultVideoQualityOption
+local GetFramerate = _G.GetFramerate
+local GetGamma = _G.GetGamma
+local GetGraphicsAPIs = _G.GetGraphicsAPIs
+local GetMaxAnimFramerate = _G.GetMaxAnimFramerate
+local GetMonitorAspectRatio = _G.GetMonitorAspectRatio
+local GetMonitorCount = _G.GetMonitorCount
+local GetMonitorName = _G.GetMonitorName
+local GetNumberOfDetailTiles = _G.GetNumberOfDetailTiles
+local GetRefreshRates = _G.GetRefreshRates
+local GetScreenHeight = _G.GetScreenHeight
+local GetScreenResolutions = _G.GetScreenResolutions
+local GetScreenWidth = _G.GetScreenWidth
+local GetVideoCaps = _G.GetVideoCaps
+local GetVideoOptions = _G.GetVideoOptions
+local IsDesaturateSupported = _G.IsDesaturateSupported
+local IsStereoVideoAvailable = _G.IsStereoVideoAvailable
+local RestartGx = _G.RestartGx
+local SetCurrentGraphicsSetting = _G.SetCurrentGraphicsSetting
+local SetDefaultVideoOptions = _G.SetDefaultVideoOptions
+local SetGamma = _G.SetGamma
+local SetMaxAnimFramerate = _G.SetMaxAnimFramerate
+local SetScreenResolution = _G.SetScreenResolution
+local SetSelectedScreenResolutionIndex = _G.SetSelectedScreenResolutionIndex
+
+--Voice functions
+
+local AddMute = _G.AddMute
+local AddOrDelMute = _G.AddOrDelMute
+local ChannelSilenceAll = _G.ChannelSilenceAll
+local ChannelSilenceVoice = _G.ChannelSilenceVoice
+local ChannelUnSilenceAll = _G.ChannelUnSilenceAll
+local ChannelUnSilenceVoice = _G.ChannelUnSilenceVoice
+local ChannelVoiceOff = _G.ChannelVoiceOff
+local ChannelVoiceOn = _G.ChannelVoiceOn
+local DelMute = _G.DelMute
+local DisplayChannelVoiceOff = _G.DisplayChannelVoiceOff
+local DisplayChannelVoiceOn = _G.DisplayChannelVoiceOn
+local GetActiveVoiceChannel = _G.GetActiveVoiceChannel
+local GetMuteName = _G.GetMuteName
+local GetMuteStatus = _G.GetMuteStatus
+local GetNumMutes = _G.GetNumMutes
+local GetNumVoiceSessionMembersBySessionID = _G.GetNumVoiceSessionMembersBySessionID
+local GetNumVoiceSessions = _G.GetNumVoiceSessions
+local GetSelectedMute = _G.GetSelectedMute
+local GetVoiceCurrentSessionID = _G.GetVoiceCurrentSessionID
+local GetVoiceSessionInfo = _G.GetVoiceSessionInfo
+local GetVoiceSessionMemberInfoBySessionID = _G.GetVoiceSessionMemberInfoBySessionID
+local GetVoiceStatus = _G.GetVoiceStatus
+local IsIgnoredOrMuted = _G.IsIgnoredOrMuted
+local IsMuted = _G.IsMuted
+local IsSilenced = _G.IsSilenced
+local IsVoiceChatAllowed = _G.IsVoiceChatAllowed
+local IsVoiceChatAllowedByServer = _G.IsVoiceChatAllowedByServer
+local IsVoiceChatEnabled = _G.IsVoiceChatEnabled
+local SetActiveVoiceChannel = _G.SetActiveVoiceChannel
+local SetActiveVoiceChannelBySessionID = _G.SetActiveVoiceChannelBySessionID
+local SetSelectedMute = _G.SetSelectedMute
+local UnitIsSilenced = _G.UnitIsSilenced
+local UnitIsTalking = _G.UnitIsTalking
+local VoiceChat_ActivatePrimaryCaptureCallback = _G.VoiceChat_ActivatePrimaryCaptureCallback
+local VoiceChat_GetCurrentMicrophoneSignalLevel = _G.VoiceChat_GetCurrentMicrophoneSignalLevel
+local VoiceChat_IsPlayingLoopbackSound = _G.VoiceChat_IsPlayingLoopbackSound
+local VoiceChat_IsRecordingLoopbackSound = _G.VoiceChat_IsRecordingLoopbackSound
+local VoiceChat_PlayLoopbackSound = _G.VoiceChat_PlayLoopbackSound
+local VoiceChat_RecordLoopbackSound = _G.VoiceChat_RecordLoopbackSound
+local VoiceChat_StartCapture = _G.VoiceChat_StartCapture
+local VoiceChat_StopCapture = _G.VoiceChat_StopCapture
+local VoiceChat_StopPlayingLoopbackSound = _G.VoiceChat_StopPlayingLoopbackSound
+local VoiceChat_StopRecordingLoopbackSound = _G.VoiceChat_StopRecordingLoopbackSound
+local VoiceEnumerateCaptureDevices = _G.VoiceEnumerateCaptureDevices
+local VoiceEnumerateOutputDevices = _G.VoiceEnumerateOutputDevices
+local VoiceGetCurrentCaptureDevice = _G.VoiceGetCurrentCaptureDevice
+local VoiceGetCurrentOutputDevice = _G.VoiceGetCurrentOutputDevice
+local VoiceIsDisabledByClient = _G.VoiceIsDisabledByClient
+local VoicePushToTalkStart = _G.VoicePushToTalkStart
+local VoicePushToTalkStop = _G.VoicePushToTalkStop
+local VoiceSelectCaptureDevice = _G.VoiceSelectCaptureDevice
+local VoiceSelectOutputDevice = _G.VoiceSelectOutputDevice
+
+--Void storage functions
+
+local CanUseVoidStorage = _G.CanUseVoidStorage
+local ClearVoidTransferDepositSlot = _G.ClearVoidTransferDepositSlot
+local ClickVoidStorageSlot = _G.ClickVoidStorageSlot
+local ClickVoidTransferDepositSlot = _G.ClickVoidTransferDepositSlot
+local ClickVoidTransferWithdrawalSlot = _G.ClickVoidTransferWithdrawalSlot
+local CloseVoidStorageFrame = _G.CloseVoidStorageFrame
+local ExecuteVoidTransfer = _G.ExecuteVoidTransfer
+local GetNumVoidTransferDeposit = _G.GetNumVoidTransferDeposit
+local GetNumVoidTransferWithdrawal = _G.GetNumVoidTransferWithdrawal
+local GetVoidItemHyperlinkString = _G.GetVoidItemHyperlinkString
+local GetVoidItemInfo = _G.GetVoidItemInfo
+local GetVoidStorageSlotPageIndex = _G.GetVoidStorageSlotPageIndex
+local GetVoidTransferCost = _G.GetVoidTransferCost
+local GetVoidTransferDepositInfo = _G.GetVoidTransferDepositInfo
+local GetVoidTransferWithdrawalInfo = _G.GetVoidTransferWithdrawalInfo
+local GetVoidUnlockCost = _G.GetVoidUnlockCost
+local IsVoidStorageReady = _G.IsVoidStorageReady
+local UnlockVoidStorage = _G.UnlockVoidStorage
+local UseVoidItemForTransmogrify = _G.UseVoidItemForTransmogrify
+
+--Wargame functions
+
+local CanInitiateWarGame = _G.CanInitiateWarGame
+local CollapseWarGameHeader = _G.CollapseWarGameHeader
+local CommentatorStartWargame = _G.CommentatorStartWargame
+local ExpandWarGameHeader = _G.ExpandWarGameHeader
+local GetNumWarGameTypes = _G.GetNumWarGameTypes
+local GetSelectedWarGameType = _G.GetSelectedWarGameType
+local GetWarGameQueueStatus = _G.GetWarGameQueueStatus
+local GetWarGameTypeInfo = _G.GetWarGameTypeInfo
+local IsWargame = _G.IsWargame
+local SetSelectedWarGameType = _G.SetSelectedWarGameType
+local StartSpectatorWarGame = _G.StartSpectatorWarGame
+local StartWarGame = _G.StartWarGame
+local StartWarGameByName = _G.StartWarGameByName
+local UpdateWarGamesList = _G.UpdateWarGamesList
+local WarGameRespond = _G.WarGameRespond
+
+--Zone information functions
+
+local GetMinimapZoneText = _G.GetMinimapZoneText
+local GetRealZoneText = _G.GetRealZoneText
+local GetSubZoneText = _G.GetSubZoneText
+local GetZonePVPInfo = _G.GetZonePVPInfo
+local GetZoneText = _G.GetZoneText
+local HasDraenorZoneAbility = _G.HasDraenorZoneAbility
+local IsSubZonePVPPOI = _G.IsSubZonePVPPOI
+
+--_(API_CAT_CHALLENGE)
+
+local C_Scenario.IsChallengeMode = _G.C_Scenario.IsChallengeMode
+local GetChallengeBestTime = _G.GetChallengeBestTime
+local GetChallengeBestTimeInfo = _G.GetChallengeBestTimeInfo
+local GetChallengeBestTimeNum = _G.GetChallengeBestTimeNum
+local GetChallengeMapMoney = _G.GetChallengeMapMoney
+local GetChallengeMapRewardInfo = _G.GetChallengeMapRewardInfo
+local GetChallengeMode = _G.GetChallengeMode
+local GetChallengeModeCompletionInfo = _G.GetChallengeModeCompletionInfo
+local GetChallengeModeCompletionReward = _G.GetChallengeModeCompletionReward
+local GetChallengeModeLeaderInfo = _G.GetChallengeModeLeaderInfo
+local GetChallengeModeMapInfo = _G.GetChallengeModeMapInfo
+local GetChallengeModeMapPlayerStats = _G.GetChallengeModeMapPlayerStats
+local GetChallengeModeMapTable = _G.GetChallengeModeMapTable
+local GetChallengeModeMapTimes = _G.GetChallengeModeMapTimes
+local GetNumChallengeMapRewards = _G.GetNumChallengeMapRewards
+local GetNumChallengeModeLeaders = _G.GetNumChallengeModeLeaders
+local RequestChallengeModeLeaders = _G.RequestChallengeModeLeaders
+local RequestChallengeModeMapInfo = _G.RequestChallengeModeMapInfo
+local RequestChallengeModeRewards = _G.RequestChallengeModeRewards
+local ResetChallengeMode = _G.ResetChallengeMode
+
+--_(API_CAT_EJ)
+
+local EJ_ClearSearch = _G.EJ_ClearSearch
+local EJ_GetCreatureInfo = _G.EJ_GetCreatureInfo
+local EJ_GetCurrentInstance = _G.EJ_GetCurrentInstance
+local EJ_GetCurrentTier = _G.EJ_GetCurrentTier
+local EJ_GetDifficulty = _G.EJ_GetDifficulty
+local EJ_GetEncounterInfo = _G.EJ_GetEncounterInfo
+local EJ_GetEncounterInfoByIndex = _G.EJ_GetEncounterInfoByIndex
+local EJ_GetInstanceByIndex = _G.EJ_GetInstanceByIndex
+local EJ_GetInstanceInfo = _G.EJ_GetInstanceInfo
+local EJ_GetLootFilter = _G.EJ_GetLootFilter
+local EJ_GetLootInfo = _G.EJ_GetLootInfo
+local EJ_GetLootInfoByIndex = _G.EJ_GetLootInfoByIndex
+local EJ_GetMapEncounter = _G.EJ_GetMapEncounter
+local EJ_GetNumLoot = _G.EJ_GetNumLoot
+local EJ_GetNumSearchResults = _G.EJ_GetNumSearchResults
+local EJ_GetNumTiers = _G.EJ_GetNumTiers
+local EJ_GetSearchResult = _G.EJ_GetSearchResult
+local EJ_GetSectionInfo = _G.EJ_GetSectionInfo
+local EJ_GetSectionPath = _G.EJ_GetSectionPath
+local EJ_GetTierInfo = _G.EJ_GetTierInfo
+local EJ_HandleLinkPath = _G.EJ_HandleLinkPath
+local EJ_InstanceIsRaid = _G.EJ_InstanceIsRaid
+local EJ_IsValidInstanceDifficulty = _G.EJ_IsValidInstanceDifficulty
+local EJ_ResetLootFilter = _G.EJ_ResetLootFilter
+local EJ_SelectEncounter = _G.EJ_SelectEncounter
+local EJ_SelectInstance = _G.EJ_SelectInstance
+local EJ_SelectTier = _G.EJ_SelectTier
+local EJ_SetDifficulty = _G.EJ_SetDifficulty
+local EJ_SetLootFilter = _G.EJ_SetLootFilter
+local EJ_SetSearch = _G.EJ_SetSearch
+
+--_(API_CAT_GARRISON)
+
+local C_Garrison.AddFollowerToMission = _G.C_Garrison.AddFollowerToMission
+local C_Garrison.AssignFollowerToBuilding = _G.C_Garrison.AssignFollowerToBuilding
+local C_Garrison.CanGenerateRecruits = _G.C_Garrison.CanGenerateRecruits
+local C_Garrison.CanOpenMissionChest = _G.C_Garrison.CanOpenMissionChest
+local C_Garrison.CanSetRecruitmentPreference = _G.C_Garrison.CanSetRecruitmentPreference
+local C_Garrison.CanUpgradeGarrison = _G.C_Garrison.CanUpgradeGarrison
+local C_Garrison.CancelConstruction = _G.C_Garrison.CancelConstruction
+local C_Garrison.CastSpellOnFollower = _G.C_Garrison.CastSpellOnFollower
+local C_Garrison.CloseArchitect = _G.C_Garrison.CloseArchitect
+local C_Garrison.CloseGarrisonTradeskillNPC = _G.C_Garrison.CloseGarrisonTradeskillNPC
+local C_Garrison.CloseMissionNPC = _G.C_Garrison.CloseMissionNPC
+local C_Garrison.CloseRecruitmentNPC = _G.C_Garrison.CloseRecruitmentNPC
+local C_Garrison.CloseTradeskillCrafter = _G.C_Garrison.CloseTradeskillCrafter
+local C_Garrison.GenerateRecruits = _G.C_Garrison.GenerateRecruits
+local C_Garrison.GetAvailableMissions = _G.C_Garrison.GetAvailableMissions
+local C_Garrison.GetAvailableRecruits = _G.C_Garrison.GetAvailableRecruits
+local C_Garrison.GetBasicMissionInfo = _G.C_Garrison.GetBasicMissionInfo
+local C_Garrison.GetBuffedFollowersForMission = _G.C_Garrison.GetBuffedFollowersForMission
+local C_Garrison.GetBuildingInfo = _G.C_Garrison.GetBuildingInfo
+local C_Garrison.GetBuildingLockInfo = _G.C_Garrison.GetBuildingLockInfo
+local C_Garrison.GetBuildingSizes = _G.C_Garrison.GetBuildingSizes
+local C_Garrison.GetBuildingSpecInfo = _G.C_Garrison.GetBuildingSpecInfo
+local C_Garrison.GetBuildingTimeRemaining = _G.C_Garrison.GetBuildingTimeRemaining
+local C_Garrison.GetBuildingTooltip = _G.C_Garrison.GetBuildingTooltip
+local C_Garrison.GetBuildingUpgradeInfo = _G.C_Garrison.GetBuildingUpgradeInfo
+local C_Garrison.GetBuildings = _G.C_Garrison.GetBuildings
+local C_Garrison.GetBuildingsForPlot = _G.C_Garrison.GetBuildingsForPlot
+local C_Garrison.GetBuildingsForSize = _G.C_Garrison.GetBuildingsForSize
+local C_Garrison.GetCompleteMissions = _G.C_Garrison.GetCompleteMissions
+local C_Garrison.GetFollowerAbilities = _G.C_Garrison.GetFollowerAbilities
+local C_Garrison.GetFollowerAbilityAtIndex = _G.C_Garrison.GetFollowerAbilityAtIndex
+local C_Garrison.GetFollowerAbilityAtIndexByID = _G.C_Garrison.GetFollowerAbilityAtIndexByID
+local C_Garrison.GetFollowerAbilityCounterMechanicInfo = _G.C_Garrison.GetFollowerAbilityCounterMechanicInfo
+local C_Garrison.GetFollowerAbilityDescription = _G.C_Garrison.GetFollowerAbilityDescription
+local C_Garrison.GetFollowerAbilityIcon = _G.C_Garrison.GetFollowerAbilityIcon
+local C_Garrison.GetFollowerAbilityIsTrait = _G.C_Garrison.GetFollowerAbilityIsTrait
+local C_Garrison.GetFollowerAbilityLink = _G.C_Garrison.GetFollowerAbilityLink
+local C_Garrison.GetFollowerAbilityName = _G.C_Garrison.GetFollowerAbilityName
+local C_Garrison.GetFollowerActivationCost = _G.C_Garrison.GetFollowerActivationCost
+local C_Garrison.GetFollowerBiasForMission = _G.C_Garrison.GetFollowerBiasForMission
+local C_Garrison.GetFollowerClassSpec = _G.C_Garrison.GetFollowerClassSpec
+local C_Garrison.GetFollowerClassSpecAtlas = _G.C_Garrison.GetFollowerClassSpecAtlas
+local C_Garrison.GetFollowerClassSpecByID = _G.C_Garrison.GetFollowerClassSpecByID
+local C_Garrison.GetFollowerClassSpecName = _G.C_Garrison.GetFollowerClassSpecName
+local C_Garrison.GetFollowerDisplayID = _G.C_Garrison.GetFollowerDisplayID
+local C_Garrison.GetFollowerDisplayIDByID = _G.C_Garrison.GetFollowerDisplayIDByID
+local C_Garrison.GetFollowerInfo = _G.C_Garrison.GetFollowerInfo
+local C_Garrison.GetFollowerInfoForBuilding = _G.C_Garrison.GetFollowerInfoForBuilding
+local C_Garrison.GetFollowerItemLevelAverage = _G.C_Garrison.GetFollowerItemLevelAverage
+local C_Garrison.GetFollowerItems = _G.C_Garrison.GetFollowerItems
+local C_Garrison.GetFollowerLevel = _G.C_Garrison.GetFollowerLevel
+local C_Garrison.GetFollowerLevelXP = _G.C_Garrison.GetFollowerLevelXP
+local C_Garrison.GetFollowerLink = _G.C_Garrison.GetFollowerLink
+local C_Garrison.GetFollowerLinkByID = _G.C_Garrison.GetFollowerLinkByID
+local C_Garrison.GetFollowerMissionCompleteInfo = _G.C_Garrison.GetFollowerMissionCompleteInfo
+local C_Garrison.GetFollowerModelItems = _G.C_Garrison.GetFollowerModelItems
+local C_Garrison.GetFollowerName = _G.C_Garrison.GetFollowerName
+local C_Garrison.GetFollowerNameByID = _G.C_Garrison.GetFollowerNameByID
+local C_Garrison.GetFollowerPortraitIconIDByID = _G.C_Garrison.GetFollowerPortraitIconIDByID
+local C_Garrison.GetFollowerQuality = _G.C_Garrison.GetFollowerQuality
+local C_Garrison.GetFollowerQualityTable = _G.C_Garrison.GetFollowerQualityTable
+local C_Garrison.GetFollowerSoftCap = _G.C_Garrison.GetFollowerSoftCap
+local C_Garrison.GetFollowerSourceTextByID = _G.C_Garrison.GetFollowerSourceTextByID
+local C_Garrison.GetFollowerStatus = _G.C_Garrison.GetFollowerStatus
+local C_Garrison.GetFollowerTraitAtIndex = _G.C_Garrison.GetFollowerTraitAtIndex
+local C_Garrison.GetFollowerTraitAtIndexByID = _G.C_Garrison.GetFollowerTraitAtIndexByID
+local C_Garrison.GetFollowerXP = _G.C_Garrison.GetFollowerXP
+local C_Garrison.GetFollowerXPTable = _G.C_Garrison.GetFollowerXPTable
+local C_Garrison.GetFollowers = _G.C_Garrison.GetFollowers
+local C_Garrison.GetFollowersTraitsForMission = _G.C_Garrison.GetFollowersTraitsForMission
+local C_Garrison.GetGarrisonInfo = _G.C_Garrison.GetGarrisonInfo
+local C_Garrison.GetGarrisonUpgradeCost = _G.C_Garrison.GetGarrisonUpgradeCost
+local C_Garrison.GetInProgressMissions = _G.C_Garrison.GetInProgressMissions
+local C_Garrison.GetLandingPageItems = _G.C_Garrison.GetLandingPageItems
+local C_Garrison.GetLandingPageShipmentCount = _G.C_Garrison.GetLandingPageShipmentCount
+local C_Garrison.GetLandingPageShipmentInfo = _G.C_Garrison.GetLandingPageShipmentInfo
+local C_Garrison.GetMissionCompleteEncounters = _G.C_Garrison.GetMissionCompleteEncounters
+local C_Garrison.GetMissionDisplayIDs = _G.C_Garrison.GetMissionDisplayIDs
+local C_Garrison.GetMissionInfo = _G.C_Garrison.GetMissionInfo
+local C_Garrison.GetMissionLink = _G.C_Garrison.GetMissionLink
+local C_Garrison.GetMissionMaxFollowers = _G.C_Garrison.GetMissionMaxFollowers
+local C_Garrison.GetMissionName = _G.C_Garrison.GetMissionName
+local C_Garrison.GetMissionRewardInfo = _G.C_Garrison.GetMissionRewardInfo
+local C_Garrison.GetMissionTimes = _G.C_Garrison.GetMissionTimes
+local C_Garrison.GetMissionUncounteredMechanics = _G.C_Garrison.GetMissionUncounteredMechanics
+local C_Garrison.GetNumActiveFollowers = _G.C_Garrison.GetNumActiveFollowers
+local C_Garrison.GetNumFollowerActivationsRemaining = _G.C_Garrison.GetNumFollowerActivationsRemaining
+local C_Garrison.GetNumFollowerDailyActivations = _G.C_Garrison.GetNumFollowerDailyActivations
+local C_Garrison.GetNumFollowers = _G.C_Garrison.GetNumFollowers
+local C_Garrison.GetNumFollowersOnMission = _G.C_Garrison.GetNumFollowersOnMission
+local C_Garrison.GetNumPendingShipments = _G.C_Garrison.GetNumPendingShipments
+local C_Garrison.GetNumShipmentReagents = _G.C_Garrison.GetNumShipmentReagents
+local C_Garrison.GetOwnedBuildingInfo = _G.C_Garrison.GetOwnedBuildingInfo
+local C_Garrison.GetOwnedBuildingInfoAbbrev = _G.C_Garrison.GetOwnedBuildingInfoAbbrev
+local C_Garrison.GetPartyBuffs = _G.C_Garrison.GetPartyBuffs
+local C_Garrison.GetPartyMissionInfo = _G.C_Garrison.GetPartyMissionInfo
+local C_Garrison.GetPendingShipmentInfo = _G.C_Garrison.GetPendingShipmentInfo
+local C_Garrison.GetPlots = _G.C_Garrison.GetPlots
+local C_Garrison.GetPlotsForBuilding = _G.C_Garrison.GetPlotsForBuilding
+local C_Garrison.GetPossibleFollowersForBuilding = _G.C_Garrison.GetPossibleFollowersForBuilding
+local C_Garrison.GetRecruitAbilities = _G.C_Garrison.GetRecruitAbilities
+local C_Garrison.GetRecruiterAbilityCategories = _G.C_Garrison.GetRecruiterAbilityCategories
+local C_Garrison.GetRecruiterAbilityList = _G.C_Garrison.GetRecruiterAbilityList
+local C_Garrison.GetRecruitmentPreferences = _G.C_Garrison.GetRecruitmentPreferences
+local C_Garrison.GetRewardChance = _G.C_Garrison.GetRewardChance
+local C_Garrison.GetShipmentContainerInfo = _G.C_Garrison.GetShipmentContainerInfo
+local C_Garrison.GetShipmentItemInfo = _G.C_Garrison.GetShipmentItemInfo
+local C_Garrison.GetShipmentReagentCurrencyInfo = _G.C_Garrison.GetShipmentReagentCurrencyInfo
+local C_Garrison.GetShipmentReagentInfo = _G.C_Garrison.GetShipmentReagentInfo
+local C_Garrison.GetShipmentReagentItemLink = _G.C_Garrison.GetShipmentReagentItemLink
+local C_Garrison.GetSpecChangeCost = _G.C_Garrison.GetSpecChangeCost
+local C_Garrison.GetTabForPlot = _G.C_Garrison.GetTabForPlot
+local C_Garrison.IsAboveFollowerSoftCap = _G.C_Garrison.IsAboveFollowerSoftCap
+local C_Garrison.IsFollowerCollected = _G.C_Garrison.IsFollowerCollected
+local C_Garrison.IsFollowerUnique = _G.C_Garrison.IsFollowerUnique
+local C_Garrison.IsInvasionAvailable = _G.C_Garrison.IsInvasionAvailable
+local C_Garrison.IsOnGarrisonMap = _G.C_Garrison.IsOnGarrisonMap
+local C_Garrison.IsUsingPartyGarrison = _G.C_Garrison.IsUsingPartyGarrison
+local C_Garrison.IsVisitGarrisonAvailable = _G.C_Garrison.IsVisitGarrisonAvailable
+local C_Garrison.MarkMissionComplete = _G.C_Garrison.MarkMissionComplete
+local C_Garrison.MissionBonusRoll = _G.C_Garrison.MissionBonusRoll
+local C_Garrison.PlaceBuilding = _G.C_Garrison.PlaceBuilding
+local C_Garrison.RecruitFollower = _G.C_Garrison.RecruitFollower
+local C_Garrison.RemoveFollower = _G.C_Garrison.RemoveFollower
+local C_Garrison.RemoveFollowerFromBuilding = _G.C_Garrison.RemoveFollowerFromBuilding
+local C_Garrison.RemoveFollowerFromMission = _G.C_Garrison.RemoveFollowerFromMission
+local C_Garrison.RequestGarrisonUpgradeable = _G.C_Garrison.RequestGarrisonUpgradeable
+local C_Garrison.RequestLandingPageShipmentInfo = _G.C_Garrison.RequestLandingPageShipmentInfo
+local C_Garrison.RequestShipmentCreation = _G.C_Garrison.RequestShipmentCreation
+local C_Garrison.RequestShipmentInfo = _G.C_Garrison.RequestShipmentInfo
+local C_Garrison.SearchForFollower = _G.C_Garrison.SearchForFollower
+local C_Garrison.SetBuildingActive = _G.C_Garrison.SetBuildingActive
+local C_Garrison.SetBuildingSpecialization = _G.C_Garrison.SetBuildingSpecialization
+local C_Garrison.SetFollowerFavorite = _G.C_Garrison.SetFollowerFavorite
+local C_Garrison.SetFollowerInactive = _G.C_Garrison.SetFollowerInactive
+local C_Garrison.SetRecruitmentPreferences = _G.C_Garrison.SetRecruitmentPreferences
+local C_Garrison.SetUsingPartyGarrison = _G.C_Garrison.SetUsingPartyGarrison
+local C_Garrison.StartMission = _G.C_Garrison.StartMission
+local C_Garrison.SwapBuildings = _G.C_Garrison.SwapBuildings
+local C_Garrison.UpgradeBuilding = _G.C_Garrison.UpgradeBuilding
+local C_Garrison.UpgradeGarrison = _G.C_Garrison.UpgradeGarrison
+local C_Trophy.MonumentChangeAppearanceToTrophyID = _G.C_Trophy.MonumentChangeAppearanceToTrophyID
+local C_Trophy.MonumentCloseMonumentUI = _G.C_Trophy.MonumentCloseMonumentUI
+local C_Trophy.MonumentGetCount = _G.C_Trophy.MonumentGetCount
+local C_Trophy.MonumentGetSelectedTrophyID = _G.C_Trophy.MonumentGetSelectedTrophyID
+local C_Trophy.MonumentGetTrophyInfoByIndex = _G.C_Trophy.MonumentGetTrophyInfoByIndex
+local C_Trophy.MonumentLoadList = _G.C_Trophy.MonumentLoadList
+local C_Trophy.MonumentLoadSelectedTrophyID = _G.C_Trophy.MonumentLoadSelectedTrophyID
+local C_Trophy.MonumentRevertAppearanceToSaved = _G.C_Trophy.MonumentRevertAppearanceToSaved
+local C_Trophy.MonumentSaveSelection = _G.C_Trophy.MonumentSaveSelection
+
+--_(API_CAT_MOUNT)
+
+local C_MountJournal.Dismiss = _G.C_MountJournal.Dismiss
+local C_MountJournal.GetCollectedFilterSetting = _G.C_MountJournal.GetCollectedFilterSetting
+local C_MountJournal.GetIsFavorite = _G.C_MountJournal.GetIsFavorite
+local C_MountJournal.GetMountInfo = _G.C_MountJournal.GetMountInfo
+local C_MountJournal.GetMountInfoExtra = _G.C_MountJournal.GetMountInfoExtra
+local C_MountJournal.GetNumMounts = _G.C_MountJournal.GetNumMounts
+local C_MountJournal.Pickup = _G.C_MountJournal.Pickup
+local C_MountJournal.SetCollectedFilterSetting = _G.C_MountJournal.SetCollectedFilterSetting
+local C_MountJournal.SetIsFavorite = _G.C_MountJournal.SetIsFavorite
+local C_MountJournal.Summon = _G.C_MountJournal.Summon
+
+--_(API_CAT_PREMADE)
+
+local C_LFGList.AcceptInvite = _G.C_LFGList.AcceptInvite
+local C_LFGList.ApplyToGroup = _G.C_LFGList.ApplyToGroup
+local C_LFGList.CancelApplication = _G.C_LFGList.CancelApplication
+local C_LFGList.ClearSearchResults = _G.C_LFGList.ClearSearchResults
+local C_LFGList.CreateListing = _G.C_LFGList.CreateListing
+local C_LFGList.DeclineApplicant = _G.C_LFGList.DeclineApplicant
+local C_LFGList.DeclineInvite = _G.C_LFGList.DeclineInvite
+local C_LFGList.GetActiveEntryInfo = _G.C_LFGList.GetActiveEntryInfo
+local C_LFGList.GetActivityGroupInfo = _G.C_LFGList.GetActivityGroupInfo
+local C_LFGList.GetActivityInfo = _G.C_LFGList.GetActivityInfo
+local C_LFGList.GetActivityInfoExpensive = _G.C_LFGList.GetActivityInfoExpensive
+local C_LFGList.GetApplicantInfo = _G.C_LFGList.GetApplicantInfo
+local C_LFGList.GetApplicantMemberInfo = _G.C_LFGList.GetApplicantMemberInfo
+local C_LFGList.GetApplicantMemberStats = _G.C_LFGList.GetApplicantMemberStats
+local C_LFGList.GetApplicants = _G.C_LFGList.GetApplicants
+local C_LFGList.GetApplicationInfo = _G.C_LFGList.GetApplicationInfo
+local C_LFGList.GetApplications = _G.C_LFGList.GetApplications
+local C_LFGList.GetAvailableActivities = _G.C_LFGList.GetAvailableActivities
+local C_LFGList.GetAvailableActivityGroups = _G.C_LFGList.GetAvailableActivityGroups
+local C_LFGList.GetAvailableCategories = _G.C_LFGList.GetAvailableCategories
+local C_LFGList.GetAvailableRoles = _G.C_LFGList.GetAvailableRoles
+local C_LFGList.GetCategoryInfo = _G.C_LFGList.GetCategoryInfo
+local C_LFGList.GetNumApplicants = _G.C_LFGList.GetNumApplicants
+local C_LFGList.GetNumApplications = _G.C_LFGList.GetNumApplications
+local C_LFGList.GetNumInvitedApplicantMembers = _G.C_LFGList.GetNumInvitedApplicantMembers
+local C_LFGList.GetRoleCheckInfo = _G.C_LFGList.GetRoleCheckInfo
+local C_LFGList.GetSearchResultEncounterInfo = _G.C_LFGList.GetSearchResultEncounterInfo
+local C_LFGList.GetSearchResultFriends = _G.C_LFGList.GetSearchResultFriends
+local C_LFGList.GetSearchResultInfo = _G.C_LFGList.GetSearchResultInfo
+local C_LFGList.GetSearchResultMemberCounts = _G.C_LFGList.GetSearchResultMemberCounts
+local C_LFGList.GetSearchResultMemberInfo = _G.C_LFGList.GetSearchResultMemberInfo
+local C_LFGList.GetSearchResults = _G.C_LFGList.GetSearchResults
+local C_LFGList.HasActivityList = _G.C_LFGList.HasActivityList
+local C_LFGList.InviteApplicant = _G.C_LFGList.InviteApplicant
+local C_LFGList.IsCurrentlyApplying = _G.C_LFGList.IsCurrentlyApplying
+local C_LFGList.RefreshApplicants = _G.C_LFGList.RefreshApplicants
+local C_LFGList.RemoveApplicant = _G.C_LFGList.RemoveApplicant
+local C_LFGList.RemoveListing = _G.C_LFGList.RemoveListing
+local C_LFGList.ReportApplicant = _G.C_LFGList.ReportApplicant
+local C_LFGList.ReportSearchResult = _G.C_LFGList.ReportSearchResult
+local C_LFGList.RequestAvailableActivities = _G.C_LFGList.RequestAvailableActivities
+local C_LFGList.Search = _G.C_LFGList.Search
+local C_LFGList.SetApplicantMemberRole = _G.C_LFGList.SetApplicantMemberRole
+local C_LFGList.UpdateListing = _G.C_LFGList.UpdateListing
+
+--_(API_CAT_SCENARIO)
+
+local C_Scenario.GetBonusStepRewardQuestID = _G.C_Scenario.GetBonusStepRewardQuestID
+local C_Scenario.GetBonusSteps = _G.C_Scenario.GetBonusSteps
+local C_Scenario.GetCriteriaInfo = _G.C_Scenario.GetCriteriaInfo
+local C_Scenario.GetCriteriaInfoByStep = _G.C_Scenario.GetCriteriaInfoByStep
+local C_Scenario.GetInfo = _G.C_Scenario.GetInfo
+local C_Scenario.GetProvingGroundsInfo = _G.C_Scenario.GetProvingGroundsInfo
+local C_Scenario.GetScenarioIconInfo = _G.C_Scenario.GetScenarioIconInfo
+local C_Scenario.GetStepInfo = _G.C_Scenario.GetStepInfo
+local C_Scenario.GetSupersededObjectives = _G.C_Scenario.GetSupersededObjectives
+local C_Scenario.IsChallengeMode = _G.C_Scenario.IsChallengeMode
+local C_Scenario.IsInScenario = _G.C_Scenario.IsInScenario
+local C_Scenario.TreatScenarioAsDungeon = _G.C_Scenario.TreatScenarioAsDungeon
+local GetNumRandomScenarios = _G.GetNumRandomScenarios
+local GetNumScenarios = _G.GetNumScenarios
+local GetRandomScenarioBestChoice = _G.GetRandomScenarioBestChoice
+local GetRandomScenarioInfo = _G.GetRandomScenarioInfo
+local GetScenariosChoiceOrder = _G.GetScenariosChoiceOrder
+local IsInScenarioGroup = _G.IsInScenarioGroup
+
+--_(API_CAT_TOY)
+
+local C_ToyBox.ClearAllSourceTypesFiltered = _G.C_ToyBox.ClearAllSourceTypesFiltered
+local C_ToyBox.FilterToys = _G.C_ToyBox.FilterToys
+local C_ToyBox.GetFilterCollected = _G.C_ToyBox.GetFilterCollected
+local C_ToyBox.GetFilterUncollected = _G.C_ToyBox.GetFilterUncollected
+local C_ToyBox.GetIsFavorite = _G.C_ToyBox.GetIsFavorite
+local C_ToyBox.GetNumFilteredToys = _G.C_ToyBox.GetNumFilteredToys
+local C_ToyBox.GetNumLearnedDisplayedToys = _G.C_ToyBox.GetNumLearnedDisplayedToys
+local C_ToyBox.GetNumTotalDisplayedToys = _G.C_ToyBox.GetNumTotalDisplayedToys
+local C_ToyBox.GetNumToys = _G.C_ToyBox.GetNumToys
+local C_ToyBox.GetToyFromIndex = _G.C_ToyBox.GetToyFromIndex
+local C_ToyBox.GetToyInfo = _G.C_ToyBox.GetToyInfo
+local C_ToyBox.GetToyLink = _G.C_ToyBox.GetToyLink
+local C_ToyBox.HasFavorites = _G.C_ToyBox.HasFavorites
+local C_ToyBox.IsSourceTypeFiltered = _G.C_ToyBox.IsSourceTypeFiltered
+local C_ToyBox.PickupToyBoxItem = _G.C_ToyBox.PickupToyBoxItem
+local C_ToyBox.SetAllSourceTypesFiltered = _G.C_ToyBox.SetAllSourceTypesFiltered
+local C_ToyBox.SetFilterCollected = _G.C_ToyBox.SetFilterCollected
+local C_ToyBox.SetFilterSourceType = _G.C_ToyBox.SetFilterSourceType
+local C_ToyBox.SetFilterString = _G.C_ToyBox.SetFilterString
+local C_ToyBox.SetFilterUncollected = _G.C_ToyBox.SetFilterUncollected
+local C_ToyBox.SetIsFavorite = _G.C_ToyBox.SetIsFavorite
+local PlayerHasToy = _G.PlayerHasToy
+local UseToy = _G.UseToy
+local UseToyByName = _G.UseToyByName
\ No newline at end of file
diff --git a/SVUI_!Core/system/_docklets/breakstuff.lua b/SVUI_!Core/system/_docklets/breakstuff.lua
index 94c030c..c869228 100644
--- a/SVUI_!Core/system/_docklets/breakstuff.lua
+++ b/SVUI_!Core/system/_docklets/breakstuff.lua
@@ -11,11 +11,32 @@ local unpack  = _G.unpack;
 local select  = _G.select;
 local pairs   = _G.pairs;
 local ipairs  = _G.ipairs;
-local tinsert   = _G.tinsert;
+local print   = _G.print;
+local tinsert = _G.tinsert;
 local table   = _G.table;
-local match = string.match;
+local match   = string.match;
 --[[ TABLE METHODS ]]--
 local tremove, tcopy, twipe, tsort, tcat = table.remove, table.copy, table.wipe, table.sort, table.concat;
+--BLIZZARD API
+local CreateFrame           = _G.CreateFrame;
+local InCombatLockdown      = _G.InCombatLockdown;
+local GameTooltip           = _G.GameTooltip;
+local ReloadUI              = _G.ReloadUI;
+local hooksecurefunc        = _G.hooksecurefunc;
+local GetItemInfo      		= _G.GetItemInfo;
+local GetItemCount          = _G.GetItemCount;
+local GetSpellInfo      	= _G.GetSpellInfo;
+local IsSpellKnown      	= _G.IsSpellKnown;
+local IsEquippableItem  	= _G.IsEquippableItem;
+local GetSpellBookItemInfo  = _G.GetSpellBookItemInfo;
+local ERR_NOT_IN_COMBAT     = _G.ERR_NOT_IN_COMBAT;
+local ITEM_MILLABLE     	= _G.ITEM_MILLABLE;
+local ITEM_PROSPECTABLE   	= _G.ITEM_PROSPECTABLE;
+
+local GetMouseFocus  				= _G.GetMouseFocus;
+local GetContainerItemLink  		= _G.GetContainerItemLink;
+local AutoCastShine_AutoCastStart  	= _G.AutoCastShine_AutoCastStart;
+local AutoCastShine_AutoCastStop  	= _G.AutoCastShine_AutoCastStop;
 --[[
 ##########################################################
 GET ADDON DATA
diff --git a/SVUI_!Core/system/_docklets/garrison.lua b/SVUI_!Core/system/_docklets/garrison.lua
index beb4f9a..53cee10 100644
--- a/SVUI_!Core/system/_docklets/garrison.lua
+++ b/SVUI_!Core/system/_docklets/garrison.lua
@@ -36,10 +36,29 @@ local math      	= _G.math;
 local min 			= math.min;
 local floor         = math.floor
 local ceil          = math.ceil
+
+local time          = _G.time;
+local wipe          = _G.wipe;
 --BLIZZARD API
-local GameTooltip          	= _G.GameTooltip;
-local InCombatLockdown     	= _G.InCombatLockdown;
-local CreateFrame          	= _G.CreateFrame;
+local CreateFrame           = _G.CreateFrame;
+local InCombatLockdown      = _G.InCombatLockdown;
+local GameTooltip           = _G.GameTooltip;
+local ReloadUI              = _G.ReloadUI;
+local hooksecurefunc        = _G.hooksecurefunc;
+local IsAltKeyDown          = _G.IsAltKeyDown;
+local IsShiftKeyDown        = _G.IsShiftKeyDown;
+local IsControlKeyDown      = _G.IsControlKeyDown;
+local IsModifiedClick       = _G.IsModifiedClick;
+local PlaySound             = _G.PlaySound;
+local PlaySoundFile         = _G.PlaySoundFile;
+local PlayMusic             = _G.PlayMusic;
+local StopMusic             = _G.StopMusic;
+local ToggleFrame           = _G.ToggleFrame;
+local ERR_NOT_IN_COMBAT     = _G.ERR_NOT_IN_COMBAT;
+local RAID_CLASS_COLORS     = _G.RAID_CLASS_COLORS;
+local CUSTOM_CLASS_COLORS   = _G.CUSTOM_CLASS_COLORS;
+
+local C_Garrison            = _G.C_Garrison;
 local GetTime         		= _G.GetTime;
 local GetItemCooldown       = _G.GetItemCooldown;
 local GetItemCount         	= _G.GetItemCount;
@@ -48,7 +67,7 @@ local GetSpellInfo         	= _G.GetSpellInfo;
 local IsSpellKnown         	= _G.IsSpellKnown;
 local GetGarrison       	= _G.GetGarrison;
 local GetProfessionInfo    	= _G.GetProfessionInfo;
-local hooksecurefunc     	= _G.hooksecurefunc;
+local GetCurrencyInfo    	= _G.GetCurrencyInfo;
 --[[
 ##########################################################
 ADDON
@@ -93,33 +112,33 @@ end

 local GarrisonButton_OnEvent = function(self, event, ...)
     if (event == "GARRISON_HIDE_LANDING_PAGE") then
-        if(not InCombatLockdown() and SVUI_Garrison:IsShown()) then
-        	SVUI_Garrison.Parent:SetWidth(SVUI_Garrison.Parent:GetWidth() - SVUI_Garrison:GetWidth())
-        	SVUI_Garrison:Hide()
+        if(not InCombatLockdown() and self:IsShown()) then
+        	self.Parent:SetWidth(self.Parent:GetWidth() - self:GetWidth())
+        	self:Hide()
         end;
     elseif (event == "GARRISON_SHOW_LANDING_PAGE") then
-    	if(not InCombatLockdown() and (not SVUI_Garrison:IsShown())) then
-    		SVUI_Garrison.Parent:SetWidth(SVUI_Garrison.Parent:GetWidth() + SVUI_Garrison:GetWidth())
-    		SVUI_Garrison:Show()
+    	if(not InCombatLockdown() and (not self:IsShown())) then
+    		self.Parent:SetWidth(self.Parent:GetWidth() + self:GetWidth())
+    		self:Show()
     	end;
     end
-    if((not SVUI_Garrison.StartAlert) or (not SVUI_Garrison.StopAlert)) then return end
+    if((not self.StartAlert) or (not self.StopAlert)) then return end
     if ( event == "GARRISON_BUILDING_ACTIVATABLE" ) then
-        SVUI_Garrison:StartAlert();
+        self:StartAlert();
     elseif ( event == "GARRISON_BUILDING_ACTIVATED" or event == "GARRISON_ARCHITECT_OPENED") then
-        SVUI_Garrison:StopAlert();
+        self:StopAlert();
     elseif ( event == "GARRISON_MISSION_FINISHED" ) then
-        SVUI_Garrison:StartAlert();
+        self:StartAlert();
     elseif ( event == "GARRISON_MISSION_NPC_OPENED" ) then
-        SVUI_Garrison:StopAlert();
+        self:StopAlert();
     elseif (event == "GARRISON_INVASION_AVAILABLE") then
-        SVUI_Garrison:StartAlert();
+        self:StartAlert();
     elseif (event == "GARRISON_INVASION_UNAVAILABLE") then
-        SVUI_Garrison:StopAlert();
+        self:StopAlert();
     elseif (event == "SHIPMENT_UPDATE") then
         local shipmentStarted = ...;
         if (shipmentStarted) then
-            SVUI_Garrison:StartAlert();
+            self:StartAlert();
         end
     end
 end
@@ -240,14 +259,15 @@ local SetGarrisonTooltip = function(self)

 	GetActiveMissions()
 	GetBuildingData()
-	if(SVUI_Garrison.StopAlert) then
-		SVUI_Garrison:StopAlert()
+	if(self.StopAlert) then
+		self:StopAlert()
 	end
 end

 local function LoadToolBarGarrison()
-	if((not SV.db.Dock.dockTools.garrison) or MOD.GarrisonLoaded) then return end
-	GarrisonLandingPageMinimapButton:FadeOut()
+	local mmButton = _G.GarrisonLandingPageMinimapButton;
+	if((not SV.db.Dock.dockTools.garrison) or (not mmButton) or MOD.GarrisonLoaded) then return end
+	mmButton:FadeOut()
 	if(InCombatLockdown()) then
 		MOD.GarrisonNeedsUpdate = true;
 		MOD:RegisterEvent("PLAYER_REGEN_ENABLED");
@@ -256,7 +276,7 @@ local function LoadToolBarGarrison()

 	local garrison = SV.Dock:SetDockButton("BottomLeft", L["Garrison Landing Page"], SV.media.dock.garrisonToolIcon, nil, "SVUI_Garrison", SetGarrisonTooltip, "SecureActionButtonTemplate")
 	garrison:SetAttribute("type1", "click")
-	garrison:SetAttribute("clickbutton", GarrisonLandingPageMinimapButton)
+	garrison:SetAttribute("clickbutton", mmButton)

 	local garrisonStone = GetItemInfo(110560);
 	if(garrisonStone and type(garrisonStone) == "string") then
@@ -265,14 +285,14 @@ local function LoadToolBarGarrison()
 		garrison:SetAttribute("macrotext", "/use [nomod] " .. garrisonStone)
 	end

-	GarrisonLandingPageMinimapButton:RemoveTextures()
-	GarrisonLandingPageMinimapButton:ClearAllPoints()
-	GarrisonLandingPageMinimapButton:SetAllPoints(garrison)
-	GarrisonLandingPageMinimapButton:SetNormalTexture("")
-	GarrisonLandingPageMinimapButton:SetPushedTexture("")
-	GarrisonLandingPageMinimapButton:SetHighlightTexture("")
+	mmButton:RemoveTextures()
+	mmButton:ClearAllPoints()
+	mmButton:SetAllPoints(garrison)
+	mmButton:SetNormalTexture("")
+	mmButton:SetPushedTexture("")
+	mmButton:SetHighlightTexture("")

-	if(not GarrisonLandingPageMinimapButton:IsShown()) then
+	if(not mmButton:IsShown()) then
 		garrison.Parent:SetWidth(garrison.Parent:GetWidth() - garrison:GetWidth())
 		garrison:Hide()
 	end
@@ -303,6 +323,6 @@ function MOD:UpdateGarrisonTool()
 end

 function MOD:LoadGarrisonTool()
-	if((not SV.db.Dock.dockTools.garrison) or self.GarrisonLoaded or (not GarrisonLandingPageMinimapButton)) then return end
+	if((not SV.db.Dock.dockTools.garrison) or self.GarrisonLoaded or (not _G.GarrisonLandingPageMinimapButton)) then return end
 	SV.Timers:ExecuteTimer(LoadToolBarGarrison, 5)
 end
\ No newline at end of file
diff --git a/SVUI_!Core/system/_docklets/misc.lua b/SVUI_!Core/system/_docklets/misc.lua
index 5506664..1718d33 100644
--- a/SVUI_!Core/system/_docklets/misc.lua
+++ b/SVUI_!Core/system/_docklets/misc.lua
@@ -37,6 +37,9 @@ local min 			= math.min;
 local floor         = math.floor
 local ceil          = math.ceil
 --BLIZZARD API
+local Quit         			= _G.Quit;
+local Logout         		= _G.Logout;
+local ReloadUI         		= _G.ReloadUI;
 local GameTooltip          	= _G.GameTooltip;
 local InCombatLockdown     	= _G.InCombatLockdown;
 local CreateFrame          	= _G.CreateFrame;
@@ -48,7 +51,16 @@ local GetSpellInfo         	= _G.GetSpellInfo;
 local IsSpellKnown         	= _G.IsSpellKnown;
 local GetProfessions       	= _G.GetProfessions;
 local GetProfessionInfo    	= _G.GetProfessionInfo;
+local IsAltKeyDown          = _G.IsAltKeyDown;
+local IsShiftKeyDown        = _G.IsShiftKeyDown;
+local IsControlKeyDown      = _G.IsControlKeyDown;
+local IsModifiedClick       = _G.IsModifiedClick;
 local hooksecurefunc     	= _G.hooksecurefunc;
+local GetSpecialization    	= _G.GetSpecialization;
+local GetNumSpecGroups    	= _G.GetNumSpecGroups;
+local GetActiveSpecGroup    = _G.GetActiveSpecGroup;
+local SetActiveSpecGroup    = _G.SetActiveSpecGroup;
+local GetSpecializationInfo = _G.GetSpecializationInfo;
 --[[
 ##########################################################
 ADDON
diff --git a/SVUI_!Core/system/_docklets/raidleader.lua b/SVUI_!Core/system/_docklets/raidleader.lua
index 1453087..edf5150 100644
--- a/SVUI_!Core/system/_docklets/raidleader.lua
+++ b/SVUI_!Core/system/_docklets/raidleader.lua
@@ -10,6 +10,19 @@ local _G = _G;
 local unpack 	= _G.unpack;
 local select 	= _G.select;
 local pairs 	= _G.pairs;
+--BLIZZARD API
+local Quit         			= _G.Quit;
+local Logout         		= _G.Logout;
+local ReloadUI         		= _G.ReloadUI;
+local GameTooltip          	= _G.GameTooltip;
+local InCombatLockdown     	= _G.InCombatLockdown;
+local CreateFrame          	= _G.CreateFrame;
+local IsInRaid              = _G.IsInRaid;
+local IsInGroup             = _G.IsInGroup;
+local IsInInstance          = _G.IsInInstance;
+local ROLE_POLL          	= _G.ROLE_POLL;
+local READY_CHECK          	= _G.READY_CHECK;
+local RAID_CONTROL          = _G.RAID_CONTROL;
 --[[
 ##########################################################
 GET ADDON DATA
diff --git a/SVUI_!Core/system/_reports/bags.lua b/SVUI_!Core/system/_reports/bags.lua
index 04b666b..89a999e 100644
--- a/SVUI_!Core/system/_reports/bags.lua
+++ b/SVUI_!Core/system/_reports/bags.lua
@@ -34,6 +34,14 @@ local gmatch, gsub = string.gmatch, string.gsub;
 local abs, ceil, floor, round = math.abs, math.ceil, math.floor, math.round;  -- Basic
 --[[ TABLE METHODS ]]--
 local twipe, tsort = table.wipe, table.sort;
+
+local NUM_BAG_SLOTS             = _G.NUM_BAG_SLOTS;
+local CURRENCY          		= _G.CURRENCY;
+local GetContainerNumFreeSlots  = _G.GetContainerNumFreeSlots;
+local GetContainerNumSlots      = _G.GetContainerNumSlots;
+local ToggleAllBags     		= _G.ToggleAllBags;
+local MAX_WATCHED_TOKENS        = _G.MAX_WATCHED_TOKENS;
+local GetBackpackCurrencyInfo  = _G.GetBackpackCurrencyInfo;
 --[[
 ##########################################################
 GET ADDON DATA
diff --git a/SVUI_!Core/system/_reports/dps.lua b/SVUI_!Core/system/_reports/dps.lua
index 8af55ca..37e46a9 100644
--- a/SVUI_!Core/system/_reports/dps.lua
+++ b/SVUI_!Core/system/_reports/dps.lua
@@ -16,6 +16,10 @@ local select 	= _G.select;
 local string 	= _G.string;
 --[[ STRING METHODS ]]--
 local match, sub, join = string.match, string.sub, string.join;
+local time      = _G.time;
+local wipe      = _G.wipe;
+local UnitGUID  = _G.UnitGUID;
+local UNIT_PET  = _G.UNIT_PET;
 --[[
 ##########################################################
 GET ADDON DATA
diff --git a/SVUI_!Core/system/_reports/durability.lua b/SVUI_!Core/system/_reports/durability.lua
index 4a1e943..5ac05c1 100644
--- a/SVUI_!Core/system/_reports/durability.lua
+++ b/SVUI_!Core/system/_reports/durability.lua
@@ -34,6 +34,10 @@ local gmatch, gsub = string.gmatch, string.gsub;
 local abs, ceil, floor, round = math.abs, math.ceil, math.floor, math.round;  -- Basic
 --[[ TABLE METHODS ]]--
 local twipe, tsort = table.wipe, table.sort;
+local ToggleCharacter      			= _G.ToggleCharacter;
+local GetInventoryItemDurability    = _G.GetInventoryItemDurability;
+local GetInventorySlotInfo  		= _G.GetInventorySlotInfo;
+local DURABILITY  					= _G.DURABILITY;
 --[[
 ##########################################################
 GET ADDON DATA
diff --git a/SVUI_!Core/system/_reports/experience.lua b/SVUI_!Core/system/_reports/experience.lua
index be1454d..0b27c40 100644
--- a/SVUI_!Core/system/_reports/experience.lua
+++ b/SVUI_!Core/system/_reports/experience.lua
@@ -18,8 +18,11 @@ local string 	= _G.string;
 local format = string.format;
 local gsub = string.gsub;
 --MATH
-local math          = _G.math;
-local min         = math.min
+local math      = _G.math;
+local min       = math.min
+local UnitXP    = _G.UnitXP;
+local UnitXPMax = _G.UnitXPMax;
+local GetXPExhaustion  = _G.GetXPExhaustion;
 --[[
 ##########################################################
 GET ADDON DATA
diff --git a/SVUI_!Core/system/_reports/friends.lua b/SVUI_!Core/system/_reports/friends.lua
index 5e162a4..6f7ca2a 100644
--- a/SVUI_!Core/system/_reports/friends.lua
+++ b/SVUI_!Core/system/_reports/friends.lua
@@ -34,6 +34,30 @@ local gmatch, gsub = string.gmatch, string.gsub;
 local abs, ceil, floor, round = math.abs, math.ceil, math.floor, math.round;  -- Basic
 --[[ TABLE METHODS ]]--
 local wipe, sort = table.wipe, table.sort;
+
+local SetItemRef          	= _G.SetItemRef;
+local GetNumFriends         = _G.GetNumFriends;
+local BNGetNumFriends       = _G.BNGetNumFriends;
+local GetFriendInfo         = _G.GetFriendInfo;
+local BNGetFriendInfo       = _G.BNGetFriendInfo;
+local BNGetToonInfo         = _G.BNGetToonInfo;
+local GetRealmName          = _G.GetRealmName;
+local GetRealZoneText       = _G.GetRealZoneText;
+local InviteUnit            = _G.InviteUnit;
+local BNInviteFriend        = _G.BNInviteFriend;
+local BNSetCustomMessage    = _G.BNSetCustomMessage;
+local BNGetInfo          	= _G.BNGetInfo;
+local IsChatDND             = _G.IsChatDND;
+local IsChatAFK             = _G.IsChatAFK;
+local UnitInRaid            = _G.UnitInRaid;
+local UnitInParty           = _G.UnitInParty;
+local SendChatMessage       = _G.SendChatMessage;
+
+local AFK       = _G.AFK;
+local DND       = _G.DND;
+local GetQuestDifficultyColor = _G.GetQuestDifficultyColor;
+local LOCALIZED_CLASS_NAMES_MALE = _G.LOCALIZED_CLASS_NAMES_MALE;
+local LOCALIZED_CLASS_NAMES_FEMALE = _G.LOCALIZED_CLASS_NAMES_FEMALE;
 --[[
 ##########################################################
 GET ADDON DATA
diff --git a/SVUI_!Core/system/_reports/gold.lua b/SVUI_!Core/system/_reports/gold.lua
index db24e54..52d5271 100644
--- a/SVUI_!Core/system/_reports/gold.lua
+++ b/SVUI_!Core/system/_reports/gold.lua
@@ -34,6 +34,16 @@ local gmatch, gsub = string.gmatch, string.gsub;
 local abs, ceil, floor, round, mod = math.abs, math.ceil, math.floor, math.round, math.fmod;  -- Basic
 --[[ TABLE METHODS ]]--
 local twipe, tsort = table.wipe, table.sort;
+
+local IsLoggedIn            = _G.IsLoggedIn;
+local ToggleAllBags         = _G.ToggleAllBags;
+local IsLeftControlKeyDown  = _G.IsLeftControlKeyDown;
+local IsAltKeyDown          = _G.IsAltKeyDown;
+local IsShiftKeyDown        = _G.IsShiftKeyDown;
+local IsControlKeyDown      = _G.IsControlKeyDown;
+local IsModifiedClick       = _G.IsModifiedClick;
+local GetMoney              = _G.GetMoney;
+local BreakUpLargeNumbers   = _G.BreakUpLargeNumbers;
 --[[
 ##########################################################
 GET ADDON DATA
diff --git a/SVUI_!Core/system/_reports/guild.lua b/SVUI_!Core/system/_reports/guild.lua
index 16a95fb..a1b04d3 100644
--- a/SVUI_!Core/system/_reports/guild.lua
+++ b/SVUI_!Core/system/_reports/guild.lua
@@ -21,6 +21,37 @@ local format, join, gsub = string.format, string.join, string.gsub;
 --[[ MATH METHODS ]]--
 local ceil = math.ceil;  -- Basic
 local twipe, tsort = table.wipe, table.sort;
+local InCombatLockdown      = _G.InCombatLockdown;
+local GameTooltip           = _G.GameTooltip;
+local SetItemRef          	= _G.SetItemRef;
+local IsAltKeyDown          = _G.IsAltKeyDown;
+local IsShiftKeyDown        = _G.IsShiftKeyDown;
+local IsControlKeyDown      = _G.IsControlKeyDown;
+local IsModifiedClick       = _G.IsModifiedClick;
+local GetNumGuildMembers    = _G.GetNumGuildMembers;
+local GetGuildInfo         	= _G.GetGuildInfo;
+local GetRealmName          = _G.GetRealmName;
+local GuildRoster           = _G.GuildRoster;
+local GetGuildRosterInfo    = _G.GetGuildRosterInfo;
+local GetGuildFactionInfo   = _G.GetGuildFactionInfo;
+local GetRealZoneText       = _G.GetRealZoneText;
+local InviteUnit            = _G.InviteUnit;
+local IsChatDND             = _G.IsChatDND;
+local IsChatAFK             = _G.IsChatAFK;
+local IsInGuild             = _G.IsInGuild;
+local UnitInRaid            = _G.UnitInRaid;
+local UnitInParty           = _G.UnitInParty;
+local SendChatMessage       = _G.SendChatMessage;
+local ERR_NOT_IN_COMBAT     = _G.ERR_NOT_IN_COMBAT;
+local RAID_CLASS_COLORS     = _G.RAID_CLASS_COLORS;
+local CUSTOM_CLASS_COLORS   = _G.CUSTOM_CLASS_COLORS;
+local AFK       			= _G.AFK;
+local DND       			= _G.DND;
+local REMOTE_CHAT 			= _G.REMOTE_CHAT;
+local GUILD 				= _G.GUILD;
+local GUILD_MOTD 			= _G.GUILD_MOTD;
+local COMBAT_FACTION_CHANGE = _G.COMBAT_FACTION_CHANGE;
+local GetQuestDifficultyColor = _G.GetQuestDifficultyColor;
 --[[
 ##########################################################
 GET ADDON DATA
diff --git a/SVUI_!Core/system/_reports/hps.lua b/SVUI_!Core/system/_reports/hps.lua
index f2b0253..2bfd5c2 100644
--- a/SVUI_!Core/system/_reports/hps.lua
+++ b/SVUI_!Core/system/_reports/hps.lua
@@ -17,6 +17,10 @@ local string 	= _G.string;
 --[[ STRING METHODS ]]--
 local match, sub, join = string.match, string.sub, string.join;
 local max = math.max;
+local time      = _G.time;
+local wipe      = _G.wipe;
+local UnitGUID  = _G.UnitGUID;
+local UNIT_PET  = _G.UNIT_PET;
 --[[
 ##########################################################
 GET ADDON DATA
diff --git a/SVUI_!Core/system/_reports/system.lua b/SVUI_!Core/system/_reports/system.lua
index b904fbf..4a7e8ef 100644
--- a/SVUI_!Core/system/_reports/system.lua
+++ b/SVUI_!Core/system/_reports/system.lua
@@ -13,6 +13,7 @@ LOCALIZED LUA FUNCTIONS
 local _G = _G;
 local unpack 	= _G.unpack;
 local select 	= _G.select;
+local collectgarbage    = _G.collectgarbage;
 local string 	= _G.string;
 local math 		= _G.math;
 local table 	= _G.table;
@@ -22,6 +23,19 @@ local format = string.format;
 local floor = math.floor
 --[[ TABLE METHODS ]]--
 local tsort = table.sort;
+local IsShiftKeyDown        = _G.IsShiftKeyDown;
+local IsAddOnLoaded         = _G.IsAddOnLoaded;
+local GetNumAddOns          = _G.GetNumAddOns;
+local GetAddOnInfo          = _G.GetAddOnInfo;
+local GetFramerate          = _G.GetFramerate;
+local GetNetStats           = _G.GetNetStats;
+local GetAddOnCPUUsage      = _G.GetAddOnCPUUsage;
+local GetAddOnMemoryUsage   = _G.GetAddOnMemoryUsage;
+local ResetCPUUsage           = _G.ResetCPUUsage;
+local UpdateAddOnCPUUsage     = _G.UpdateAddOnCPUUsage;
+local UpdateAddOnMemoryUsage  = _G.UpdateAddOnMemoryUsage;
+local GetAvailableBandwidth   = _G.GetAvailableBandwidth;
+local GetDownloadedPercentage = _G.GetDownloadedPercentage;
 --[[
 ##########################################################
 GET ADDON DATA
diff --git a/SVUI_!Core/system/_reports/time.lua b/SVUI_!Core/system/_reports/time.lua
index 83b6f83..9a8198b 100644
--- a/SVUI_!Core/system/_reports/time.lua
+++ b/SVUI_!Core/system/_reports/time.lua
@@ -20,6 +20,26 @@ local math 		= _G.math;
 local format, join = string.format, string.join;
 --[[ MATH METHODS ]]--
 local floor = math.floor;
+local IsShiftKeyDown        = _G.IsShiftKeyDown;
+local GetGameTime         	= _G.GetGameTime;
+local GameTimeFrame         = _G.GameTimeFrame;
+local RequestRaidInfo       = _G.RequestRaidInfo;
+local SecondsToTime         = _G.SecondsToTime;
+local GetNetStats           = _G.GetNetStats;
+local GetNumWorldPVPAreas   = _G.GetNumWorldPVPAreas;
+local GetWorldPVPAreaInfo   = _G.GetWorldPVPAreaInfo;
+local GetNumSavedInstances  = _G.GetNumSavedInstances;
+local GetSavedInstanceInfo  = _G.GetSavedInstanceInfo;
+local GetDifficultyInfo     = _G.GetDifficultyInfo;
+local GetNumSavedWorldBosses= _G.GetNumSavedWorldBosses;
+local GetSavedWorldBossInfo = _G.GetSavedWorldBossInfo;
+
+local RAID_INFO_WORLD_BOSS      	= _G.RAID_INFO_WORLD_BOSS;
+local QUEUE_TIME_UNAVAILABLE      	= _G.QUEUE_TIME_UNAVAILABLE;
+local WINTERGRASP_IN_PROGRESS      	= _G.WINTERGRASP_IN_PROGRESS;
+local VOICE_CHAT_BATTLEGROUND      	= _G.VOICE_CHAT_BATTLEGROUND;
+local TIMEMANAGER_TOOLTIP_LOCALTIME = _G.TIMEMANAGER_TOOLTIP_LOCALTIME;
+local TIMEMANAGER_TOOLTIP_REALMTIME = _G.TIMEMANAGER_TOOLTIP_REALMTIME;
 --[[
 ##########################################################
 GET ADDON DATA
diff --git a/SVUI_!Core/system/_reports/tokens.lua b/SVUI_!Core/system/_reports/tokens.lua
index 5a22189..f9c5c03 100644
--- a/SVUI_!Core/system/_reports/tokens.lua
+++ b/SVUI_!Core/system/_reports/tokens.lua
@@ -15,7 +15,12 @@ local unpack 	= _G.unpack;
 local select 	= _G.select;
 local tinsert 	= _G.tinsert;
 local table     = _G.table;
-local twipe     = table.wipe;
+local twipe     = table.wipe;
+local GetCurrencyInfo           = _G.GetCurrencyInfo;
+local GetNumWatchedTokens       = _G.GetNumWatchedTokens;
+local GetBackpackCurrencyInfo   = _G.GetBackpackCurrencyInfo;
+local GetProfessions            = _G.GetProfessions;
+local IsLoggedIn                = _G.IsLoggedIn;
 --[[
 ##########################################################
 GET ADDON DATA
diff --git a/SVUI_!Core/system/alerts.lua b/SVUI_!Core/system/alerts.lua
index edc763d..d1a3b01 100644
--- a/SVUI_!Core/system/alerts.lua
+++ b/SVUI_!Core/system/alerts.lua
@@ -25,12 +25,22 @@ local tinsert 	= _G.tinsert;
 local string 	= _G.string;
 local math 		= _G.math;
 local table     = _G.table;
+local tContains = _G.tContains
 --[[ STRING METHODS ]]--
 local find, format, len, split = string.find, string.format, string.len, string.split;
 --[[ MATH METHODS ]]--
+local random = math.random;
 local abs, ceil, floor, round, max = math.abs, math.ceil, math.floor, math.round, math.max;
 --[[ TABLE METHODS ]]--
 local tremove, twipe = table.remove, table.wipe;
+
+local CreateFrame           = _G.CreateFrame;
+local InCombatLockdown      = _G.InCombatLockdown;
+local GameTooltip           = _G.GameTooltip;
+local ReloadUI              = _G.ReloadUI;
+local PlaySound             = _G.PlaySound;
+local PlaySoundFile         = _G.PlaySoundFile;
+local RAID_CLASS_COLORS     = _G.RAID_CLASS_COLORS;
 --[[
 ##########################################################
 GET ADDON DATA
diff --git a/SVUI_!Core/system/api.lua b/SVUI_!Core/system/api.lua
index da929e5..f950325 100644
--- a/SVUI_!Core/system/api.lua
+++ b/SVUI_!Core/system/api.lua
@@ -14,11 +14,17 @@ local ipairs    = _G.ipairs;
 local type      = _G.type;
 local error     = _G.error;
 local pcall     = _G.pcall;
-local tostring  = _G.tostring;
-local tonumber  = _G.tonumber;
+local tostring          = _G.tostring;
+local tonumber          = _G.tonumber;
+local getmetatable      = _G.getmetatable;
+local setmetatable      = _G.setmetatable;
+local collectgarbage    = _G.collectgarbage;
 local table     = _G.table;
-local string     = _G.string;
+local string    = _G.string;
 local math      = _G.math;
+local wipe      = _G.wipe;
+local tinsert       = _G.tinsert;
+local tremove       = _G.tremove;
 --[[ MATH METHODS ]]--
 local floor, abs, min, max = math.floor, math.abs, math.min, math.max;
 local parsefloat, ceil = math.parsefloat, math.ceil;
@@ -26,6 +32,25 @@ local parsefloat, ceil = math.parsefloat, math.ceil;
 local lower, upper = string.lower, string.upper;
 --[[ TABLE METHODS ]]--
 local tremove, tcopy, twipe, tsort, tconcat = table.remove, table.copy, table.wipe, table.sort, table.concat;
+--BLIZZARD API
+local CreateFrame           = _G.CreateFrame;
+local InCombatLockdown      = _G.InCombatLockdown;
+local GameTooltip           = _G.GameTooltip;
+local ReloadUI              = _G.ReloadUI;
+local GetTime               = _G.GetTime;
+local hooksecurefunc        = _G.hooksecurefunc;
+local IsAltKeyDown          = _G.IsAltKeyDown;
+local IsShiftKeyDown        = _G.IsShiftKeyDown;
+local IsControlKeyDown      = _G.IsControlKeyDown;
+local IsModifiedClick       = _G.IsModifiedClick;
+local PlaySound             = _G.PlaySound;
+local PlaySoundFile         = _G.PlaySoundFile;
+local SetCVar               = _G.SetCVar;
+local GetCVar               = _G.GetCVar;
+local GetCVarBool           = _G.GetCVarBool;
+local SquareButton_SetIcon  = _G.SquareButton_SetIcon;
+local RAID_CLASS_COLORS     = _G.RAID_CLASS_COLORS;
+local CUSTOM_CLASS_COLORS   = _G.CUSTOM_CLASS_COLORS;
 --[[
 ##########################################################
 GET ADDON DATA
@@ -479,6 +504,7 @@ local HookCustomBackdrop = function(self)
                 local w,h = self:GetSize()
                 local sizeMod = max(w,h)
                 local edgeSize = self.Panel:GetAttribute("panelPadding") or 1
+                local offset = ceil(edgeSize * 0.25)
                 self.Panel:SetBackdrop({
                     bgFile = newBgFile,
                     edgeFile = newBorderFile,
diff --git a/SVUI_!Core/system/core.lua b/SVUI_!Core/system/core.lua
index c077267..3f0a265 100644
--- a/SVUI_!Core/system/core.lua
+++ b/SVUI_!Core/system/core.lua
@@ -639,7 +639,7 @@ function SV:VersionCheck()
     if(_G.SVUI_TRANSFER_WIZARD) then
         local copied = SVUILib:GetSafeData("transfer_wizard_used");
         if(not copied) then
-            SVUI_TRANSFER_WIZARD()
+            _G.SVUI_TRANSFER_WIZARD()
         end
     else
         local version = SVUILib:GetSafeData("install_version");
diff --git a/SVUI_!Core/system/debug.lua b/SVUI_!Core/system/debug.lua
index 57ccbd6..7879dae 100644
--- a/SVUI_!Core/system/debug.lua
+++ b/SVUI_!Core/system/debug.lua
@@ -4,16 +4,28 @@ S V U I   By: Munglunch
 ############################################################################## ]]--
 --[[ GLOBALS ]]--
 local _G = _G;
-local unpack    = _G.unpack;
-local select    = _G.select;
-local pairs     = _G.pairs;
-local type      = _G.type;
-local tostring  = _G.tostring;
-local tonumber  = _G.tonumber;
+local unpack            = _G.unpack;
+local select            = _G.select;
+local assert            = _G.assert;
+local type              = _G.type;
+local error             = _G.error;
+local pcall             = _G.pcall;
+local print             = _G.print;
+local ipairs            = _G.ipairs;
+local pairs             = _G.pairs;
+local next              = _G.next;
+local rawset            = _G.rawset;
+local rawget            = _G.rawget;
+local tostring          = _G.tostring;
+local tonumber          = _G.tonumber;
+local getmetatable      = _G.getmetatable;
+local setmetatable      = _G.setmetatable;
+local collectgarbage    = _G.collectgarbage;
 local tinsert   = _G.tinsert;
 local string    = _G.string;
 local math      = _G.math;
 local table     = _G.table;
+local wipe      = _G.wipe;
 --[[ STRING METHODS ]]--
 local format, find, lower, match, gsub = string.format, string.find, string.lower, string.match, string.gsub;
 --[[ MATH METHODS ]]--
diff --git a/SVUI_!Core/system/dock.lua b/SVUI_!Core/system/dock.lua
index 7e0b7a5..cda64ab 100644
--- a/SVUI_!Core/system/dock.lua
+++ b/SVUI_!Core/system/dock.lua
@@ -27,7 +27,7 @@ local gsub          = string.gsub;
 local table 		= _G.table;
 local tinsert       = _G.tinsert;
 local tremove       = _G.tremove;
-local twipe 		= _G.wipe;
+local wipe 			= _G.wipe;
 --MATH
 local math      	= _G.math;
 local random 		= math.random;
@@ -47,6 +47,16 @@ local IsSpellKnown         	= _G.IsSpellKnown;
 local GetProfessions       	= _G.GetProfessions;
 local GetProfessionInfo    	= _G.GetProfessionInfo;
 local hooksecurefunc     	= _G.hooksecurefunc;
+local ReloadUI              = _G.ReloadUI;
+local IsAltKeyDown          = _G.IsAltKeyDown;
+local IsShiftKeyDown        = _G.IsShiftKeyDown;
+local IsControlKeyDown      = _G.IsControlKeyDown;
+local IsModifiedClick       = _G.IsModifiedClick;
+local PlaySound             = _G.PlaySound;
+local PlaySoundFile         = _G.PlaySoundFile;
+local UnitName              = _G.UnitName;
+local ToggleFrame           = _G.ToggleFrame;
+local ERR_NOT_IN_COMBAT     = _G.ERR_NOT_IN_COMBAT;
 --[[
 ##########################################################
 ADDON
diff --git a/SVUI_!Core/system/errors.lua b/SVUI_!Core/system/errors.lua
index 7531fb6..0c1cf82 100644
--- a/SVUI_!Core/system/errors.lua
+++ b/SVUI_!Core/system/errors.lua
@@ -9,6 +9,7 @@ LOCALIZED LUA FUNCTIONS
 local _G = _G;
 local unpack        = _G.unpack;
 local select        = _G.select;
+local pairs         = _G.pairs;
 --[[
 ##########################################################
 GET ADDON DATA
diff --git a/SVUI_!Core/system/funstuff.lua b/SVUI_!Core/system/funstuff.lua
index cd7bbe6..a01d7ef 100644
--- a/SVUI_!Core/system/funstuff.lua
+++ b/SVUI_!Core/system/funstuff.lua
@@ -7,8 +7,45 @@ LOCALIZED LUA FUNCTIONS
 ]]--
 --[[ GLOBALS ]]--
 local _G = _G;
-local unpack        = _G.unpack;
-local select        = _G.select;
+--LUA
+
+local unpack            = _G.unpack;
+local select            = _G.select;
+local assert            = _G.assert;
+local type              = _G.type;
+local error             = _G.error;
+local pcall             = _G.pcall;
+local print             = _G.print;
+local ipairs            = _G.ipairs;
+local pairs             = _G.pairs;
+local next              = _G.next;
+local rawset            = _G.rawset;
+local rawget            = _G.rawget;
+local tostring          = _G.tostring;
+local tonumber          = _G.tonumber;
+--STRING
+local string        = _G.string;
+local format        = string.format;
+local find          = string.find;
+--MATH
+local math          = _G.math;
+local random 		= math.random;
+--BLIZZARD API
+local CreateFrame           = _G.CreateFrame;
+local InCombatLockdown      = _G.InCombatLockdown;
+local GameTooltip           = _G.GameTooltip;
+local hooksecurefunc        = _G.hooksecurefunc;
+local PlaySound             = _G.PlaySound;
+local PlaySoundFile         = _G.PlaySoundFile;
+local PlayMusic             = _G.PlayMusic;
+local StopMusic             = _G.StopMusic;
+local SetCVar               = _G.SetCVar;
+local GetCVar               = _G.GetCVar;
+local UnitName              = _G.UnitName;
+local ToggleFrame           = _G.ToggleFrame;
+local ERR_NOT_IN_COMBAT     = _G.ERR_NOT_IN_COMBAT;
+local RAID_CLASS_COLORS     = _G.RAID_CLASS_COLORS;
+local CUSTOM_CLASS_COLORS   = _G.CUSTOM_CLASS_COLORS;
 --[[
 ##########################################################
 GET ADDON DATA
diff --git a/SVUI_!Core/system/layout.lua b/SVUI_!Core/system/layout.lua
index 38c5a9b..adc6b7b 100644
--- a/SVUI_!Core/system/layout.lua
+++ b/SVUI_!Core/system/layout.lua
@@ -23,6 +23,25 @@ local format, split = string.format, string.split;
 --[[ MATH METHODS ]]--
 local min, floor = math.min, math.floor;
 local parsefloat = math.parsefloat;
+--BLIZZARD API
+local CreateFrame           = _G.CreateFrame;
+local InCombatLockdown      = _G.InCombatLockdown;
+local GameTooltip           = _G.GameTooltip;
+local ReloadUI              = _G.ReloadUI;
+local hooksecurefunc        = _G.hooksecurefunc;
+local IsAltKeyDown          = _G.IsAltKeyDown;
+local IsShiftKeyDown        = _G.IsShiftKeyDown;
+local IsControlKeyDown      = _G.IsControlKeyDown;
+local IsModifiedClick       = _G.IsModifiedClick;
+local PlaySound             = _G.PlaySound;
+local PlaySoundFile         = _G.PlaySoundFile;
+local PlayMusic             = _G.PlayMusic;
+local StopMusic             = _G.StopMusic;
+local UnitName              = _G.UnitName;
+local ToggleFrame           = _G.ToggleFrame;
+local ERR_NOT_IN_COMBAT     = _G.ERR_NOT_IN_COMBAT;
+local RAID_CLASS_COLORS     = _G.RAID_CLASS_COLORS;
+local CUSTOM_CLASS_COLORS   = _G.CUSTOM_CLASS_COLORS;
 --[[
 ##########################################################
 GET ADDON DATA
@@ -711,7 +730,7 @@ function Layout:Update()
 	self.Anchors = SV.db.LAYOUT or {}
 	for frameName, frameData in pairs(self.Frames) do
 		local frame = _G[frameName];
-		local anchor1, parent, anchor2, x, y;
+		local anchor1, parent, anchor2, x, y, width, height;
 		if frame then
 			if (self.Anchors and self.Anchors[frameName] and (type(self.Anchors[frameName]) == "string")) then
 				anchor1, parent, anchor2, x, y, width, height = split("\031", self.Anchors[frameName])
diff --git a/SVUI_!Core/system/letsride.lua b/SVUI_!Core/system/letsride.lua
index b3a7b4f..96b33b2 100644
--- a/SVUI_!Core/system/letsride.lua
+++ b/SVUI_!Core/system/letsride.lua
@@ -10,6 +10,7 @@ local _G = _G;
 local unpack 		= _G.unpack;
 local select 		= _G.select;
 local pairs 		= _G.pairs;
+local type          = _G.type;
 local tonumber		= _G.tonumber;
 local tinsert 		= _G.tinsert;
 local table 		= _G.table;
@@ -17,6 +18,26 @@ local math 			= _G.math;
 local bit 			= _G.bit;
 local random 		= math.random;
 local twipe,band 	= table.wipe, bit.band;
+--BLIZZARD API
+local CreateFrame           = _G.CreateFrame;
+local InCombatLockdown      = _G.InCombatLockdown;
+local GameTooltip           = _G.GameTooltip;
+local LoadAddOn             = _G.LoadAddOn;
+local hooksecurefunc        = _G.hooksecurefunc;
+local IsAltKeyDown          = _G.IsAltKeyDown;
+local IsShiftKeyDown        = _G.IsShiftKeyDown;
+local IsControlKeyDown      = _G.IsControlKeyDown;
+local IsModifiedClick       = _G.IsModifiedClick;
+local PlaySound             = _G.PlaySound;
+local PlaySoundFile         = _G.PlaySoundFile;
+local PlayMusic             = _G.PlayMusic;
+local StopMusic             = _G.StopMusic;
+local UnitName              = _G.UnitName;
+local ToggleFrame           = _G.ToggleFrame;
+local ERR_NOT_IN_COMBAT     = _G.ERR_NOT_IN_COMBAT;
+local RAID_CLASS_COLORS     = _G.RAID_CLASS_COLORS;
+local CUSTOM_CLASS_COLORS   = _G.CUSTOM_CLASS_COLORS;
+local C_MountJournal        = _G.C_MountJournal;
 --[[
 ##########################################################
 GET ADDON DATA
diff --git a/SVUI_!Core/system/misc.lua b/SVUI_!Core/system/misc.lua
index 9bfcf52..fb09154 100644
--- a/SVUI_!Core/system/misc.lua
+++ b/SVUI_!Core/system/misc.lua
@@ -7,16 +7,68 @@ LOCALIZED LUA FUNCTIONS
 ]]--
 --[[ GLOBALS ]]--
 local _G = _G;
-local unpack 	= _G.unpack;
-local select 	= _G.select;
-local pairs 	= _G.pairs;
-local ipairs 	= _G.ipairs;
-local type 		= _G.type;
-local tinsert 	= _G.tinsert;
-local math 		= _G.math;
+local unpack            = _G.unpack;
+local select            = _G.select;
+local assert            = _G.assert;
+local type              = _G.type;
+local error             = _G.error;
+local pcall             = _G.pcall;
+local print             = _G.print;
+local ipairs            = _G.ipairs;
+local pairs             = _G.pairs;
+local next              = _G.next;
+local tostring          = _G.tostring;
+local tonumber          = _G.tonumber;
+local collectgarbage    = _G.collectgarbage;
+local string        = _G.string;
+local split         = string.split;
+local upper         = string.upper;
+local format        = string.format;
+local find          = string.find;
+local match         = string.match;
+local gsub          = string.gsub;
+local math 			= _G.math;
 local cos, deg, rad, sin = math.cos, math.deg, math.rad, math.sin;
-
-local hooksecurefunc = _G.hooksecurefunc;
+local random 		= math.random;
+local wipe          = _G.wipe;
+--BLIZZARD API
+local CreateFrame           = _G.CreateFrame;
+local InCombatLockdown      = _G.InCombatLockdown;
+local GameTooltip           = _G.GameTooltip;
+local ReloadUI              = _G.ReloadUI;
+local hooksecurefunc        = _G.hooksecurefunc;
+local IsAltKeyDown          = _G.IsAltKeyDown;
+local IsShiftKeyDown        = _G.IsShiftKeyDown;
+local IsControlKeyDown      = _G.IsControlKeyDown;
+local IsModifiedClick       = _G.IsModifiedClick;
+local PlaySound             = _G.PlaySound;
+local PlaySoundFile         = _G.PlaySoundFile;
+local PlayMusic             = _G.PlayMusic;
+local StopMusic             = _G.StopMusic;
+local ToggleFrame           = _G.ToggleFrame;
+local ERR_NOT_IN_COMBAT     = _G.ERR_NOT_IN_COMBAT;
+local RAID_CLASS_COLORS     = _G.RAID_CLASS_COLORS;
+local CUSTOM_CLASS_COLORS   = _G.CUSTOM_CLASS_COLORS;
+local SendChatMessage       = _G.SendChatMessage;
+local GetSpellLink          = _G.GetSpellLink;
+local UnitName              = _G.UnitName;
+local UnitClass             = _G.UnitClass;
+local UnitIsPlayer          = _G.UnitIsPlayer;
+local UnitReaction          = _G.UnitReaction;
+local UnitExists            = _G.UnitExists;
+local UnitIsUnit            = _G.UnitIsUnit;
+local UnitInRaid            = _G.UnitInRaid;
+local UnitInParty           = _G.UnitInParty;
+local UnitGUID              = _G.UnitGUID;
+local UnitIsDead            = _G.UnitIsDead;
+local UnitIsGroupLeader     = _G.UnitIsGroupLeader;
+local UnitIsGroupAssistant  = _G.UnitIsGroupAssistant;
+local IsEveryoneAssistant   = _G.IsEveryoneAssistant;
+local GetItemInfo           = _G.GetItemInfo;
+local BuyMerchantItem       = _G.BuyMerchantItem;
+local GetMerchantItemLink   = _G.GetMerchantItemLink;
+local GetMerchantItemMaxStack     = _G.GetMerchantItemMaxStack;
+local UnitDetailedThreatSituation = _G.UnitDetailedThreatSituation;
 --[[
 ##########################################################
 GET ADDON DATA
diff --git a/SVUI_!Core/system/overrides.lua b/SVUI_!Core/system/overrides.lua
index 2905060..7e5bde8 100644
--- a/SVUI_!Core/system/overrides.lua
+++ b/SVUI_!Core/system/overrides.lua
@@ -28,6 +28,19 @@ local math 		= _G.math;
 local find, format, len, split = string.find, string.format, string.len, string.split;
 --[[ MATH METHODS ]]--
 local abs, ceil, floor, round, max = math.abs, math.ceil, math.floor, math.round, math.max;
+--BLIZZARD API
+local CreateFrame           = _G.CreateFrame;
+local InCombatLockdown      = _G.InCombatLockdown;
+local GameTooltip           = _G.GameTooltip;
+local LootFrame           	= _G.LootFrame;
+local ConfirmLootRoll       = _G.ConfirmLootRoll;
+local StaticPopup_Hide      = _G.StaticPopup_Hide;
+local C_LootHistory         = _G.C_LootHistory;
+local UnitName              = _G.UnitName;
+local UnitIsDead            = _G.UnitIsDead;
+local UnitIsFriend          = _G.UnitIsFriend;
+local UnitInVehicle         = _G.UnitInVehicle;
+local UnitControllingVehicle= _G.UnitControllingVehicle;
 --[[
 ##########################################################
 GET ADDON DATA
diff --git a/SVUI_!Core/system/reports.lua b/SVUI_!Core/system/reports.lua
index 97dda2a..3f4e15b 100644
--- a/SVUI_!Core/system/reports.lua
+++ b/SVUI_!Core/system/reports.lua
@@ -34,7 +34,21 @@ local tsort         = table.sort;
 local tconcat       = table.concat;
 local tinsert       = _G.tinsert;
 local tremove       = _G.tremove;
-local twipe         = _G.wipe;
+local wipe         = _G.wipe;
+--BLIZZARD API
+local CreateFrame           = _G.CreateFrame;
+local InCombatLockdown      = _G.InCombatLockdown;
+local GameTooltip           = _G.GameTooltip;
+local hooksecurefunc        = _G.hooksecurefunc;
+local IsAltKeyDown          = _G.IsAltKeyDown;
+local IsShiftKeyDown        = _G.IsShiftKeyDown;
+local IsControlKeyDown      = _G.IsControlKeyDown;
+local IsModifiedClick       = _G.IsModifiedClick;
+local NONE                  = _G.NONE;
+local RequestBattlefieldScoreData       = _G.RequestBattlefieldScoreData;
+local GetBattlefieldStatData            = _G.GetBattlefieldStatData;
+local GetNumBattlefieldScores           = _G.GetNumBattlefieldScores;
+local GetBattlefieldScore            	= _G.GetBattlefieldScore;
 --[[
 ##########################################################
 GET ADDON DATA
@@ -254,7 +268,7 @@ local function GetDataSlot(parent, index)
 			slot.text:SetShadowOffset(2, -4)
 		end

-		slot.SlotKey = i;
+		slot.SlotKey = index;
 		slot.TokenKey = 738;
 		slot.MenuList = {};
 		slot.TokenList = {};
@@ -428,7 +442,7 @@ do
 			local slots = parent.Stats.Slots;
 			local numPoints = #slots;
 			for i = 1, numPoints do
-				local subList = twipe(slots[i].MenuList)
+				local subList = wipe(slots[i].MenuList)
 				tinsert(subList,{text = NONE, func = function() MOD:ChangeDBVar("", i, "holders", place); MOD:UpdateAllReports() end});
 				for _,name in pairs(statMenu) do
 					tinsert(subList,{text = name, func = function() MOD:ChangeDBVar(name, i, "holders", place); MOD:UpdateAllReports() end});
diff --git a/SVUI_!Core/system/utilities.lua b/SVUI_!Core/system/utilities.lua
index ea043a8..5f0d79e 100644
--- a/SVUI_!Core/system/utilities.lua
+++ b/SVUI_!Core/system/utilities.lua
@@ -32,7 +32,27 @@ local match, format = string.match, string.format;
 local gmatch, gsub = string.gmatch, string.gsub;
 --[[ MATH METHODS ]]--
 local floor, modf = math.floor, math.modf;
-
+--BLIZZARD API
+local CreateFrame           = _G.CreateFrame;
+local InCombatLockdown      = _G.InCombatLockdown;
+local GameTooltip           = _G.GameTooltip;
+local ReloadUI              = _G.ReloadUI;
+local hooksecurefunc        = _G.hooksecurefunc;
+local IsAltKeyDown          = _G.IsAltKeyDown;
+local IsShiftKeyDown        = _G.IsShiftKeyDown;
+local IsControlKeyDown      = _G.IsControlKeyDown;
+local IsModifiedClick       = _G.IsModifiedClick;
+local UnitName              = _G.UnitName;
+local UnitStat              = _G.UnitStat;
+local UnitClass             = _G.UnitClass;
+local UnitExists            = _G.UnitExists;
+local UnitLevel             = _G.UnitLevel;
+local UnitInRaid            = _G.UnitInRaid;
+local GetItemInfo           = _G.GetItemInfo;
+local GetInventorySlotInfo   = _G.GetInventorySlotInfo;
+local GetInventoryItemLink   = _G.GetInventoryItemLink;
+local GetSpecialization     = _G.GetSpecialization;
+local GetSpecializationInfo = _G.GetSpecializationInfo;
 local iLevelFilter = ITEM_LEVEL:gsub( "%%d", "(%%d+)" )
 --[[
 ##########################################################
diff --git a/SVUI_!Options/SVUI_!Options.lua b/SVUI_!Options/SVUI_!Options.lua
index 18638ae..5b5997d 100644
--- a/SVUI_!Options/SVUI_!Options.lua
+++ b/SVUI_!Options/SVUI_!Options.lua
@@ -28,6 +28,7 @@ local table 	 =  _G.table;
 local wipe       =  _G.wipe;
 --[[ TABLE METHODS ]]--
 local tsort = table.sort;
+local IsAddOnLoaded         = _G.IsAddOnLoaded;
 --[[
 ##########################################################
 GET ADDON DATA
diff --git a/SVUI_ActionBars/SVUI_ActionBars.lua b/SVUI_ActionBars/SVUI_ActionBars.lua
index 982244f..8e7704f 100644
--- a/SVUI_ActionBars/SVUI_ActionBars.lua
+++ b/SVUI_ActionBars/SVUI_ActionBars.lua
@@ -7,9 +7,19 @@ LOCALIZED LUA FUNCTIONS
 ]]--
 --[[ GLOBALS ]]--
 local _G = _G;
-local unpack 	= _G.unpack;
-local select 	= _G.select;
-local pairs 	= _G.pairs;
+local unpack            = _G.unpack;
+local select            = _G.select;
+local assert            = _G.assert;
+local type              = _G.type;
+local error             = _G.error;
+local pcall             = _G.pcall;
+local print             = _G.print;
+local ipairs            = _G.ipairs;
+local pairs             = _G.pairs;
+local next              = _G.next;
+local tostring          = _G.tostring;
+local tonumber          = _G.tonumber;
+local collectgarbage    = _G.collectgarbage;
 local string 	= _G.string;
 local math 		= _G.math;
 --[[ STRING METHODS ]]--
@@ -17,6 +27,33 @@ local find, format, split = string.find, string.format, string.split;
 local gsub = string.gsub;
 --[[ MATH METHODS ]]--
 local ceil = math.ceil;
+--BLIZZARD API
+local YES                   = _G.YES;
+local NO                    = _G.NO;
+local NONE                  = _G.NONE;
+local SetCVar               = _G.SetCVar;
+local GetCVar               = _G.GetCVar;
+local GetCVarBool           = _G.GetCVarBool;
+local C_PetBattles          = _G.C_PetBattles;
+local CreateFrame           = _G.CreateFrame;
+local InCombatLockdown      = _G.InCombatLockdown;
+local GameTooltip           = _G.GameTooltip;
+local hooksecurefunc        = _G.hooksecurefunc;
+local UnitExists            = _G.UnitExists;
+local VehicleExit           = _G.VehicleExit;
+local PetDismiss            = _G.PetDismiss;
+local GetBindingKey         = _G.GetBindingKey;
+local GetVehicleBarIndex    = _G.GetVehicleBarIndex;
+local SetDesaturation       = _G.SetDesaturation;
+local CooldownFrame_SetTimer= _G.CooldownFrame_SetTimer;
+local RegisterStateDriver 	= _G.RegisterStateDriver;
+local UnregisterStateDriver = _G.UnregisterStateDriver;
+local NUM_STANCE_SLOTS  	= _G.NUM_STANCE_SLOTS;
+local NUM_PET_ACTION_SLOTS  = _G.NUM_PET_ACTION_SLOTS;
+local SpellFlyout  			= _G.SpellFlyout;
+local GetFlyoutID  			= _G.GetFlyoutID;
+local GetNumFlyouts  		= _G.GetNumFlyouts;
+local GetFlyoutInfo  		= _G.GetFlyoutInfo;
 --[[
 ##########################################################
 GET ADDON DATA
diff --git a/SVUI_ActionBars/components/keybind.lua b/SVUI_ActionBars/components/keybind.lua
index 8bca61b..5d2c559 100644
--- a/SVUI_ActionBars/components/keybind.lua
+++ b/SVUI_ActionBars/components/keybind.lua
@@ -20,6 +20,27 @@ local format, find = string.format, string.find;
 --[[ MATH METHODS ]]--
 local floor = math.floor;
 local tonumber = tonumber;
+--BLIZZARD API
+local SpellFlyout       = _G.SpellFlyout;
+local GetFlyoutID       = _G.GetFlyoutID;
+local GetNumFlyouts     = _G.GetNumFlyouts;
+local GetFlyoutInfo     = _G.GetFlyoutInfo;
+local LoadBindings      = _G.LoadBindings;
+local SaveBindings      = _G.SaveBindings;
+local SetBinding        = _G.SetBinding;
+local GetBindingKey     = _G.GetBindingKey;
+local CreateFrame       = _G.CreateFrame;
+local InCombatLockdown  = _G.InCombatLockdown;
+local GameTooltip       = _G.GameTooltip;
+local hooksecurefunc    = _G.hooksecurefunc;
+local IsAltKeyDown      = _G.IsAltKeyDown;
+local IsShiftKeyDown    = _G.IsShiftKeyDown;
+local IsControlKeyDown  = _G.IsControlKeyDown;
+local IsModifiedClick   = _G.IsModifiedClick;
+local OKAY              = _G.OKAY;
+local CANCEL            = _G.CANCEL;
+local CONFIRM_LOSE_BINDING_CHANGES = _G.CONFIRM_LOSE_BINDING_CHANGES;
+local CHARACTER_SPECIFIC_KEYBINDINGS = _G.CHARACTER_SPECIFIC_KEYBINDINGS;
 --[[
 ##########################################################
 GET ADDON DATA
diff --git a/SVUI_ActionBars/components/zone.lua b/SVUI_ActionBars/components/zone.lua
index 9b91d7d..5135e0d 100644
--- a/SVUI_ActionBars/components/zone.lua
+++ b/SVUI_ActionBars/components/zone.lua
@@ -17,6 +17,26 @@ local find, format, split = string.find, string.format, string.split;
 local gsub = string.gsub;
 --[[ MATH METHODS ]]--
 local ceil = math.ceil;
+--BLIZZARD API
+local PickupSpell       = _G.PickupSpell;
+local GetSpellInfo      = _G.GetSpellInfo;
+local GetSpellCharges   = _G.GetSpellCharges;
+local GetSpellCooldown  = _G.GetSpellCooldown;
+local GetTime           = _G.GetTime;
+local SpellHasRange     = _G.SpellHasRange;
+local GetBindingKey     = _G.GetBindingKey;
+local GetBindingText    = _G.GetBindingText;
+local CreateFrame       = _G.CreateFrame;
+local InCombatLockdown  = _G.InCombatLockdown;
+local GameTooltip       = _G.GameTooltip;
+local hooksecurefunc    = _G.hooksecurefunc;
+local IsAltKeyDown      = _G.IsAltKeyDown;
+local IsShiftKeyDown    = _G.IsShiftKeyDown;
+local IsControlKeyDown  = _G.IsControlKeyDown;
+local IsModifiedClick   = _G.IsModifiedClick;
+local RegisterStateDriver = _G.RegisterStateDriver;
+local RANGE_INDICATOR   = _G.RANGE_INDICATOR;
+local CooldownFrame_SetTimer = _G.CooldownFrame_SetTimer;
 --[[
 ##########################################################
 GET ADDON DATA
diff --git a/SVUI_Auras/SVUI_Auras.lua b/SVUI_Auras/SVUI_Auras.lua
index 1099262..acd5ff0 100644
--- a/SVUI_Auras/SVUI_Auras.lua
+++ b/SVUI_Auras/SVUI_Auras.lua
@@ -26,6 +26,30 @@ local format = string.format;
 local abs, ceil, floor, round = math.abs, math.ceil, math.floor, math.round;
 --[[ TABLE METHODS ]]--
 local tremove, twipe = table.remove, table.wipe;
+--BLIZZARD API
+local CreateFrame           = _G.CreateFrame;
+local InCombatLockdown      = _G.InCombatLockdown;
+local GameTooltip           = _G.GameTooltip;
+local ReloadUI              = _G.ReloadUI;
+local hooksecurefunc        = _G.hooksecurefunc;
+local GetTime               = _G.GetTime;
+local UnitName              = _G.UnitName;
+local UnitAura              = _G.UnitAura;
+local UnitBuff              = _G.UnitBuff;
+local UnitStat              = _G.UnitStat;
+local UnitLevel             = _G.UnitLevel;
+local UnitClass             = _G.UnitClass;
+local NUM_LE_RAID_BUFF_TYPES = _G.NUM_LE_RAID_BUFF_TYPES;
+local RAID_CLASS_COLORS     = _G.RAID_CLASS_COLORS;
+local CUSTOM_CLASS_COLORS   = _G.CUSTOM_CLASS_COLORS;
+local GetItemQualityColor   = _G.GetItemQualityColor;
+local GetInventoryItemQuality   = _G.GetInventoryItemQuality;
+local GetInventoryItemTexture   = _G.GetInventoryItemTexture;
+local GetWeaponEnchantInfo  = _G.GetWeaponEnchantInfo;
+local RegisterStateDriver   = _G.RegisterStateDriver;
+local UnregisterStateDriver = _G.UnregisterStateDriver;
+local RegisterAttributeDriver   = _G.RegisterAttributeDriver;
+local GetRaidBuffTrayAuraInfo 	= _G.GetRaidBuffTrayAuraInfo;
 --[[
 ##########################################################
 GET ADDON DATA
diff --git a/SVUI_Chat/SVUI_Chat.lua b/SVUI_Chat/SVUI_Chat.lua
index 809b6a8..d503b9b 100644
--- a/SVUI_Chat/SVUI_Chat.lua
+++ b/SVUI_Chat/SVUI_Chat.lua
@@ -36,13 +36,14 @@ local sub          	= string.sub;
 --MATH
 local math          = _G.math;
 local floor         = math.floor
+local random 		= math.random;
 --TABLE
 local table         = _G.table;
 local tsort         = table.sort;
 local tconcat       = table.concat;
 local tinsert       = _G.tinsert;
 local tremove       = _G.tremove;
-local twipe         = _G.wipe;
+local wipe         = _G.wipe;
 --BLIZZARD API
 local time 					= _G.time;
 local difftime 				= _G.difftime;
@@ -51,6 +52,15 @@ local ReloadUI              = _G.ReloadUI;
 local UnitName   			= _G.UnitName;
 local IsInGroup             = _G.IsInGroup;
 local CreateFrame           = _G.CreateFrame;
+local PlaySoundFile 		= _G.PlaySoundFile;
+local GameTooltip 			= _G.GameTooltip;
+local ChatTypeInfo 			= _G.ChatTypeInfo;
+local HideUIPanel 			= _G.HideUIPanel;
+local ShowUIPanel 			= _G.ShowUIPanel;
+local GetTime               = _G.GetTime;
+
+local ChatFrame_AddMessageEventFilter = _G.ChatFrame_AddMessageEventFilter;
+local ChatEdit_ChooseBoxForSend = _G.ChatEdit_ChooseBoxForSend;
 --[[
 ##########################################################
 GET ADDON DATA
@@ -462,7 +472,8 @@ do

 	local Tab_OnEnter = function(self)
 		SV.Dock:EnterFade()
-		local chatFrame = _G[("ChatFrame%d"):format(self:GetID())];
+		local chatID = self:GetID();
+		local chatFrame = _G[("ChatFrame%d"):format(chatID)];
 		local tabText = self.text:GetText() or "Chat "..chatID;
 		GameTooltip:SetOwner(self, "ANCHOR_TOPRIGHT");
 		GameTooltip:ClearLines();
@@ -797,7 +808,7 @@ do
 			chat.WhisperAlert = alert

 			--copy chat button
-			chat.button = CreateFrame('Frame', format("SVUI_CopyChatButton%d", id), chat)
+			chat.button = CreateFrame('Frame', format("SVUI_CopyChatButton%d", chatID), chat)
 			chat.button:SetAlpha(0.35)
 			chat.button:ModSize(38, 18)
 			chat.button:SetPoint('TOPRIGHT', chat, 'TOPRIGHT', 0, 0)
@@ -810,7 +821,7 @@ do
 			chat.button.Title:SetTextColor(1,0.8,0)

 			chat.button:SetScript("OnMouseUp", function(self, btn)
-				if btn == "RightButton" and id == 1 then
+				if btn == "RightButton" and chatID == 1 then
 					ToggleFrame(ChatMenu)
 				else
 					MOD:CopyChat(chat)
@@ -1327,7 +1338,7 @@ function MOD:UpdateLocals()
 	MOD.media.whisperSound = LSM:Fetch("sound", SV.db.Chat.psst);
 	TIME_STAMP_MASK = SV.db.Chat.timeStampFormat;
 	if(CHAT_THROTTLE and CHAT_THROTTLE == 0) then
-		twipe(THROTTLE_CACHE)
+		wipe(THROTTLE_CACHE)
 	end
 end

diff --git a/SVUI_CraftOMatic/SVUI_CraftOMatic.lua b/SVUI_CraftOMatic/SVUI_CraftOMatic.lua
index 3500157..b4798e0 100644
--- a/SVUI_CraftOMatic/SVUI_CraftOMatic.lua
+++ b/SVUI_CraftOMatic/SVUI_CraftOMatic.lua
@@ -9,15 +9,53 @@ LOCALIZED LUA FUNCTIONS
 --[[ GLOBALS ]]--

 local _G = _G;
-local unpack 	= _G.unpack;
-local select 	= _G.select;
-local type 		= _G.type;
+local unpack            = _G.unpack;
+local select            = _G.select;
+local assert            = _G.assert;
+local type              = _G.type;
+local error             = _G.error;
+local pcall             = _G.pcall;
+local print             = _G.print;
+local ipairs            = _G.ipairs;
+local pairs             = _G.pairs;
+local next              = _G.next;
+local tostring          = _G.tostring;
+local tonumber          = _G.tonumber;
+local collectgarbage    = _G.collectgarbage;
+local rawset            = _G.rawset;
+local rawget            = _G.rawget;
+local getmetatable      = _G.getmetatable;
+local setmetatable      = _G.setmetatable;
+local loadstring        = _G.loadstring;
 local string    = _G.string;
 local math 		= _G.math;
 local table 	= _G.table;
 local rept      = string.rep;
 local tsort,twipe = table.sort,table.wipe;
 local floor,ceil  = math.floor, math.ceil;
+--BLIZZARD API
+local CreateFrame           = _G.CreateFrame;
+local InCombatLockdown      = _G.InCombatLockdown;
+local GameTooltip           = _G.GameTooltip;
+local hooksecurefunc        = _G.hooksecurefunc;
+local IsAltKeyDown          = _G.IsAltKeyDown;
+local IsShiftKeyDown        = _G.IsShiftKeyDown;
+local IsControlKeyDown      = _G.IsControlKeyDown;
+local IsModifiedClick       = _G.IsModifiedClick;
+local PlaySound             = _G.PlaySound;
+local PlaySoundFile         = _G.PlaySoundFile;
+local PlayMusic             = _G.PlayMusic;
+local StopMusic             = _G.StopMusic;
+local GetTime               = _G.GetTime;
+local ToggleFrame           = _G.ToggleFrame;
+local EquipItemByName       = _G.EquipItemByName;
+local IsSpellKnown      	= _G.IsSpellKnown;
+local ERR_NOT_IN_COMBAT     = _G.ERR_NOT_IN_COMBAT;
+local RAID_CLASS_COLORS     = _G.RAID_CLASS_COLORS;
+local CUSTOM_CLASS_COLORS   = _G.CUSTOM_CLASS_COLORS;
+
+local CombatText_AddMessage     = _G.CombatText_AddMessage;
+local CombatText_StandardScroll = _G.CombatText_StandardScroll;

 --[[  CONSTANTS ]]--

@@ -45,22 +83,22 @@ local classColor = RAID_CLASS_COLORS
 GLOBAL BINDINGS
 ##########################################################
 ]]--
-function SVUIFishingMode()
+_G.SVUIFishingMode = function()
 	if InCombatLockdown() then SV:AddonMessage(ERR_NOT_IN_COMBAT); return; end
 	if PLUGIN.CurrentMode and PLUGIN.CurrentMode == "Fishing" then PLUGIN:EndJobModes() else PLUGIN:SetJobMode("Fishing") end
 end

-function SVUIFarmingMode()
+_G.SVUIFarmingMode = function()
 	if InCombatLockdown() then SV:AddonMessage(ERR_NOT_IN_COMBAT); return; end
 	if PLUGIN.CurrentMode and SV.CurrentMode == "Farming" then PLUGIN:EndJobModes() else PLUGIN:SetJobMode("Farming") end
 end

-function SVUIArchaeologyMode()
+_G.SVUIArchaeologyMode = function()
 	if InCombatLockdown() then SV:AddonMessage(ERR_NOT_IN_COMBAT); return; end
 	if PLUGIN.CurrentMode and PLUGIN.CurrentMode == "Archaeology" then PLUGIN:EndJobModes() else PLUGIN:SetJobMode("Archaeology") end
 end

-function SVUICookingMode()
+_G.SVUICookingMode = function()
 	if InCombatLockdown() then SV:AddonMessage(ERR_NOT_IN_COMBAT); return; end
 	if PLUGIN.CurrentMode and PLUGIN.CurrentMode == "Cooking" then PLUGIN:EndJobModes() else PLUGIN:SetJobMode("Cooking") end
 end
diff --git a/SVUI_CraftOMatic/components/archaeology.lua b/SVUI_CraftOMatic/components/archaeology.lua
index 6973cfe..088a623 100644
--- a/SVUI_CraftOMatic/components/archaeology.lua
+++ b/SVUI_CraftOMatic/components/archaeology.lua
@@ -17,6 +17,17 @@ local rept,format   = string.rep, string.format;
 local tsort,twipe 	= table.sort, table.wipe;
 local floor,ceil  	= math.floor, math.ceil;
 local min 			= math.min
+--BLIZZARD API
+local CreateFrame           = _G.CreateFrame;
+local InCombatLockdown      = _G.InCombatLockdown;
+local GameTooltip           = _G.GameTooltip;
+local hooksecurefunc        = _G.hooksecurefunc;
+local IsSpellKnown      	= _G.IsSpellKnown;
+local GetSpellInfo      	= _G.GetSpellInfo;
+local GetProfessions      	= _G.GetProfessions;
+local GetProfessionInfo     = _G.GetProfessionInfo;
+local PlaySound             = _G.PlaySound;
+local PlaySoundFile         = _G.PlaySoundFile;
 --[[
 ##########################################################
 GET ADDON DATA
diff --git a/SVUI_CraftOMatic/components/cooking.lua b/SVUI_CraftOMatic/components/cooking.lua
index eb111d4..978016a 100644
--- a/SVUI_CraftOMatic/components/cooking.lua
+++ b/SVUI_CraftOMatic/components/cooking.lua
@@ -17,6 +17,22 @@ local rept      = string.rep;
 local tsort,twipe = table.sort,table.wipe;
 local floor,ceil  = math.floor, math.ceil;
 local band 		= _G.bit.band;
+--BLIZZARD API
+local CreateFrame           = _G.CreateFrame;
+local InCombatLockdown      = _G.InCombatLockdown;
+local GameTooltip           = _G.GameTooltip;
+local hooksecurefunc        = _G.hooksecurefunc;
+local IsSpellKnown      	= _G.IsSpellKnown;
+local GetSpellInfo      	= _G.GetSpellInfo;
+local GetProfessions      	= _G.GetProfessions;
+local GetProfessionInfo     = _G.GetProfessionInfo;
+local PlaySound             = _G.PlaySound;
+local PlaySoundFile         = _G.PlaySoundFile;
+local C_PetJournal          = _G.C_PetJournal;
+local GetItemInfo           = _G.GetItemInfo;
+local GetItemCount          = _G.GetItemCount;
+local GetItemQualityColor   = _G.GetItemQualityColor;
+local GetItemFamily         = _G.GetItemFamily;
 --[[
 ##########################################################
 GET ADDON DATA
diff --git a/SVUI_CraftOMatic/components/farming.lua b/SVUI_CraftOMatic/components/farming.lua
index a729eaf..bef347f 100644
--- a/SVUI_CraftOMatic/components/farming.lua
+++ b/SVUI_CraftOMatic/components/farming.lua
@@ -36,6 +36,22 @@ local table 	= _G.table;
 local rept      = string.rep;
 local tsort,twipe = table.sort,table.wipe;
 local floor,ceil  = math.floor, math.ceil;
+--BLIZZARD API
+local CreateFrame           = _G.CreateFrame;
+local InCombatLockdown      = _G.InCombatLockdown;
+local GameTooltip           = _G.GameTooltip;
+local hooksecurefunc        = _G.hooksecurefunc;
+local IsSpellKnown      	= _G.IsSpellKnown;
+local GetSpellInfo      	= _G.GetSpellInfo;
+local GetProfessions      	= _G.GetProfessions;
+local GetProfessionInfo     = _G.GetProfessionInfo;
+local PlaySound             = _G.PlaySound;
+local PlaySoundFile         = _G.PlaySoundFile;
+local C_PetJournal          = _G.C_PetJournal;
+local GetItemInfo           = _G.GetItemInfo;
+local GetItemCount          = _G.GetItemCount;
+local GetItemQualityColor   = _G.GetItemQualityColor;
+local GetItemFamily         = _G.GetItemFamily;
 --[[
 ##########################################################
 GET ADDON DATA
diff --git a/SVUI_CraftOMatic/components/fishing.lua b/SVUI_CraftOMatic/components/fishing.lua
index 4ddd5f7..241dcae 100644
--- a/SVUI_CraftOMatic/components/fishing.lua
+++ b/SVUI_CraftOMatic/components/fishing.lua
@@ -36,6 +36,22 @@ local table 	= _G.table;
 local tsort,twipe = table.sort,table.wipe;
 local floor,ceil  = math.floor, math.ceil;
 local band 		= _G.bit.band;
+--BLIZZARD API
+local CreateFrame           = _G.CreateFrame;
+local InCombatLockdown      = _G.InCombatLockdown;
+local GameTooltip           = _G.GameTooltip;
+local hooksecurefunc        = _G.hooksecurefunc;
+local IsSpellKnown      	= _G.IsSpellKnown;
+local GetSpellInfo      	= _G.GetSpellInfo;
+local GetProfessions      	= _G.GetProfessions;
+local GetProfessionInfo     = _G.GetProfessionInfo;
+local PlaySound             = _G.PlaySound;
+local PlaySoundFile         = _G.PlaySoundFile;
+local C_PetJournal          = _G.C_PetJournal;
+local GetItemInfo           = _G.GetItemInfo;
+local GetItemCount          = _G.GetItemCount;
+local GetItemQualityColor   = _G.GetItemQualityColor;
+local GetItemFamily         = _G.GetItemFamily;
 --[[
 ##########################################################
 GET ADDON DATA
diff --git a/SVUI_FightOMatic/SVUI_FightOMatic.lua b/SVUI_FightOMatic/SVUI_FightOMatic.lua
index 37941e9..297226e 100644
--- a/SVUI_FightOMatic/SVUI_FightOMatic.lua
+++ b/SVUI_FightOMatic/SVUI_FightOMatic.lua
@@ -19,11 +19,13 @@ local pcall     = _G.pcall;
 local assert    = _G.assert;
 local tostring  = _G.tostring;
 local tonumber  = _G.tonumber;
+local collectgarbage    = _G.collectgarbage;
 local tinsert 	= _G.tinsert;
 local string 	= _G.string;
 local math 		= _G.math;
 local table 	= _G.table;
 local bit       = _G.bit;
+local time      = _G.time;
 --[[ STRING METHODS ]]--
 local format, sub = string.format, string.sub;
 --[[ MATH METHODS ]]--
@@ -32,7 +34,39 @@ local abs, ceil, floor, round, random = math.abs, math.ceil, math.floor, math.ro
 local tremove, wipe = table.remove, table.wipe;
 --[[ BINARY METHODS ]]--
 local band, bor = bit.band, bit.bor;
-
+--BLIZZARD API
+local CreateFrame           = _G.CreateFrame;
+local InCombatLockdown      = _G.InCombatLockdown;
+local GameTooltip           = _G.GameTooltip;
+local hooksecurefunc        = _G.hooksecurefunc;
+local IsSpellKnown      	= _G.IsSpellKnown;
+local GetSpellInfo      	= _G.GetSpellInfo;
+local IsAltKeyDown          = _G.IsAltKeyDown;
+local IsShiftKeyDown        = _G.IsShiftKeyDown;
+local IsControlKeyDown      = _G.IsControlKeyDown;
+local IsModifiedClick       = _G.IsModifiedClick;
+local PlaySound             = _G.PlaySound;
+local PlaySoundFile         = _G.PlaySoundFile;
+local UnitName              = _G.UnitName;
+local UnitLevel             = _G.UnitLevel;
+local UnitClass             = _G.UnitClass;
+local UnitExists            = _G.UnitExists;
+local UnitIsUnit            = _G.UnitIsUnit;
+local UnitGUID              = _G.UnitGUID;
+local UnitIsDead            = _G.UnitIsDead;
+local UnitIsPlayer          = _G.UnitIsPlayer;
+local UnitIsFriend          = _G.UnitIsFriend;
+local UnitIsEnemy           = _G.UnitIsEnemy;
+local DoEmote           	= _G.DoEmote;
+local SendChatMessage       = _G.SendChatMessage;
+local GetZoneText           = _G.GetZoneText;
+local GetZonePVPInfo        = _G.GetZonePVPInfo;
+local GetRealZoneText       = _G.GetRealZoneText;
+local CombatLog_Object_IsA  = _G.CombatLog_Object_IsA;
+local ERR_NOT_IN_COMBAT     = _G.ERR_NOT_IN_COMBAT;
+local RAID_CLASS_COLORS     = _G.RAID_CLASS_COLORS;
+local CUSTOM_CLASS_COLORS   = _G.CUSTOM_CLASS_COLORS;
+local CombatText_StandardScroll = _G.CombatText_StandardScroll;
 --[[  CONSTANTS ]]--

 _G.BINDING_HEADER_SVUIFIGHT = "Supervillain UI: Fight-O-Matic";
@@ -54,7 +88,7 @@ local RadioSound = SV.Sounds:Blend("Static", "Sparks");
 GLOBAL SLASH FUNCTIONS
 ##########################################################
 ]]--
-function SVUISayIncoming()
+_G.SVUISayIncoming = function()
 	local subzoneText = GetSubZoneText()
 	local msg = ("{rt8} Incoming %s {rt8}"):format(subzoneText)
 	SendChatMessage(msg, "INSTANCE_CHAT")
@@ -141,7 +175,7 @@ local StealthEmotes = {
 }


-function SVUIEmote()
+_G.SVUIEmote = function()
 	local index = random(1,#SpecialEmotes)
 	DoEmote(SpecialEmotes[index])
 end
@@ -597,7 +631,7 @@ local function CheckSourceType(guid, flags)
 	if(flags) then
 		isHostile = CombatLog_Object_IsA(flags, COMBATLOG_FILTER_HOSTILE_PLAYERS)
 	end
-	local srcType = strsub(guid, 1,6)
+	local srcType = guid:sub(1,6)
 	if((srcType == "Player") and (isHostile == true)) then
 		return true
 	end
diff --git a/SVUI_Inventory/SVUI_Inventory.lua b/SVUI_Inventory/SVUI_Inventory.lua
index 1408746..2ecdcc9 100644
--- a/SVUI_Inventory/SVUI_Inventory.lua
+++ b/SVUI_Inventory/SVUI_Inventory.lua
@@ -22,6 +22,96 @@ local sub, byte = string.sub, string.byte;
 --[[ MATH METHODS ]]--
 local floor, ceil, abs = math.floor, math.ceil, math.abs;
 local twipe = table.wipe;
+--BLIZZARD API
+local UnitName   			= _G.UnitName;
+local CreateFrame           = _G.CreateFrame;
+local PlaySoundFile 		= _G.PlaySoundFile;
+local GameTooltip 			= _G.GameTooltip;
+local InCombatLockdown      = _G.InCombatLockdown;
+local hooksecurefunc        = _G.hooksecurefunc;
+local ToggleFrame        	= _G.ToggleFrame;
+local IsAltKeyDown        	= _G.IsAltKeyDown;
+local IsShiftKeyDown        = _G.IsShiftKeyDown;
+local IsControlKeyDown      = _G.IsControlKeyDown;
+local IsModifiedClick      	= _G.IsModifiedClick;
+local C_NewItems   			= _G.C_NewItems;
+local GetMoney   			= _G.GetMoney;
+local PurchaseSlot        	= _G.PurchaseSlot;
+local MoneyFrame_Update     = _G.MoneyFrame_Update;
+local GetBankSlotCost       = _G.GetBankSlotCost;
+local GetItemInfo       	= _G.GetItemInfo;
+local GetItemCount       	= _G.GetItemCount;
+local GetItemQualityColor   = _G.GetItemQualityColor;
+local CloseBag        		= _G.CloseBag;
+local IsBagOpen        		= _G.IsBagOpen;
+local CloseAllBags        	= _G.CloseAllBags;
+local IsOptionFrameOpen     = _G.IsOptionFrameOpen;
+local SortBags        		= _G.SortBags;
+local SortBankBags        	= _G.SortBankBags;
+local StackSplitFrame       = _G.StackSplitFrame;
+local SetItemSearch       	= _G.SetItemSearch;
+local BankFrame       		= _G.BankFrame;
+local MerchantFrame       	= _G.MerchantFrame;
+local UISpecialFrames       = _G.UISpecialFrames;
+local CloseBankFrame       	= _G.CloseBankFrame;
+local BuyReagentBank    	= _G.BuyReagentBank;
+local DepositReagentBank    = _G.DepositReagentBank;
+local PlaySound        		= _G.PlaySound;
+local GetNumBankSlots       = _G.GetNumBankSlots;
+local GetCurrencyLink       = _G.GetCurrencyLink;
+local IsReagentBankUnlocked = _G.IsReagentBankUnlocked;
+local GetReagentBankCost    = _G.GetReagentBankCost;
+local GetContainerItemID    = _G.GetContainerItemID;
+local GetContainerNumSlots  = _G.GetContainerNumSlots;
+local GetContainerItemInfo  = _G.GetContainerItemInfo;
+local GetContainerItemLink  = _G.GetContainerItemLink;
+local GetNumEquipmentSets  	= _G.GetNumEquipmentSets;
+local GetEquipmentSetInfo  	= _G.GetEquipmentSetInfo;
+
+local YES 						= _G.YES;
+local NO 						= _G.NO;
+local ACCEPT 					= _G.ACCEPT;
+local SEARCH 					= _G.SEARCH;
+local BANK 						= _G.BANK;
+local REAGENT_BANK 				= _G.REAGENT_BANK;
+local NUM_BAG_FRAMES 			= _G.NUM_BAG_FRAMES;
+local INVENTORY_TOOLTIP 		= _G.INVENTORY_TOOLTIP;
+local NUM_CONTAINER_FRAMES  	= _G.NUM_CONTAINER_FRAMES;
+local CONFIRM_BUY_BANK_SLOT 	= _G.CONFIRM_BUY_BANK_SLOT;
+local MAX_WATCHED_TOKENS    	= _G.MAX_WATCHED_TOKENS;
+local MAX_CONTAINER_ITEMS    	= _G.MAX_CONTAINER_ITEMS;
+local REAGENTBANK_CONTAINER 	= _G.REAGENTBANK_CONTAINER;
+local TEXTURE_ITEM_QUEST_BANG 	= _G.TEXTURE_ITEM_QUEST_BANG;
+local HandleModifiedItemClick 	= _G.HandleModifiedItemClick;
+local GetBackpackCurrencyInfo 	= _G.GetBackpackCurrencyInfo;
+local MainMenuBarBackpackButton = _G.MainMenuBarBackpackButton;
+local GetContainerItemCooldown  = _G.GetContainerItemCooldown;
+local GetContainerItemQuestInfo = _G.GetContainerItemQuestInfo;
+local GetEquipmentSetLocations  = _G.GetEquipmentSetLocations;
+local GetContainerNumFreeSlots  = _G.GetContainerNumFreeSlots;
+local GetCoinTextureString 		= _G.GetCoinTextureString;
+local CooldownFrame_SetTimer 	= _G.CooldownFrame_SetTimer;
+local SetPortraitToTexture 		= _G.SetPortraitToTexture;
+local UseContainerItem 			= _G.UseContainerItem;
+local PickupMerchantItem 		= _G.PickupMerchantItem;
+local BreakUpLargeNumbers 		= _G.BreakUpLargeNumbers;
+
+local BankFrameItemButton_Update 		= _G.BankFrameItemButton_Update;
+local BankFrameItemButton_UpdateLocked 	= _G.BankFrameItemButton_UpdateLocked;
+local MainMenuBarBackpackButtonCount 	= _G.MainMenuBarBackpackButtonCount;
+local SetItemButtonCount 				= _G.SetItemButtonCount;
+local SetItemButtonTexture 				= _G.SetItemButtonTexture;
+local SetItemButtonDesaturated 			= _G.SetItemButtonDesaturated;
+local SetItemButtonTextureVertexColor 	= _G.SetItemButtonTextureVertexColor;
+local EquipmentManager_UnpackLocation 	= _G.EquipmentManager_UnpackLocation;
+
+local SVUI_Font_Default 	= _G.SVUI_Font_Default;
+local SVUI_Font_Header 		= _G.SVUI_Font_Header;
+local SVUI_Font_Bag 		= _G.SVUI_Font_Bag;
+local SVUI_Font_Bag_Number 	= _G.SVUI_Font_Bag_Number;
+
+local BagFilters = _G.SVUI_BagFilterMenu;
+local BagBar = _G.SVUI_BagBar;
 --[[
 ##########################################################
 GET ADDON DATA
@@ -190,8 +280,8 @@ CORE FUNCTIONS
 ##########################################################
 ]]--
 function MOD:INVENTORY_SEARCH_UPDATE()
-	for _, frame in pairs(self.BagFrames) do
-		for id, bag in ipairs(frame.Bags) do
+	if(self.BagFrame) then
+		for id, bag in ipairs(self.BagFrame.Bags) do
 			for i = 1, GetContainerNumSlots(id) do
 				local _, _, _, _, _, _, _, isFiltered = GetContainerItemInfo(id, i)
 				local item = bag[i]
@@ -205,12 +295,29 @@ function MOD:INVENTORY_SEARCH_UPDATE()
 					end
 				end
 			end
-		end
+		end
+	end
+	if(self.BankFrame and self.BankFrame:IsShown()) then
+		for id, bag in ipairs(self.BankFrame.Bags) do
+			for i = 1, GetContainerNumSlots(id) do
+				local _, _, _, _, _, _, _, isFiltered = GetContainerItemInfo(id, i)
+				local item = bag[i]
+				if(item and item:IsShown()) then
+					if isFiltered then
+						SetItemButtonDesaturated(item, 1)
+						item:SetAlpha(0.4)
+					else
+						SetItemButtonDesaturated(item)
+						item:SetAlpha(1)
+					end
+				end
+			end
+		end
 	end
-	if(self.ReagentFrame) then
+	if(self.ReagentFrame and self.ReagentFrame:IsShown()) then
 		for i = 1, self.ReagentFrame.numSlots do
 			local _, _, _, _, _, _, _, isFiltered = GetContainerItemInfo(REAGENTBANK_CONTAINER, i)
-			local item = frame.Bags[REAGENTBANK_CONTAINER][i]
+			local item = self.ReagentFrame.Bags[REAGENTBANK_CONTAINER][i]
 			if(item and item:IsShown()) then
 				if isFiltered then
 					SetItemButtonDesaturated(item, 1)
@@ -646,7 +753,7 @@ local ReagentFrame_UpdateLayout = function(self)
 	local preSubColumns = ReagentBankFrame.numSubColumn or 2
 	local numContainerColumns = preColumns * preSubColumns
 	local numContainerRows = ReagentBankFrame.numRow or 7
-	local buttonSize = SVUI_BankContainerFrame.ButtonSize
+	local buttonSize = MOD.BankFrame.ButtonSize
 	local containerWidth = (buttonSize + buttonSpacing) * numContainerColumns + buttonSpacing
 	local containerHeight = (((buttonSize + buttonSpacing) * numContainerRows) - buttonSpacing) + self.topOffset + self.bottomOffset
 	local maxCount = numContainerColumns * numContainerRows
@@ -807,12 +914,12 @@ end
 do
 	local function Bags_OnEnter()
 		if SV.db.Inventory.bagBar.mouseover ~= true then return end
-		SVUI_BagBar:FadeIn(0.2, SVUI_BagBar:GetAlpha(), 1)
+		BagBar:FadeIn(0.2, BagBar:GetAlpha(), 1)
 	end

 	local function Bags_OnLeave()
 		if SV.db.Inventory.bagBar.mouseover ~= true then return end
-		SVUI_BagBar:FadeOut(0.2, SVUI_BagBar:GetAlpha(), 0)
+		BagBar:FadeOut(0.2, BagBar:GetAlpha(), 0)
 	end

 	local function AlterBagBar(bar)
@@ -829,14 +936,14 @@ do
 	local function LoadBagBar()
 		if MOD.BagBarLoaded then return end

-		local bar = CreateFrame("Frame", "SVUI_BagBar", SV.Screen)
-		bar:SetPoint("TOPRIGHT", SV.Dock.BottomRight, "TOPLEFT", -4, 0)
-		bar.buttons = {}
-		bar:EnableMouse(true)
-		bar:SetScript("OnEnter", Bags_OnEnter)
-		bar:SetScript("OnLeave", Bags_OnLeave)
+		BagBar:SetParent(SV.Screen)
+		BagBar:SetPoint("TOPRIGHT", SV.Dock.BottomRight, "TOPLEFT", -4, 0)
+		BagBar.buttons = {}
+		BagBar:EnableMouse(true)
+		BagBar:SetScript("OnEnter", Bags_OnEnter)
+		BagBar:SetScript("OnLeave", Bags_OnLeave)

-		MainMenuBarBackpackButton:SetParent(bar)
+		MainMenuBarBackpackButton:SetParent(BagBar)
 		MainMenuBarBackpackButton.SetParent = SV.Hidden;
 		MainMenuBarBackpackButton:ClearAllPoints()
 		MainMenuBarBackpackButtonCount:SetFontObject(SVUI_Font_Default)
@@ -845,21 +952,21 @@ do
 		MainMenuBarBackpackButton:HookScript("OnEnter", Bags_OnEnter)
 		MainMenuBarBackpackButton:HookScript("OnLeave", Bags_OnLeave)

-		tinsert(bar.buttons, MainMenuBarBackpackButton)
+		tinsert(BagBar.buttons, MainMenuBarBackpackButton)
 		AlterBagBar(MainMenuBarBackpackButton)

-		local count = #bar.buttons
+		local count = #BagBar.buttons
 		local frameCount = NUM_BAG_FRAMES - 1;

 		for i = 0, frameCount do
 			local bagSlot = _G["CharacterBag"..i.."Slot"]
-			bagSlot:SetParent(bar)
+			bagSlot:SetParent(BagBar)
 			bagSlot.SetParent = SV.Hidden;
 			bagSlot:HookScript("OnEnter", Bags_OnEnter)
 			bagSlot:HookScript("OnLeave", Bags_OnLeave)
 			AlterBagBar(bagSlot)
 			count = count + 1
-			bar.buttons[count] = bagSlot
+			BagBar.buttons[count] = bagSlot
 		end

 		MOD.BagBarLoaded = true
@@ -872,9 +979,9 @@ do
 			LoadBagBar()
 		end
 		if SV.db.Inventory.bagBar.mouseover then
-			SVUI_BagBar:SetAlpha(0)
+			BagBar:SetAlpha(0)
 		else
-			SVUI_BagBar:SetAlpha(1)
+			BagBar:SetAlpha(1)
 		end

 		local showBy = SV.db.Inventory.bagBar.showBy
@@ -882,56 +989,56 @@ do
 		local bagSize = SV.db.Inventory.bagBar.size
 		local bagSpacing = SV.db.Inventory.bagBar.spacing

-		for i = 1, #SVUI_BagBar.buttons do
-			local button = SVUI_BagBar.buttons[i]
-			local lastButton = SVUI_BagBar.buttons[i - 1]
+		for i = 1, #BagBar.buttons do
+			local button = BagBar.buttons[i]
+			local lastButton = BagBar.buttons[i - 1]

 			button:ModSize(bagSize)
 			button:ClearAllPoints()

 			if(showBy == "HORIZONTAL" and sortDir == "ASCENDING") then
 				if i == 1 then
-					button:SetPoint("LEFT", SVUI_BagBar, "LEFT", bagSpacing, 0)
+					button:SetPoint("LEFT", BagBar, "LEFT", bagSpacing, 0)
 				elseif lastButton then
 					button:SetPoint("LEFT", lastButton, "RIGHT", bagSpacing, 0)
 				end
 			elseif(showBy == "VERTICAL" and sortDir == "ASCENDING") then
 				if i == 1 then
-					button:SetPoint("TOP", SVUI_BagBar, "TOP", 0, -bagSpacing)
+					button:SetPoint("TOP", BagBar, "TOP", 0, -bagSpacing)
 				elseif lastButton then
 					button:SetPoint("TOP", lastButton, "BOTTOM", 0, -bagSpacing)
 				end
 			elseif(showBy == "HORIZONTAL" and sortDir == "DESCENDING") then
 				if i == 1 then
-					button:SetPoint("RIGHT", SVUI_BagBar, "RIGHT", -bagSpacing, 0)
+					button:SetPoint("RIGHT", BagBar, "RIGHT", -bagSpacing, 0)
 				elseif lastButton then
 					button:SetPoint("RIGHT", lastButton, "LEFT", -bagSpacing, 0)
 				end
 			else
 				if i == 1 then
-					button:SetPoint("BOTTOM", SVUI_BagBar, "BOTTOM", 0, bagSpacing)
+					button:SetPoint("BOTTOM", BagBar, "BOTTOM", 0, bagSpacing)
 				elseif lastButton then
 					button:SetPoint("BOTTOM", lastButton, "TOP", 0, bagSpacing)
 				end
 			end
 		end
 		if showBy == "HORIZONTAL" then
-			SVUI_BagBar:ModWidth((bagSize * numBagFrame) + (bagSpacing * numBagFrame) + bagSpacing)
-			SVUI_BagBar:ModHeight(bagSize + (bagSpacing * 2))
+			BagBar:ModWidth((bagSize * numBagFrame) + (bagSpacing * numBagFrame) + bagSpacing)
+			BagBar:ModHeight(bagSize + (bagSpacing * 2))
 		else
-			SVUI_BagBar:ModHeight((bagSize * numBagFrame) + (bagSpacing * numBagFrame) + bagSpacing)
-			SVUI_BagBar:ModWidth(bagSize + (bagSpacing * 2))
+			BagBar:ModHeight((bagSize * numBagFrame) + (bagSpacing * numBagFrame) + bagSpacing)
+			BagBar:ModWidth(bagSize + (bagSpacing * 2))
 		end

-	    if not SVUI_BagBar_MOVE then
-	    	SVUI_BagBar:SetStyle("Frame", "Default")
-	        SV:NewAnchor(SVUI_BagBar, L["Bags Bar"])
+	    if not _G.SVUI_BagBar_MOVE then
+	    	BagBar:SetStyle("Frame", "Default")
+	        SV:NewAnchor(BagBar, L["Bags Bar"])
 	    end

 	    if SV.db.Inventory.bagBar.showBackdrop then
-			SVUI_BagBar.Panel:Show()
+			BagBar.Panel:Show()
 		else
-			SVUI_BagBar.Panel:Hide()
+			BagBar.Panel:Hide()
 		end
 	end
 end
@@ -1056,8 +1163,7 @@ do
 	function MOD:MakeBags()
 		local bagName = "SVUI_ContainerFrame"
 		local uisCount = #UISpecialFrames + 1;
-		local bagsCount = #self.BagFrames + 1;
-		local frame = CreateFrame("Button", "SVUI_ContainerFrame", UIParent)
+		local frame = CreateFrame("Button", "SVUI_ContainerFrame", SV.Screen)

 		frame:SetStyle("Frame", "Container", true)
 		frame:SetFrameStrata("HIGH")
@@ -1194,8 +1300,8 @@ do
 		frame.bagsButton:SetScript("OnLeave", Tooltip_Hide)
 		local BagBtn_OnClick = function()
 			PlaySound("igMainMenuOption");
-			if(SVUI_BagFilterMenu and SVUI_BagFilterMenu:IsShown()) then
-				ToggleFrame(SVUI_BagFilterMenu)
+			if(BagFilters and BagFilters:IsShown()) then
+				ToggleFrame(BagFilters)
 			end
 			ToggleFrame(frame.BagMenu)
 		end
@@ -1235,7 +1341,6 @@ do
 		frame:SetScript("OnHide", CloseAllBags)

 		tinsert(UISpecialFrames, bagName)
-		tinsert(self.BagFrames, frame)

 		self.BagFrame = frame
 	end
@@ -1245,12 +1350,11 @@ do
 		-- /script print(ReagentBankFrameItem1:GetInventorySlot())
 		local bagName = isReagent and "SVUI_ReagentContainerFrame" or "SVUI_BankContainerFrame"
 		local uisCount = #UISpecialFrames + 1;
-		local bagsCount = #self.BagFrames + 1;

 		local frame = CreateFrame("Button", bagName, isReagent and self.BankFrame or SV.Screen)
 		frame:SetStyle("Frame", "Container")
 		frame:SetFrameStrata("HIGH")
-		frame:SetFrameLevel(SVUI_ContainerFrame:GetFrameLevel() + 99)
+		frame:SetFrameLevel(self.BagFrame:GetFrameLevel() + 99)

 		frame.UpdateLayout = isReagent and ReagentFrame_UpdateLayout or ContainerFrame_UpdateLayout;
 		frame.RefreshBags = ContainerFrame_UpdateBags;
@@ -1354,8 +1458,8 @@ do
 			frame.bagsButton:SetScript("OnLeave", Tooltip_Hide)
 			local BagBtn_OnClick = function()
 				PlaySound("igMainMenuOption");
-				if(SVUI_BagFilterMenu and SVUI_BagFilterMenu:IsShown()) then
-					ToggleFrame(SVUI_BagFilterMenu)
+				if(BagFilters and BagFilters:IsShown()) then
+					ToggleFrame(BagFilters)
 				end
 				local numSlots, _ = GetNumBankSlots()
 				if numSlots  >= 1 then
@@ -1435,8 +1539,6 @@ do
 			frame:SetPoint("BOTTOMLEFT", self.BankFrame, "BOTTOMRIGHT", 2, 0)
 			self.ReagentFrame = frame
 		end
-
-		tinsert(self.BagFrames, frame)
 	end
 end

@@ -1615,7 +1717,6 @@ function MOD:Load()
 	self:InitializeJournal()

 	self:ModifyBagBar()
-	self.BagFrames = {}
 	self:MakeBags()
 	self:ModifyBags()
 	self.BagFrame:UpdateLayout()
diff --git a/SVUI_Inventory/SVUI_Inventory.xml b/SVUI_Inventory/SVUI_Inventory.xml
index 59c6f7c..5b62286 100644
--- a/SVUI_Inventory/SVUI_Inventory.xml
+++ b/SVUI_Inventory/SVUI_Inventory.xml
@@ -21,6 +21,9 @@
             <AbsValue val="11"/>
         </FontHeight>
     </Font>
+
+    <Frame name="SVUI_BagFilterMenu" frameStrata="DIALOG" hidden="true" />
+    <Frame name="SVUI_BagBar" frameStrata="DIALOG" hidden="true" />

 	<Script file='Loader.lua'/>
 	<Script file='SVUI_Inventory.lua'/>
diff --git a/SVUI_Inventory/components/organization.lua b/SVUI_Inventory/components/organization.lua
index 63286f6..5cb7c74 100644
--- a/SVUI_Inventory/components/organization.lua
+++ b/SVUI_Inventory/components/organization.lua
@@ -16,6 +16,27 @@ local table   = _G.table;
 local match = string.match;
 --[[ TABLE METHODS ]]--
 local tremove, tcopy, twipe, tsort, tcat = table.remove, table.copy, table.wipe, table.sort, table.concat;
+--BLIZZARD API
+local ToggleFrame           = _G.ToggleFrame;
+local CreateFrame           = _G.CreateFrame;
+local InCombatLockdown      = _G.InCombatLockdown;
+local GameTooltip           = _G.GameTooltip;
+local hooksecurefunc        = _G.hooksecurefunc;
+local IsAltKeyDown          = _G.IsAltKeyDown;
+local IsShiftKeyDown        = _G.IsShiftKeyDown;
+local IsControlKeyDown      = _G.IsControlKeyDown;
+local IsModifiedClick       = _G.IsModifiedClick;
+local RAID_CLASS_COLORS     = _G.RAID_CLASS_COLORS;
+local CUSTOM_CLASS_COLORS   = _G.CUSTOM_CLASS_COLORS;
+local SetBagSlotFlag        = _G.SetBagSlotFlag;
+local GetBagSlotFlag        = _G.GetBagSlotFlag;
+local GetContainerNumSlots  = _G.GetContainerNumSlots;
+local CLEAR_ALL                 = _G.CLEAR_ALL;
+local FILTERS                   = _G.FILTERS;
+local NUM_LE_BAG_FILTER_FLAGS   	= _G.NUM_LE_BAG_FILTER_FLAGS;
+local LE_BAG_FILTER_FLAG_EQUIPMENT  = _G.LE_BAG_FILTER_FLAG_EQUIPMENT;
+local BankFrameItemButton_Update        = _G.BankFrameItemButton_Update;
+local BankFrameItemButton_UpdateLocked  = _G.BankFrameItemButton_UpdateLocked;
 --[[
 ##########################################################
 GET ADDON DATA
@@ -34,7 +55,7 @@ local BAG_FILTER_LABELS = _G.BAG_FILTER_LABELS;
 local nameKey = UnitName("player");
 local realmKey = GetRealmName();
 local toonClass = select(2,UnitClass("player"));
-local BagFilters = CreateFrame("Frame", "SVUI_BagFilterMenu", UIParent);
+local BagFilters = _G.SVUI_BagFilterMenu;
 --[[
 ##########################################################
 LOCAL FUNCTIONS
diff --git a/SVUI_Inventory/components/sorting.lua b/SVUI_Inventory/components/sorting.lua
index e38e327..abaafa2 100644
--- a/SVUI_Inventory/components/sorting.lua
+++ b/SVUI_Inventory/components/sorting.lua
@@ -7,23 +7,23 @@ credit: Kemayo.               original logic from BankStack. Adapted to SVUI #
 ##########################################################
 LOCALIZED LUA FUNCTIONS
 ##########################################################
+(<a href="[^0-9\"]+">)
 ]]--
 --[[ GLOBALS ]]--
 local _G = _G;
-local unpack        = _G.unpack;
-local select        = _G.select;
-local assert        = _G.assert;
-local type          = _G.type;
-local error         = _G.error;
-local pcall         = _G.pcall;
-local print         = _G.print;
-local ipairs        = _G.ipairs;
-local pairs         = _G.pairs;
-local next          = _G.next;
-local rawset        = _G.rawset;
-local rawget        = _G.rawget;
-local tostring      = _G.tostring;
-local tonumber      = _G.tonumber;
+local unpack            = _G.unpack;
+local select            = _G.select;
+local assert            = _G.assert;
+local type              = _G.type;
+local error             = _G.error;
+local pcall             = _G.pcall;
+local print             = _G.print;
+local ipairs            = _G.ipairs;
+local pairs             = _G.pairs;
+local next              = _G.next;
+local tostring          = _G.tostring;
+local tonumber          = _G.tonumber;
+local collectgarbage    = _G.collectgarbage;
 local tinsert 	= _G.tinsert;
 local string 	= _G.string;
 local math 		= _G.math;
@@ -37,6 +37,51 @@ local floor = math.floor;
 local band = bit.band;
 --[[ TABLE METHODS ]]--
 local tremove, tcopy, twipe, tsort = table.remove, table.copy, table.wipe, table.sort;
+--BLIZZARD API
+local CreateFrame           = _G.CreateFrame;
+local InCombatLockdown      = _G.InCombatLockdown;
+local GameTooltip           = _G.GameTooltip;
+local hooksecurefunc        = _G.hooksecurefunc;
+local IsAltKeyDown          = _G.IsAltKeyDown;
+local IsShiftKeyDown        = _G.IsShiftKeyDown;
+local IsControlKeyDown      = _G.IsControlKeyDown;
+local IsModifiedClick       = _G.IsModifiedClick;
+local RAID_CLASS_COLORS     = _G.RAID_CLASS_COLORS;
+local CUSTOM_CLASS_COLORS   = _G.CUSTOM_CLASS_COLORS;
+local C_PetJournal          = _G.C_PetJournal;
+local GetTime               = _G.GetTime;
+local GetContainerNumSlots  = _G.GetContainerNumSlots;
+local GetGuildBankTabInfo   = _G.GetGuildBankTabInfo;
+local GetItemFamily         = _G.GetItemFamily;
+local GetGuildBankItemInfo  = _G.GetGuildBankItemInfo;
+local GetContainerItemInfo  = _G.GetContainerItemInfo;
+local GetGuildBankItemLink  = _G.GetGuildBankItemLink;
+local GetContainerItemLink  = _G.GetContainerItemLink;
+local GetItemInfo           = _G.GetItemInfo;
+local GetItemCount          = _G.GetItemCount;
+local GetItemQualityColor   = _G.GetItemQualityColor;
+local GetCursorInfo         = _G.GetCursorInfo;
+local PickupGuildBankItem   = _G.PickupGuildBankItem;
+local PickupContainerItem   = _G.PickupContainerItem;
+local QueryGuildBankTab     = _G.QueryGuildBankTab;
+local GetInventoryItemLink  = _G.GetInventoryItemLink;
+local SplitGuildBankItem    = _G.SplitGuildBankItem;
+local SplitContainerItem    = _G.SplitContainerItem;
+
+local ARMOR                     = _G.ARMOR;
+local ENCHSLOT_WEAPON           = _G.ENCHSLOT_WEAPON;
+local NUM_BAG_FRAMES            = _G.NUM_BAG_FRAMES;
+local NUM_BAG_SLOTS             = _G.NUM_BAG_SLOTS;
+local NUM_BANKBAGSLOTS          = _G.NUM_BANKBAGSLOTS;
+local BANK_CONTAINER            = _G.BANK_CONTAINER;
+local REAGENTBANK_CONTAINER     = _G.REAGENTBANK_CONTAINER;
+local GetAuctionItemClasses   	= _G.GetAuctionItemClasses;
+local GetAuctionItemSubClasses  = _G.GetAuctionItemSubClasses;
+local ContainerIDToInventoryID  = _G.ContainerIDToInventoryID;
+local GetContainerItemID        = _G.GetContainerItemID;
+local CombatText_StandardScroll = _G.CombatText_StandardScroll;
+local GetCurrentGuildBankTab	= _G.GetCurrentGuildBankTab;
+local GetContainerNumFreeSlots  = _G.GetContainerNumFreeSlots;
 --[[
 ##########################################################
 GET ADDON DATA
diff --git a/SVUI_QuestTracker/SVUI_QuestTracker.lua b/SVUI_QuestTracker/SVUI_QuestTracker.lua
index b9b8f23..49136d0 100644
--- a/SVUI_QuestTracker/SVUI_QuestTracker.lua
+++ b/SVUI_QuestTracker/SVUI_QuestTracker.lua
@@ -26,6 +26,25 @@ local format = string.format;
 local abs, ceil, floor, round = math.abs, math.ceil, math.floor, math.round;
 --[[ TABLE METHODS ]]--
 local tremove, twipe = table.remove, table.wipe;
+--BLIZZARD API
+local CreateFrame           = _G.CreateFrame;
+local InCombatLockdown      = _G.InCombatLockdown;
+local GameTooltip           = _G.GameTooltip;
+local hooksecurefunc        = _G.hooksecurefunc;
+local IsAltKeyDown          = _G.IsAltKeyDown;
+local IsShiftKeyDown        = _G.IsShiftKeyDown;
+local IsControlKeyDown      = _G.IsControlKeyDown;
+local IsModifiedClick       = _G.IsModifiedClick;
+local PlaySound             = _G.PlaySound;
+local PlaySoundFile         = _G.PlaySoundFile;
+local PlayMusic             = _G.PlayMusic;
+local StopMusic             = _G.StopMusic;
+local GetTime               = _G.GetTime;
+local PERCENTAGE_STRING     = _G.PERCENTAGE_STRING;
+local RAID_CLASS_COLORS     = _G.RAID_CLASS_COLORS;
+local CUSTOM_CLASS_COLORS   = _G.CUSTOM_CLASS_COLORS;
+local GetTimeStringFromSeconds = _G.GetTimeStringFromSeconds;
+local GetQuestProgressBarPercent = _G.GetQuestProgressBarPercent;
 --[[
 ##########################################################
 GET ADDON DATA
diff --git a/SVUI_QuestTracker/components/achievements.lua b/SVUI_QuestTracker/components/achievements.lua
index 812b43a..87ee86e 100644
--- a/SVUI_QuestTracker/components/achievements.lua
+++ b/SVUI_QuestTracker/components/achievements.lua
@@ -20,12 +20,36 @@ local tinsert 	= _G.tinsert;
 local string 	= _G.string;
 local math 		= _G.math;
 local table 	= _G.table;
+local band 		= _G.bit.band;
 --[[ STRING METHODS ]]--
 local format = string.format;
 --[[ MATH METHODS ]]--
 local abs, ceil, floor, round = math.abs, math.ceil, math.floor, math.round;
 --[[ TABLE METHODS ]]--
 local tremove, twipe = table.remove, table.wipe;
+--BLIZZARD API
+local CreateFrame           = _G.CreateFrame;
+local InCombatLockdown      = _G.InCombatLockdown;
+local GameTooltip           = _G.GameTooltip;
+local hooksecurefunc        = _G.hooksecurefunc;
+local IsAltKeyDown          = _G.IsAltKeyDown;
+local IsShiftKeyDown        = _G.IsShiftKeyDown;
+local IsControlKeyDown      = _G.IsControlKeyDown;
+local IsModifiedClick       = _G.IsModifiedClick;
+local PlaySound             = _G.PlaySound;
+local PlaySoundFile         = _G.PlaySoundFile;
+local PlayMusic             = _G.PlayMusic;
+local StopMusic             = _G.StopMusic;
+local GetTime               = _G.GetTime;
+local C_Timer               = _G.C_Timer;
+local GetAchievementInfo 	= _G.GetAchievementInfo;
+local GetAchievementLink 	= _G.GetAchievementLink;
+local GetTrackedAchievements  		= _G.GetTrackedAchievements;
+local GetAchievementNumCriteria  	= _G.GetAchievementNumCriteria;
+local GetAchievementCriteriaInfo  	= _G.GetAchievementCriteriaInfo;
+local CRITERIA_TYPE_ACHIEVEMENT  	= _G.CRITERIA_TYPE_ACHIEVEMENT;
+local TRACKER_HEADER_ACHIEVEMENTS  	= _G.TRACKER_HEADER_ACHIEVEMENTS;
+local EVALUATION_TREE_FLAG_PROGRESS_BAR = _G.EVALUATION_TREE_FLAG_PROGRESS_BAR;
 --[[
 ##########################################################
 GET ADDON DATA
@@ -82,7 +106,7 @@ local ViewButton_OnClick = function(self, button)
 				AchievementFrame_LoadUI();
 			end
 			if(IsModifiedClick("QUESTWATCHTOGGLE") ) then
-				AchievementObjectiveTracker_UntrackAchievement(_, achievementID);
+				AchievementObjectiveTracker_UntrackAchievement(self, achievementID);
 			elseif(not AchievementFrame:IsShown()) then
 				AchievementFrame_ToggleAchievementFrame();
 				AchievementFrame_SelectAchievement(achievementID);
@@ -190,8 +214,8 @@ local SetAchievementRow = function(self, index, title, details, icon, achievemen
 		elseif(shown_objectives == MAX_OBJECTIVES_SHOWN and subCount > (MAX_OBJECTIVES_SHOWN + 1)) then
 			shown_objectives = shown_objectives + 1;
 		else
-			if(description and bit.band(flags, EVALUATION_TREE_FLAG_PROGRESS_BAR) == EVALUATION_TREE_FLAG_PROGRESS_BAR) then
-				if(string.find(strlower(quantityString), "interface\\moneyframe")) then
+			if(description and band(flags, EVALUATION_TREE_FLAG_PROGRESS_BAR) == EVALUATION_TREE_FLAG_PROGRESS_BAR) then
+				if(string.find(quantityString:lower(), "interface\\moneyframe")) then
 					description = quantityString.."\n"..description;
 				else
 					description = string.gsub(quantityString, " / ", "/").." "..description;
diff --git a/SVUI_QuestTracker/components/active.lua b/SVUI_QuestTracker/components/active.lua
index 87759b4..2c2118a 100644
--- a/SVUI_QuestTracker/components/active.lua
+++ b/SVUI_QuestTracker/components/active.lua
@@ -26,6 +26,45 @@ local format = string.format;
 local abs, ceil, floor, round = math.abs, math.ceil, math.floor, math.round;
 --[[ TABLE METHODS ]]--
 local tremove, twipe = table.remove, table.wipe;
+--BLIZZARD API
+local CreateFrame           = _G.CreateFrame;
+local InCombatLockdown      = _G.InCombatLockdown;
+local GameTooltip           = _G.GameTooltip;
+local hooksecurefunc        = _G.hooksecurefunc;
+local IsAltKeyDown          = _G.IsAltKeyDown;
+local IsShiftKeyDown        = _G.IsShiftKeyDown;
+local IsControlKeyDown      = _G.IsControlKeyDown;
+local IsModifiedClick       = _G.IsModifiedClick;
+local PlaySound             = _G.PlaySound;
+local PlaySoundFile         = _G.PlaySoundFile;
+local PlayMusic             = _G.PlayMusic;
+local StopMusic             = _G.StopMusic;
+local GetTime               = _G.GetTime;
+local IsQuestTask   		= _G.IsQuestTask;
+local GetQuestLink  		= _G.GetQuestLink;
+local GetQuestLogTitle  	= _G.GetQuestLogTitle;
+local SetSuperTrackedQuestID= _G.SetSuperTrackedQuestID;
+local GetNumQuestWatches  	= _G.GetNumQuestWatches;
+local GetQuestWatchInfo  	= _G.GetQuestWatchInfo;
+local GetQuestWatchIndex  	= _G.GetQuestWatchIndex;
+local GetDistanceSqToQuest  = _G.GetDistanceSqToQuest;
+local GetNumQuestLogEntries = _G.GetNumQuestLogEntries;
+local ShowQuestComplete  	= _G.ShowQuestComplete;
+local RemoveQuestWatch  	= _G.RemoveQuestWatch;
+local IsQuestComplete  		= _G.IsQuestComplete;
+local GetSuperTrackedQuestID= _G.GetSuperTrackedQuestID;
+local GetQuestLogIndexByID  = _G.GetQuestLogIndexByID;
+local IsPlayerInMicroDungeon= _G.IsPlayerInMicroDungeon;
+local GetCurrentMapAreaID   = _G.GetCurrentMapAreaID;
+local SetMapToCurrentZone   = _G.SetMapToCurrentZone;
+local PERCENTAGE_STRING     = _G.PERCENTAGE_STRING;
+local GetQuestObjectiveInfo = _G.GetQuestObjectiveInfo;
+local GetQuestLogIsAutoComplete  	= _G.GetQuestLogIsAutoComplete;
+local GetQuestDifficultyColor  		= _G.GetQuestDifficultyColor;
+local GetQuestLogSpecialItemInfo 	= _G.GetQuestLogSpecialItemInfo;
+local GetQuestWorldMapAreaID  		= _G.GetQuestWorldMapAreaID;
+local GetTimeStringFromSeconds 		= _G.GetTimeStringFromSeconds;
+local GetQuestProgressBarPercent 	= _G.GetQuestProgressBarPercent;
 --[[
 ##########################################################
 GET ADDON DATA
@@ -121,6 +160,7 @@ local ViewButton_OnClick = function(self, button)
 				QuestLogPopupDetailFrame_Show(questIndex);
 			end
 		elseif(questID) then
+			local superTrackedQuestID = GetSuperTrackedQuestID();
 			RemoveQuestWatch(questIndex);
 			if(questID == superTrackedQuestID) then
 				QuestSuperTracking_OnQuestUntracked();
diff --git a/SVUI_QuestTracker/components/bonus.lua b/SVUI_QuestTracker/components/bonus.lua
index 1543f38..6af3399 100644
--- a/SVUI_QuestTracker/components/bonus.lua
+++ b/SVUI_QuestTracker/components/bonus.lua
@@ -17,6 +17,7 @@ local pcall     = _G.pcall;
 local tostring  = _G.tostring;
 local tonumber  = _G.tonumber;
 local tinsert 	= _G.tinsert;
+local tDeleteItem = _G.tDeleteItem;
 local string 	= _G.string;
 local math 		= _G.math;
 local table 	= _G.table;
@@ -26,6 +27,40 @@ local format = string.format;
 local abs, ceil, floor, round = math.abs, math.ceil, math.floor, math.round;
 --[[ TABLE METHODS ]]--
 local tremove, twipe = table.remove, table.wipe;
+--BLIZZARD API
+local CreateFrame           = _G.CreateFrame;
+local InCombatLockdown      = _G.InCombatLockdown;
+local GameTooltip           = _G.GameTooltip;
+local hooksecurefunc        = _G.hooksecurefunc;
+local IsAltKeyDown          = _G.IsAltKeyDown;
+local IsShiftKeyDown        = _G.IsShiftKeyDown;
+local IsControlKeyDown      = _G.IsControlKeyDown;
+local IsModifiedClick       = _G.IsModifiedClick;
+local PlaySound             = _G.PlaySound;
+local PlaySoundKitID        = _G.PlaySoundKitID;
+local GetTime               = _G.GetTime;
+local C_Scenario            = _G.C_Scenario;
+local IsQuestTask   		= _G.IsQuestTask;
+local GetTaskInfo   		= _G.GetTaskInfo;
+local GetQuestLogRewardXP   = _G.GetQuestLogRewardXP;
+local GetTasksTable  		= _G.GetTasksTable;
+local GetQuestLogTitle  	= _G.GetQuestLogTitle;
+local SetSuperTrackedQuestID= _G.SetSuperTrackedQuestID;
+local GetNumQuestWatches  	= _G.GetNumQuestWatches;
+local GetQuestWatchInfo  	= _G.GetQuestWatchInfo;
+local GetQuestWatchIndex  	= _G.GetQuestWatchIndex;
+local GetDistanceSqToQuest  = _G.GetDistanceSqToQuest;
+local GetNumQuestLogEntries = _G.GetNumQuestLogEntries;
+local GetQuestObjectiveInfo = _G.GetQuestObjectiveInfo;
+local GetNumQuestLogRewards = _G.GetNumQuestLogRewards;
+local GetQuestLogRewardInfo = _G.GetQuestLogRewardInfo;
+local GetQuestLogRewardMoney= _G.GetQuestLogRewardMoney;
+local GetMoneyString 		= _G.GetMoneyString;
+local MAX_PLAYER_LEVEL   	= _G.MAX_PLAYER_LEVEL;
+local PERCENTAGE_STRING     = _G.PERCENTAGE_STRING;
+local TRACKER_HEADER_BONUS_OBJECTIVES   = _G.TRACKER_HEADER_BONUS_OBJECTIVES;
+local GetNumQuestLogRewardCurrencies = _G.GetNumQuestLogRewardCurrencies;
+local GetQuestLogRewardCurrencyInfo  = _G.GetQuestLogRewardCurrencyInfo;
 --[[
 ##########################################################
 GET ADDON DATA
@@ -227,7 +262,7 @@ local SetCriteriaRow = function(self, index, bonusStepIndex, subCount, hasFailed
 	local iscomplete = true;

 	local row = self:Get(index);
-	row.RowID = questID
+	row.RowID = 0
 	row.Header.Text:SetText(TRACKER_HEADER_BONUS_OBJECTIVES)
 	row:ModHeight(ROW_HEIGHT);
 	row:SetAlpha(1);
@@ -310,6 +345,7 @@ end
 local UpdateBonusObjectives = function(self)
 	local fill_height = 0;
 	local rows = 0;
+	local soundFired = false;

 	if(C_Scenario.IsInScenario()) then
 		local tblBonusSteps = C_Scenario.GetBonusSteps();
@@ -356,6 +392,11 @@ local UpdateBonusObjectives = function(self)
 					local add_height = 0;
 					rows, add_height = self:SetBonus(rows, questID, numObjectives)
 					fill_height = fill_height + add_height;
+					if((not CACHED_BONUS_DATA[questID]) and (not soundFired)) then
+						PlaySound("UI_Scenario_Stage_End");
+						--PlaySoundKitID(45142);
+						soundFired = true;
+					end
 				end
 			end
 		end
@@ -368,10 +409,6 @@ local UpdateBonusObjectives = function(self)
 	else
 		self:ModHeight(fill_height + 2);
 		self:FadeIn();
-		if(not CACHED_BONUS_DATA[questID]) then
-			PlaySound("UI_Scenario_Stage_End");
-			--PlaySoundKitID(45142);
-		end
 	end
 end

diff --git a/SVUI_QuestTracker/components/button.lua b/SVUI_QuestTracker/components/button.lua
index f7c7e35..797563a 100644
--- a/SVUI_QuestTracker/components/button.lua
+++ b/SVUI_QuestTracker/components/button.lua
@@ -33,6 +33,14 @@ local format = string.format;
 local abs, ceil, floor, round = math.abs, math.ceil, math.floor, math.round;
 --[[ TABLE METHODS ]]--
 local tremove, twipe = table.remove, table.wipe;
+
+local C_Timer 				= _G.C_Timer;
+local GetNumQuestWatches  	= _G.GetNumQuestWatches;
+local GetQuestWatchInfo  	= _G.GetQuestWatchInfo;
+local QuestHasPOIInfo  	= _G.QuestHasPOIInfo;
+local GetQuestLogSpecialItemInfo  	= _G.GetQuestLogSpecialItemInfo;
+local GetCurrentMapAreaID  	= _G.GetCurrentMapAreaID;
+local GetDistanceSqToQuest  	= _G.GetDistanceSqToQuest;
 --[[
 ##########################################################
 GET ADDON DATA
diff --git a/SVUI_QuestTracker/components/popups.lua b/SVUI_QuestTracker/components/popups.lua
index 1f748a1..09ab460 100644
--- a/SVUI_QuestTracker/components/popups.lua
+++ b/SVUI_QuestTracker/components/popups.lua
@@ -26,6 +26,23 @@ local format = string.format;
 local abs, ceil, floor, round = math.abs, math.ceil, math.floor, math.round;
 --[[ TABLE METHODS ]]--
 local tremove, twipe = table.remove, table.wipe;
+--BLIZZARD API
+local CreateFrame           = _G.CreateFrame;
+local InCombatLockdown      = _G.InCombatLockdown;
+local GameTooltip           = _G.GameTooltip;
+local hooksecurefunc        = _G.hooksecurefunc;
+local IsAltKeyDown          = _G.IsAltKeyDown;
+local IsShiftKeyDown        = _G.IsShiftKeyDown;
+local IsControlKeyDown      = _G.IsControlKeyDown;
+local ShowQuestOffer       	= _G.ShowQuestOffer;
+local PlaySound             = _G.PlaySound;
+local GetQuestLogTitle  	= _G.GetQuestLogTitle;
+local ShowQuestComplete  	= _G.ShowQuestComplete;
+local GetQuestLogIndexByID  = _G.GetQuestLogIndexByID;
+local RemoveAutoQuestPopUp 	= _G.RemoveAutoQuestPopUp;
+local AddAutoQuestPopUp  	= _G.AddAutoQuestPopUp;
+local GetAutoQuestPopUp 	= _G.GetAutoQuestPopUp;
+local GetNumAutoQuestPopUps = _G.GetNumAutoQuestPopUps;
 --[[
 ##########################################################
 GET ADDON DATA
diff --git a/SVUI_QuestTracker/components/quests.lua b/SVUI_QuestTracker/components/quests.lua
index 0f161f3..f4d2fde 100644
--- a/SVUI_QuestTracker/components/quests.lua
+++ b/SVUI_QuestTracker/components/quests.lua
@@ -29,6 +29,50 @@ local format = string.format;
 local abs, ceil, floor, round, maxNum = math.abs, math.ceil, math.floor, math.round, math.max;
 --[[ TABLE METHODS ]]--
 local tsort, tcopy = table.sort, table.copy;
+--BLIZZARD API
+local CreateFrame           = _G.CreateFrame;
+local InCombatLockdown      = _G.InCombatLockdown;
+local GameTooltip           = _G.GameTooltip;
+local hooksecurefunc        = _G.hooksecurefunc;
+local IsAltKeyDown          = _G.IsAltKeyDown;
+local IsShiftKeyDown        = _G.IsShiftKeyDown;
+local IsControlKeyDown      = _G.IsControlKeyDown;
+local IsModifiedClick       = _G.IsModifiedClick;
+local PlaySound             = _G.PlaySound;
+local PlaySoundFile         = _G.PlaySoundFile;
+local PlayMusic             = _G.PlayMusic;
+local StopMusic             = _G.StopMusic;
+local GetTime               = _G.GetTime;
+local C_Timer               = _G.C_Timer;
+local IsQuestTask   		= _G.IsQuestTask;
+local GetCVarBool   		= _G.GetCVarBool;
+local AddQuestWatch   		= _G.AddQuestWatch;
+local GetQuestLink  		= _G.GetQuestLink;
+local GetQuestLogTitle  	= _G.GetQuestLogTitle;
+local SetSuperTrackedQuestID= _G.SetSuperTrackedQuestID;
+local GetNumQuestWatches  	= _G.GetNumQuestWatches;
+local GetQuestWatchInfo  	= _G.GetQuestWatchInfo;
+local GetQuestWatchIndex  	= _G.GetQuestWatchIndex;
+local GetDistanceSqToQuest  = _G.GetDistanceSqToQuest;
+local GetNumQuestLogEntries = _G.GetNumQuestLogEntries;
+local ShowQuestComplete  	= _G.ShowQuestComplete;
+local RemoveQuestWatch  	= _G.RemoveQuestWatch;
+local IsQuestComplete  		= _G.IsQuestComplete;
+local GetSuperTrackedQuestID= _G.GetSuperTrackedQuestID;
+local GetQuestLogIndexByID  = _G.GetQuestLogIndexByID;
+local AddQuestWatch   		= _G.AddQuestWatch;
+local IsPlayerInMicroDungeon= _G.IsPlayerInMicroDungeon;
+local GetCurrentMapAreaID   = _G.GetCurrentMapAreaID;
+local SetMapToCurrentZone   = _G.SetMapToCurrentZone;
+local AUTO_QUEST_WATCH     	= _G.AUTO_QUEST_WATCH;
+local TRACKER_HEADER_QUESTS = _G.TRACKER_HEADER_QUESTS;
+local GetQuestObjectiveInfo = _G.GetQuestObjectiveInfo;
+local GetQuestLogIsAutoComplete  	= _G.GetQuestLogIsAutoComplete;
+local GetQuestDifficultyColor  		= _G.GetQuestDifficultyColor;
+local GetQuestLogSpecialItemInfo 	= _G.GetQuestLogSpecialItemInfo;
+local GetQuestWorldMapAreaID  		= _G.GetQuestWorldMapAreaID;
+local GetTimeStringFromSeconds 		= _G.GetTimeStringFromSeconds;
+local GetQuestProgressBarPercent 	= _G.GetQuestProgressBarPercent;
 --[[
 ##########################################################
 GET ADDON DATA
@@ -646,6 +690,7 @@ local ViewButton_OnClick = function(self, button)
 				QuestLogPopupDetailFrame_Show(questIndex);
 			end
 		elseif(questID) then
+			local superTrackedQuestID = GetSuperTrackedQuestID();
 			RemoveQuestWatch(questIndex);
 			if(questID == superTrackedQuestID) then
 				QuestSuperTracking_OnQuestUntracked();
diff --git a/SVUI_QuestTracker/components/scenario.lua b/SVUI_QuestTracker/components/scenario.lua
index 3c8d39c..c9a5ffd 100644
--- a/SVUI_QuestTracker/components/scenario.lua
+++ b/SVUI_QuestTracker/components/scenario.lua
@@ -26,6 +26,31 @@ local format = string.format;
 local abs, ceil, floor, round = math.abs, math.ceil, math.floor, math.round;
 --[[ TABLE METHODS ]]--
 local tremove, twipe = table.remove, table.wipe;
+--BLIZZARD API
+local CreateFrame           = _G.CreateFrame;
+local InCombatLockdown      = _G.InCombatLockdown;
+local GameTooltip           = _G.GameTooltip;
+local hooksecurefunc        = _G.hooksecurefunc;
+local IsAltKeyDown          = _G.IsAltKeyDown;
+local IsShiftKeyDown        = _G.IsShiftKeyDown;
+local IsControlKeyDown      = _G.IsControlKeyDown;
+local IsModifiedClick       = _G.IsModifiedClick;
+local PlaySound             = _G.PlaySound;
+local PlaySoundKitID        = _G.PlaySoundKitID;
+local GetTime               = _G.GetTime;
+local C_Scenario            = _G.C_Scenario;
+local GetWorldElapsedTimers = _G.GetWorldElapsedTimers;
+local GetInstanceInfo 		= _G.GetInstanceInfo;
+local GetWorldElapsedTime 	= _G.GetWorldElapsedTime;
+local GetTimeStringFromSeconds	= _G.GetTimeStringFromSeconds;
+local GetChallengeModeMapTimes 	= _G.GetChallengeModeMapTimes;
+local GENERIC_FRACTION_STRING 	= _G.GENERIC_FRACTION_STRING;
+local CHALLENGE_MEDAL_GOLD   	= _G.CHALLENGE_MEDAL_GOLD;
+local CHALLENGE_MEDAL_SILVER    = _G.CHALLENGE_MEDAL_SILVER;
+local CHALLENGE_MEDAL_TEXTURES  = _G.CHALLENGE_MEDAL_TEXTURES;
+local CHALLENGES_TIMER_NO_MEDAL = _G.CHALLENGES_TIMER_NO_MEDAL;
+local LE_WORLD_ELAPSED_TIMER_TYPE_CHALLENGE_MODE = _G.LE_WORLD_ELAPSED_TIMER_TYPE_CHALLENGE_MODE;
+local LE_WORLD_ELAPSED_TIMER_TYPE_PROVING_GROUND = _G.LE_WORLD_ELAPSED_TIMER_TYPE_PROVING_GROUND;
 --[[
 ##########################################################
 GET ADDON DATA
diff --git a/SVUI_Skins/SVUI_Skins.lua b/SVUI_Skins/SVUI_Skins.lua
index 6ddb384..aad74f4 100644
--- a/SVUI_Skins/SVUI_Skins.lua
+++ b/SVUI_Skins/SVUI_Skins.lua
@@ -26,6 +26,9 @@ local floor = math.floor;
 local twipe, tcopy = table.wipe, table.copy;
 local IsAddOnLoaded = _G.IsAddOnLoaded;
 local LoadAddOn = _G.LoadAddOn;
+--BLIZZARD API
+local InCombatLockdown      = _G.InCombatLockdown;
+local CreateFrame           = _G.CreateFrame;
 --[[
 ##########################################################
 GET ADDON DATA
diff --git a/SVUI_Skins/components/docklet.lua b/SVUI_Skins/components/docklet.lua
index c6e6890..f8223dd 100644
--- a/SVUI_Skins/components/docklet.lua
+++ b/SVUI_Skins/components/docklet.lua
@@ -405,7 +405,7 @@ function MOD:GetDockables()
 		{text = "Remove All", func = function() SV.private.Docks.Embed1 = "None"; MOD:RegisterAddonDocklets() end}
 	};

-	for addon,_ in pairs(EMBEDS) do
+	for addon,_ in pairs(DOCK_EMBEDS) do
 		if (not test or (test and not test:find(addon))) then
 			if(addon:find("Skada") and _G.Skada) then
 				for index,window in pairs(_G.Skada:GetWindows()) do
diff --git a/SVUI_Tooltip/SVUI_Tooltip.lua b/SVUI_Tooltip/SVUI_Tooltip.lua
index e87008e..8b623ab 100644
--- a/SVUI_Tooltip/SVUI_Tooltip.lua
+++ b/SVUI_Tooltip/SVUI_Tooltip.lua
@@ -11,6 +11,7 @@ local unpack 	= _G.unpack;
 local select 	= _G.select;
 local pairs 	= _G.pairs;
 local tinsert 	= _G.tinsert;
+local tremove 	= _G.tremove;
 local string 	= _G.string;
 local math 		= _G.math;
 local table 	= _G.table;
@@ -19,7 +20,64 @@ local find, format, match, sub, gsub = string.find, string.format, string.match,
 --[[ MATH METHODS ]]--
 local floor,min = math.floor, math.min;
 --[[ TABLE METHODS ]]--
-local twipe, tconcat = table.wipe, table.concat;
+local wipe, tconcat = table.wipe, table.concat;
+--BLIZZARD API
+local InCombatLockdown      = _G.InCombatLockdown;
+local CreateFrame           = _G.CreateFrame;
+local ERR_NOT_IN_COMBAT     = _G.ERR_NOT_IN_COMBAT;
+local RAID_CLASS_COLORS     = _G.RAID_CLASS_COLORS;
+local FACTION_BAR_COLORS    = _G.FACTION_BAR_COLORS;
+local CUSTOM_CLASS_COLORS   = _G.CUSTOM_CLASS_COLORS;
+local GetTime               = _G.GetTime;
+local GameTooltip           = _G.GameTooltip;
+local UnitName              = _G.UnitName;
+local UnitRace             	= _G.UnitRace;
+local UnitAura              = _G.UnitAura;
+local UnitLevel             = _G.UnitLevel;
+local UnitClass             = _G.UnitClass;
+local UnitIsUnit            = _G.UnitIsUnit;
+local UnitExists            = _G.UnitExists;
+local UnitInRaid            = _G.UnitInRaid;
+local UnitInParty           = _G.UnitInParty;
+local UnitGUID              = _G.UnitGUID;
+local UnitIsPVP             = _G.UnitIsPVP;
+local UnitIsDND             = _G.UnitIsDND;
+local UnitIsAFK             = _G.UnitIsAFK;
+local UnitIsDeadOrGhost     = _G.UnitIsDeadOrGhost;
+local UnitIsTapped          = _G.UnitIsTapped;
+local UnitIsTappedByPlayer  = _G.UnitIsTappedByPlayer;
+local UnitPVPName           = _G.UnitPVPName;
+local UnitRealmRelationship = _G.UnitRealmRelationship;
+local UnitReaction          = _G.UnitReaction;
+local UnitFactionGroup      = _G.UnitFactionGroup;
+local UnitClassification    = _G.UnitClassification;
+local UnitCreatureType      = _G.UnitCreatureType;
+local UnitCreatureFamily    = _G.UnitCreatureFamily;
+local UnitBattlePetLevel    = _G.UnitBattlePetLevel;
+local UnitIsWildBattlePet   = _G.UnitIsWildBattlePet;
+local UnitIsBattlePetCompanion = _G.UnitIsBattlePetCompanion;
+local UnitIsPlayer          = _G.UnitIsPlayer;
+local UnitHasVehicleUI 		= _G.UnitHasVehicleUI;
+local IsInRaid              = _G.IsInRaid;
+local IsInGroup             = _G.IsInGroup;
+local IsInInstance          = _G.IsInInstance;
+local ItemRefTooltip        = _G.ItemRefTooltip;
+local BNToastFrame          = _G.BNToastFrame;
+local LEVEL   				= _G.LEVEL;
+local PVP   				= _G.PVP;
+local DEAD   				= _G.DEAD;
+local TARGET   				= _G.TARGET;
+local C_PetJournal          = _G.C_PetJournal;
+local GetItemInfo           = _G.GetItemInfo;
+local GetItemCount          = _G.GetItemCount;
+local GetItemQualityColor   = _G.GetItemQualityColor;
+local FACTION_HORDE   				= _G.FACTION_HORDE;
+local FACTION_ALLIANCE   			= _G.FACTION_ALLIANCE;
+local PET_TYPE_SUFFIX   			= _G.PET_TYPE_SUFFIX;
+local INTERACTIVE_SERVER_LABEL   	= _G.INTERACTIVE_SERVER_LABEL;
+local LE_REALM_RELATION_VIRTUAL   	= _G.LE_REALM_RELATION_VIRTUAL;
+local FOREIGN_SERVER_LABEL   		= _G.FOREIGN_SERVER_LABEL;
+local LE_REALM_RELATION_COALESCED   = _G.LE_REALM_RELATION_COALESCED;
 --[[
 ##########################################################
 GET ADDON DATA
@@ -478,7 +536,7 @@ local _hook_GameTooltip_OnTooltipSetUnit = function(self)
 			local maxTargets = #targetList;
 			if maxTargets > 0 then
 				self:AddLine(format("%s (|cffffffff%d|r): %s", L["Targeted By:"], maxTargets, tconcat(targetList, ", ")), nil, nil, nil, true)
-				twipe(targetList)
+				wipe(targetList)
 			end
 		end
 	end
@@ -822,7 +880,6 @@ local function ApplyTooltipSkins()
 		    --mask:SetBackdropBorderColor(0, 0, 0)

 		    mask.SetMaskBorderColor = SetMaskBorderColor
-			mask.SetMaskBurstColor = SetMaskBurstColor
 			mask.ClearMaskColors = ClearMaskColors

 			tooltip.SuperBorder = mask;
diff --git a/SVUI_TrackOMatic/SVUI_TrackOMatic.lua b/SVUI_TrackOMatic/SVUI_TrackOMatic.lua
index 6537fd3..820f92b 100644
--- a/SVUI_TrackOMatic/SVUI_TrackOMatic.lua
+++ b/SVUI_TrackOMatic/SVUI_TrackOMatic.lua
@@ -31,6 +31,31 @@ local sqrt2, max = math.sqrt(2), math.max;
 local tcopy, twipe, tsort, tconcat, tdump = table.copy, table.wipe, table.sort, table.concat, table.dump;
 --[[ BINARY METHODS ]]--
 local band = bit.band;
+--BLIZZARD API
+local InCombatLockdown      = _G.InCombatLockdown;
+local CreateFrame           = _G.CreateFrame;
+local SetMapToCurrentZone   = _G.SetMapToCurrentZone;
+local GetTime               = _G.GetTime;
+local GameTooltip           = _G.GameTooltip;
+local UnitName              = _G.UnitName;
+local UnitRace              = _G.UnitRace;
+local UnitAura              = _G.UnitAura;
+local UnitLevel             = _G.UnitLevel;
+local UnitClass             = _G.UnitClass;
+local UnitIsUnit            = _G.UnitIsUnit;
+local UnitExists            = _G.UnitExists;
+local UnitInRaid            = _G.UnitInRaid;
+local UnitInParty           = _G.UnitInParty;
+local UnitGUID              = _G.UnitGUID;
+local UnitIsPVP             = _G.UnitIsPVP;
+local UnitIsDND             = _G.UnitIsDND;
+local UnitIsAFK             = _G.UnitIsAFK;
+local GetItemInfo           = _G.GetItemInfo;
+local GetItemCount          = _G.GetItemCount;
+local GetItemQualityColor   = _G.GetItemQualityColor;
+local ERR_NOT_IN_COMBAT     = _G.ERR_NOT_IN_COMBAT;
+local RAID_CLASS_COLORS     = _G.RAID_CLASS_COLORS;
+local CUSTOM_CLASS_COLORS   = _G.CUSTOM_CLASS_COLORS;

 --[[  CONSTANTS ]]--

diff --git a/SVUI_TrackOMatic/components/triangulate.lua b/SVUI_TrackOMatic/components/triangulate.lua
index 0e1aab5..6ef27ca 100644
--- a/SVUI_TrackOMatic/components/triangulate.lua
+++ b/SVUI_TrackOMatic/components/triangulate.lua
@@ -13,6 +13,8 @@ local pairs     = _G.pairs;
 local type      = _G.type;
 local tostring  = _G.tostring;
 local tonumber  = _G.tonumber;
+local rawset    = _G.rawset;
+local rawget    = _G.rawget;
 local tinsert   = _G.tinsert;
 local tremove   = _G.tremove;
 local string    = _G.string;
@@ -31,6 +33,17 @@ local sqrt2, max = math.sqrt(2), math.max;
 local tcopy, twipe, tsort, tconcat, tdump = table.copy, table.wipe, table.sort, table.concat, table.dump;
 --[[ BINARY METHODS ]]--
 local band = bit.band;
+--BLIZZARD API
+local InCombatLockdown      = _G.InCombatLockdown;
+local SetMapZoom            = _G.SetMapZoom;
+local SetMapToCurrentZone   = _G.SetMapToCurrentZone;
+local ZoomOut               = _G.ZoomOut;
+local SetMapByID            = _G.SetMapByID;
+local SetDungeonMapLevel    = _G.SetDungeonMapLevel;
+local QuestPOIGetIconInfo   = _G.QuestPOIGetIconInfo;
+local WORLDMAP_WORLD_ID     = _G.WORLDMAP_WORLD_ID;
+local WorldMapFrame         = _G.WorldMapFrame;
+local GetCurrentMapDungeonLevel   = _G.GetCurrentMapDungeonLevel;
 --[[
 ##########################################################
 LOCALS
@@ -383,7 +396,7 @@ local function GetDistance(map1, floor1, x1, y1, map2, floor2, x2, y2)
     return dist, angle;
 end

-function TriangulateUnit(unit, noMapLocation)
+_G.TriangulateUnit = function(unit, noMapLocation)
     if(WorldMapFrame and WorldMapFrame:IsShown()) then return end

     local plot1, plot2, plot3, plot4, plot5, plot6, plot7, plot8;
@@ -444,7 +457,7 @@ end

 --QuestPOIGetIconInfo(questID)

-function TriangulateQuest(questID)
+_G.TriangulateQuest = function(questID)
     if(WorldMapFrame and WorldMapFrame:IsShown()) then return end

     local _, plot1, plot2, plot3, plot4, plot5, plot6, plot7, plot8;
diff --git a/SVUI_TrackOMatic/components/unitframe_gps.lua b/SVUI_TrackOMatic/components/unitframe_gps.lua
index c14627a..5b74f19 100644
--- a/SVUI_TrackOMatic/components/unitframe_gps.lua
+++ b/SVUI_TrackOMatic/components/unitframe_gps.lua
@@ -7,12 +7,19 @@ LOCALIZED LUA FUNCTIONS
 ]]--
 --[[ GLOBALS ]]--
 local _G = _G;
-local unpack    = _G.unpack;
-local select    = _G.select;
-local pairs     = _G.pairs;
-local type      = _G.type;
-local tostring  = _G.tostring;
-local tonumber  = _G.tonumber;
+local unpack            = _G.unpack;
+local select            = _G.select;
+local assert            = _G.assert;
+local type              = _G.type;
+local error             = _G.error;
+local pcall             = _G.pcall;
+local print             = _G.print;
+local ipairs            = _G.ipairs;
+local pairs             = _G.pairs;
+local next              = _G.next;
+local tostring          = _G.tostring;
+local tonumber          = _G.tonumber;
+local collectgarbage    = _G.collectgarbage;
 local tinsert   = _G.tinsert;
 local tremove   = _G.tremove;
 local string    = _G.string;
@@ -31,6 +38,28 @@ local sqrt2, max = math.sqrt(2), math.max;
 local tcopy, twipe, tsort, tconcat, tdump = table.copy, table.wipe, table.sort, table.concat, table.dump;
 --[[ BINARY METHODS ]]--
 local band = bit.band;
+--BLIZZARD API
+local InCombatLockdown      = _G.InCombatLockdown;
+local CreateFrame           = _G.CreateFrame;
+local IsInRaid              = _G.IsInRaid;
+local IsInGroup             = _G.IsInGroup;
+local IsInInstance          = _G.IsInInstance;
+local UnitName              = _G.UnitName;
+local UnitAura              = _G.UnitAura;
+local UnitBuff              = _G.UnitBuff;
+local UnitStat              = _G.UnitStat;
+local UnitRace              = _G.UnitRace;
+local UnitLevel             = _G.UnitLevel;
+local UnitClass             = _G.UnitClass;
+local UnitReaction          = _G.UnitReaction;
+local UnitExists            = _G.UnitExists;
+local UnitIsUnit            = _G.UnitIsUnit;
+local UnitInRaid            = _G.UnitInRaid;
+local UnitInParty           = _G.UnitInParty;
+local UnitInRange           = _G.UnitInRange;
+local GetMouseFocus         = _G.GetMouseFocus;
+local UnitIsConnected       = _G.UnitIsConnected;
+local GetNumGroupMembers    = _G.GetNumGroupMembers;
 --[[
 ##########################################################
 GET ADDON DATA
@@ -227,7 +256,7 @@ local taggedUnits = {}
 local groupTagManager = CreateFrame("Frame")
 function PLUGIN:EnableGPS()
     if(not SV.UnitFrames) then return end;
-    local oUF = SV.UnitFrames.oUF or oUF
+    local oUF = SV.UnitFrames.oUF
     if(not oUF) then return end;

     CONFIGS = SV.db[self.Schema];
diff --git a/SVUI_UnitFrames/SVUI_UnitFrames.lua b/SVUI_UnitFrames/SVUI_UnitFrames.lua
index 994f93c..20975a0 100644
--- a/SVUI_UnitFrames/SVUI_UnitFrames.lua
+++ b/SVUI_UnitFrames/SVUI_UnitFrames.lua
@@ -5,22 +5,22 @@ S V U I   By: Munglunch
 LOCALIZED LUA FUNCTIONS
 ##########################################################
 ]]--
+local _G            	= _G;
 --LUA
-local unpack        = unpack;
-local select        = select;
-local pairs         = pairs;
-local type          = type;
-local rawset        = rawset;
-local rawget        = rawget;
-local tostring      = tostring;
-local error         = error;
-local next          = next;
-local pcall         = pcall;
-local getmetatable  = getmetatable;
-local setmetatable  = setmetatable;
-local assert        = assert;
+local unpack            = _G.unpack;
+local select            = _G.select;
+local assert            = _G.assert;
+local type              = _G.type;
+local error             = _G.error;
+local pcall             = _G.pcall;
+local print             = _G.print;
+local ipairs            = _G.ipairs;
+local pairs             = _G.pairs;
+local next              = _G.next;
+local tostring          = _G.tostring;
+local tonumber          = _G.tonumber;
+local collectgarbage    = _G.collectgarbage;
 --BLIZZARD
-local _G            = _G;
 local tinsert       = _G.tinsert;
 local tremove       = _G.tremove;
 local twipe         = _G.wipe;
@@ -34,8 +34,22 @@ local math          = math;
 local min, random   = math.min, math.random;
 --TABLE
 local table         = table;
---[[ LOCALIZED BLIZZ FUNCTIONS ]]--
-local NewHook = hooksecurefunc;
+--BLIZZARD API
+local hooksecurefunc 			= _G.hooksecurefunc;
+local InCombatLockdown      	= _G.InCombatLockdown;
+local CreateFrame           	= _G.CreateFrame;
+local IsAddOnLoaded         	= _G.IsAddOnLoaded;
+local IsInInstance          	= _G.IsInInstance;
+local GetActiveSpecGroup    	= _G.GetActiveSpecGroup;
+local GetSpellInfo    			= _G.GetSpellInfo;
+local oUF_RaidDebuffs       	= _G.oUF_RaidDebuffs;
+local MAX_BOSS_FRAMES       	= _G.MAX_BOSS_FRAMES;
+local RAID_CLASS_COLORS     	= _G.RAID_CLASS_COLORS;
+local FACTION_BAR_COLORS    	= _G.FACTION_BAR_COLORS;
+local CUSTOM_CLASS_COLORS   	= _G.CUSTOM_CLASS_COLORS;
+local RegisterStateDriver       = _G.RegisterStateDriver;
+local UnregisterStateDriver     = _G.UnregisterStateDriver;
+local RegisterAttributeDriver   = _G.RegisterAttributeDriver;
 --[[
 ##########################################################
 GET ADDON DATA AND TEST FOR oUF
@@ -1238,8 +1252,8 @@ function MOD:Load()

 	if(SV.db.UnitFrames.disableBlizzard) then
 		self:KillBlizzardRaidFrames()
-		NewHook("CompactUnitFrame_RegisterEvents", CompactUnitFrame_UnregisterEvents)
-		NewHook("UnitFrameThreatIndicator_Initialize", UnitFrameThreatIndicator_Hook)
+		hooksecurefunc("CompactUnitFrame_RegisterEvents", CompactUnitFrame_UnregisterEvents)
+		hooksecurefunc("UnitFrameThreatIndicator_Initialize", UnitFrameThreatIndicator_Hook)

 		InterfaceOptionsFrameCategoriesButton10:SetScale(0.0001)
 		InterfaceOptionsFrameCategoriesButton11:SetScale(0.0001)
diff --git a/SVUI_UnitFrames/elements/auras.lua b/SVUI_UnitFrames/elements/auras.lua
index 78afeea..ae3d47a 100644
--- a/SVUI_UnitFrames/elements/auras.lua
+++ b/SVUI_UnitFrames/elements/auras.lua
@@ -39,6 +39,10 @@ local ceil         	= math.ceil
 local table         = table;
 local tsort         = table.sort;
 local tremove       = table.remove;
+
+local CreateFrame           = _G.CreateFrame;
+local InCombatLockdown      = _G.InCombatLockdown;
+local GameTooltip           = _G.GameTooltip;
 --[[
 ##########################################################
 GET ADDON DATA
diff --git a/SVUI_UnitFrames/elements/castbar.lua b/SVUI_UnitFrames/elements/castbar.lua
index c281211..c29de52 100644
--- a/SVUI_UnitFrames/elements/castbar.lua
+++ b/SVUI_UnitFrames/elements/castbar.lua
@@ -37,6 +37,13 @@ local tremove       = table.remove;
 --[[ MATH METHODS ]]--
 local abs, ceil, floor = math.abs, math.ceil, math.floor; -- Basic
 local parsefloat = math.parsefloat; -- Uncommon
+
+local CreateFrame           = _G.CreateFrame;
+local InCombatLockdown      = _G.InCombatLockdown;
+local GameTooltip           = _G.GameTooltip;
+local UnitClass             = _G.UnitClass;
+local UnitIsPlayer          = _G.UnitIsPlayer;
+local UnitReaction          = _G.UnitReaction;
 --[[
 ##########################################################
 GET ADDON DATA
diff --git a/SVUI_UnitFrames/elements/essentials.lua b/SVUI_UnitFrames/elements/essentials.lua
index 25edb3d..c1b04ed 100644
--- a/SVUI_UnitFrames/elements/essentials.lua
+++ b/SVUI_UnitFrames/elements/essentials.lua
@@ -36,6 +36,23 @@ local random        = math.random;
 local floor         = math.floor;
 local ceil         	= math.ceil;
 local min 			= math.min;
+
+local CreateFrame           = _G.CreateFrame;
+local InCombatLockdown      = _G.InCombatLockdown;
+local IsLoggedIn            = _G.IsLoggedIn;
+local GameTooltip           = _G.GameTooltip;
+local UnitClass             = _G.UnitClass;
+local UnitIsPlayer          = _G.UnitIsPlayer;
+local UnitReaction          = _G.UnitReaction;
+local UnitIsConnected  		= _G.UnitIsConnected;
+local UnitIsDeadOrGhost  	= _G.UnitIsDeadOrGhost;
+local UnitClassBase  		= _G.UnitClassBase;
+local UnitPowerType  		= _G.UnitPowerType;
+local UnitPlayerControlled  = _G.UnitPlayerControlled;
+local UnitThreatSituation   = _G.UnitThreatSituation;
+local UnitAffectingCombat   = _G.UnitAffectingCombat;
+local GetThreatStatusColor   = _G.GetThreatStatusColor;
+local UnitAlternatePowerInfo  = _G.UnitAlternatePowerInfo;
 --[[
 ##########################################################
 GET ADDON DATA
diff --git a/SVUI_UnitFrames/elements/misc.lua b/SVUI_UnitFrames/elements/misc.lua
index f371f7d..ff2c3c9 100644
--- a/SVUI_UnitFrames/elements/misc.lua
+++ b/SVUI_UnitFrames/elements/misc.lua
@@ -35,6 +35,33 @@ local floor         = math.floor
 local ceil         	= math.ceil
 local max         	= math.max

+local CreateFrame           = _G.CreateFrame;
+local InCombatLockdown      = _G.InCombatLockdown;
+local IsLoggedIn            = _G.IsLoggedIn;
+local IsResting             = _G.IsResting;
+local GameTooltip           = _G.GameTooltip;
+local UnitClass             = _G.UnitClass;
+local UnitBuff              = _G.UnitBuff;
+local UnitHealth            = _G.UnitHealth;
+local UnitHealthMax         = _G.UnitHealthMax;
+local UnitIsPlayer          = _G.UnitIsPlayer;
+local UnitReaction          = _G.UnitReaction;
+local UnitIsConnected  		= _G.UnitIsConnected;
+local UnitIsDeadOrGhost  	= _G.UnitIsDeadOrGhost;
+local UnitClassBase  		= _G.UnitClassBase;
+local UnitPowerType  		= _G.UnitPowerType;
+local UnitPlayerControlled  = _G.UnitPlayerControlled;
+local UnitGroupRolesAssigned  = _G.UnitGroupRolesAssigned;
+local UnitThreatSituation   = _G.UnitThreatSituation;
+local UnitAffectingCombat   = _G.UnitAffectingCombat;
+local GetThreatStatusColor  = _G.GetThreatStatusColor;
+local UnitAlternatePowerInfo  = _G.UnitAlternatePowerInfo;
+local UnitGetIncomingHeals  = _G.UnitGetIncomingHeals;
+local UnitGetTotalAbsorbs   = _G.UnitGetTotalAbsorbs;
+local UnitGetTotalHealAbsorbs = _G.UnitGetTotalHealAbsorbs;
+local GetSpecialization     = _G.GetSpecialization;
+local GetSpecializationInfo = _G.GetSpecializationInfo;
+
 local SV = _G['SVUI']
 local L = SV.L;
 local LSM = _G.LibStub("LibSharedMedia-3.0")
diff --git a/SVUI_UnitFrames/elements/tags.lua b/SVUI_UnitFrames/elements/tags.lua
index 08754f5..d93f5ec 100644
--- a/SVUI_UnitFrames/elements/tags.lua
+++ b/SVUI_UnitFrames/elements/tags.lua
@@ -10,18 +10,6 @@ local unpack        = _G.unpack;
 local select        = _G.select;
 local assert        = _G.assert;
 local type          = _G.type;
-local error         = _G.error;
-local pcall         = _G.pcall;
-local print         = _G.print;
-local ipairs        = _G.ipairs;
-local pairs         = _G.pairs;
-local next          = _G.next;
-local rawset        = _G.rawset;
-local rawget        = _G.rawget;
-local tostring      = _G.tostring;
-local tonumber      = _G.tonumber;
-local getmetatable  = _G.getmetatable;
-local setmetatable  = _G.setmetatable;
 --STRING
 local string        = _G.string;
 local upper         = string.upper;
@@ -43,6 +31,73 @@ local tconcat       = table.concat;
 local tinsert       = _G.tinsert;
 local tremove       = _G.tremove;
 local twipe         = _G.wipe;
+
+local CreateFrame           = _G.CreateFrame;
+local InCombatLockdown      = _G.InCombatLockdown;
+
+local PVP      = _G.PVP;
+local DEAD     = _G.DEAD;
+local UNKNOWN  = _G.UNKNOWN;
+local ALTERNATE_POWER_INDEX = _G.ALTERNATE_POWER_INDEX;
+local ERR_NOT_IN_COMBAT     = _G.ERR_NOT_IN_COMBAT;
+local RAID_CLASS_COLORS     = _G.RAID_CLASS_COLORS;
+local FACTION_BAR_COLORS    = _G.FACTION_BAR_COLORS;
+local CUSTOM_CLASS_COLORS   = _G.CUSTOM_CLASS_COLORS;
+local DEFAULT_AFK_MESSAGE   = _G.DEFAULT_AFK_MESSAGE;
+local IsLoggedIn            = _G.IsLoggedIn;
+local GameTooltip           = _G.GameTooltip;
+local UnitName              = _G.UnitName;
+local UnitAura              = _G.UnitAura;
+local UnitBuff              = _G.UnitBuff;
+local UnitHealth            = _G.UnitHealth;
+local UnitHealthMax         = _G.UnitHealthMax;
+local UnitPower             = _G.UnitPower;
+local UnitPowerMax          = _G.UnitPowerMax;
+local UnitStat              = _G.UnitStat;
+local UnitRace             	= _G.UnitRace;
+local UnitLevel             = _G.UnitLevel;
+local UnitClass             = _G.UnitClass;
+local UnitReaction          = _G.UnitReaction;
+local UnitExists            = _G.UnitExists;
+local UnitIsUnit            = _G.UnitIsUnit;
+local UnitInRaid            = _G.UnitInRaid;
+local UnitInParty           = _G.UnitInParty;
+local UnitInRange           = _G.UnitInRange;
+local UnitGUID              = _G.UnitGUID;
+local UnitIsPVP             = _G.UnitIsPVP;
+local UnitIsDND             = _G.UnitIsDND;
+local UnitIsAFK             = _G.UnitIsAFK;
+local UnitIsDead            = _G.UnitIsDead;
+local UnitIsGhost           = _G.UnitIsGhost;
+local UnitIsPlayer          = _G.UnitIsPlayer;
+local UnitIsFriend          = _G.UnitIsFriend;
+local UnitIsEnemy           = _G.UnitIsEnemy;
+local UnitIsTapped          = _G.UnitIsTapped;
+local UnitClassBase  		= _G.UnitClassBase;
+local UnitPowerType  		= _G.UnitPowerType;
+local UnitPlayerControlled  = _G.UnitPlayerControlled;
+local UnitIsTappedByPlayer  = _G.UnitIsTappedByPlayer;
+local UnitIsConnected  		= _G.UnitIsConnected;
+local UnitCanAttack  		= _G.UnitCanAttack;
+local UnitIsDeadOrGhost  	= _G.UnitIsDeadOrGhost;
+local UnitInVehicle         = _G.UnitInVehicle;
+local UnitControllingVehicle= _G.UnitControllingVehicle;
+local UnitHasVehicleUI 		= _G.UnitHasVehicleUI;
+local UnitIsGroupLeader     = _G.UnitIsGroupLeader;
+local UnitIsGroupAssistant  = _G.UnitIsGroupAssistant;
+local UnitFactionGroup      = _G.UnitFactionGroup;
+local UnitCreatureFamily    = _G.UnitCreatureFamily;
+local UnitAffectingCombat   = _G.UnitAffectingCombat;
+local GetThreatStatusColor  = _G.GetThreatStatusColor;
+local UnitAlternatePowerInfo= _G.UnitAlternatePowerInfo;
+local UnitGetIncomingHeals  = _G.UnitGetIncomingHeals;
+local UnitGetTotalAbsorbs   = _G.UnitGetTotalAbsorbs;
+local UnitClassification    = _G.UnitClassification;
+local UnitIsWildBattlePet   = _G.UnitIsWildBattlePet;
+local UnitBattlePetLevel    = _G.UnitBattlePetLevel;
+local UnitIsBattlePetCompanion   = _G.UnitIsBattlePetCompanion;
+local UnitGetTotalHealAbsorbs 		= _G.UnitGetTotalHealAbsorbs;
+local UnitDetailedThreatSituation 	= _G.UnitDetailedThreatSituation;
 --[[
 ##########################################################
 GET ADDON DATA