Quantcast

Merge github.com:ckaotik/Broker_Garbage

ckaotik [12-17-10 - 21:49]
Merge github.com:ckaotik/Broker_Garbage
Filename
Broker_Garbage.toc
category_test.lua
constants.lua
core.lua
helper.lua
libs/CallbackHandler-1.0.lua
libs/LibDataBroker-1.1.lua
libs/LibPeriodicTable-3.1-Consumable/LibPeriodicTable-3.1-Consumable.lua
libs/LibPeriodicTable-3.1-Consumable/LibPeriodicTable-3.1-Consumable.toc
libs/LibPeriodicTable-3.1-Misc/LibPeriodicTable-3.1-Misc.lua
libs/LibPeriodicTable-3.1-Misc/LibPeriodicTable-3.1-Misc.toc
libs/LibPeriodicTable-3.1-Tradeskill/LibPeriodicTable-3.1-Tradeskill.lua
libs/LibPeriodicTable-3.1-Tradeskill/LibPeriodicTable-3.1-Tradeskill.toc
libs/LibPeriodicTable-3.1-TradeskillResultMats/LibPeriodicTable-3.1-TradeskillResultMats.lua
libs/LibPeriodicTable-3.1-TradeskillResultMats/LibPeriodicTable-3.1-TradeskillResultMats.toc
libs/LibPeriodicTable-3.1.lua
libs/LibQTip-1.0.lua
libs/LibStub.lua
libs/tekKonfig/tekKonfig.xml
libs/tekKonfig/tekKonfigAboutPanel.lua
libs/tekKonfig/tekKonfigButton.lua
libs/tekKonfig/tekKonfigCheckbox.lua
libs/tekKonfig/tekKonfigDropdown.lua
libs/tekKonfig/tekKonfigGroup.lua
libs/tekKonfig/tekKonfigHeading.lua
libs/tekKonfig/tekKonfigScroll.lua
libs/tekKonfig/tekKonfigSlider.lua
libs/tekKonfig/tekKonfigTopTab.lua
locale/deDE.lua
locale/enUS.lua
options.lua
readme.txt
diff --git a/Broker_Garbage.toc b/Broker_Garbage.toc
new file mode 100644
index 0000000..3389291
--- /dev/null
+++ b/Broker_Garbage.toc
@@ -0,0 +1,45 @@
+## Interface: 40000
+## Dependencies:
+## OptionalDeps: LibPeriodicTable-3.1, Auctionator, AuctionLite, Auc-Advanced, Enchantrix, WOWEcon_PriceMod
+## SavedVariables: BG_GlobalDB
+## SavedVariablesPerCharacter: BG_LocalDB
+
+## Title: Broker_Garbage
+## Author: ckaotik
+## Version: 4.0v6
+## Notes: Full bags no more! Distinguish between junk and treasure, find items to drop quickly.
+## Notes-deDE: Endlich wieder Platz! Unterscheide Trödel von Schätzen und finde billigen Müll.
+
+## LoadManagers: AddonLoader
+## X-LoadOn-Always: delayed
+
+## X-Website: http://www.wowinterface.com/downloads/info15531-Broker_Garbage.html
+## X-RelSite-WoWI: 15531
+## X-Category: Inventory
+## X-Localizations: enUS, deDE. Works in any language. You can help!
+## X-Credits: GarbageFu, tekKonfig, Mirroar (<3)
+## X-License: BSD
+
+# libraries
+libs\LibStub.lua
+libs\CallbackHandler-1.0.lua
+libs\LibDataBroker-1.1.lua
+libs\LibQTip-1.0.lua
+libs\tekKonfig\tekKonfig.xml
+
+libs\LibPeriodicTable-3.1.lua
+libs\LibPeriodicTable-3.1-Consumable\LibPeriodicTable-3.1-Consumable.lua
+libs\LibPeriodicTable-3.1-Misc\LibPeriodicTable-3.1-Misc.lua
+libs\LibPeriodicTable-3.1-Tradeskill\LibPeriodicTable-3.1-Tradeskill.lua
+libs\LibPeriodicTable-3.1-TradeskillResultMats\LibPeriodicTable-3.1-TradeskillResultMats.lua
+
+# localization files
+locale\enUS.lua
+locale\deDE.lua
+
+# main files
+constants.lua
+helper.lua
+core.lua
+options.lua
+category_test.lua
\ No newline at end of file
diff --git a/category_test.lua b/category_test.lua
new file mode 100644
index 0000000..a2be50b
--- /dev/null
+++ b/category_test.lua
@@ -0,0 +1,113 @@
+_, BrokerGarbage = ...
+
+-- options panel
+if BrokerGarbage.PT then
+	local function ShowTooltip(self)
+		GameTooltip:SetOwner(self, "ANCHOR_RIGHT")
+		if self.tiptext then
+			GameTooltip:SetText(self.tiptext, nil, nil, nil, nil, true)
+		elseif self.link then
+			GameTooltip:SetHyperlink(self.link)
+		end
+		GameTooltip:Show()
+	end
+	local function HideTooltip() GameTooltip:Hide() end
+
+	local category
+	local numCols = 8
+
+	local backdrop = {
+		bgFile = "Interface\\ChatFrame\\ChatFrameBackground", insets = {left = 4, right = 4, top = 4, bottom = 4},
+		edgeFile = "Interface\\Tooltips\\UI-Tooltip-Border", edgeSize = 16
+	}
+
+	local function Options_CategoryTest(pluginID)
+		local panel, tab = BrokerGarbage:CreateOptionsTab(pluginID)
+
+		local explainText = panel:CreateFontString(nil, "ARTWORK", "GameFontHighlightSmall")
+		explainText:SetPoint("TOPLEFT", 16, -16)
+		explainText:SetPoint("RIGHT", panel, -16, 0)
+		explainText:SetHeight(40)
+		explainText:SetNonSpaceWrap(true)
+		explainText:SetJustifyH("LEFT")
+		explainText:SetJustifyV("TOP")
+		explainText:SetText(BrokerGarbage.locale.PTCategoryTestExplanation)
+
+		-- dropdown menu for choosing the LPT string to view
+		local categoryString, categoryText, categoryContainer = LibStub("tekKonfig-Dropdown").new(panel, BrokerGarbage.locale.PTCategoryTestDropdownTitle, "TOPLEFT", explainText, "BOTTOMLEFT", 0, 10)
+		categoryText:SetText(BrokerGarbage.locale.PTCategoryTestDropdownText)
+		categoryString:SetWidth(400)
+
+		-- create the container
+		local scrollFrame = CreateFrame("ScrollFrame", "BG_CategoryTest_Scroll", panel, "UIPanelScrollFrameTemplate")
+		scrollFrame:SetPoint("TOPLEFT", categoryContainer, "BOTTOMLEFT", 8, 4)
+		scrollFrame:SetHeight(200)
+		scrollFrame:SetWidth(330)
+		scrollFrame:SetBackdrop(backdrop)
+		scrollFrame:SetBackdropBorderColor(0.4, 0.4, 0.4)
+		scrollFrame:SetBackdropColor(0.1, 0.1, 0.1)
+
+		local scrollFrameContent = CreateFrame("Frame", scrollFrame:GetName().."Frame", scrollFrame)
+		scrollFrameContent:SetAllPoints()
+		scrollFrameContent:SetHeight(200)
+		scrollFrameContent:SetWidth(330)
+		scrollFrame:SetScrollChild(scrollFrameContent)
+
+		local function UpdatePreviewBox()
+			local category = UIDropDownMenu_GetSelectedValue(categoryString)
+			if not category or category == "" then return end
+
+			local index, itemList = 0, {}
+			for itemID, value in BrokerGarbage.PT:IterateSet(category) do
+				local show = false
+				if GetItemCount(itemID) ~= 0 and not itemList[itemID] then
+					itemList[itemID] = true
+					index = index + 1
+					show = true
+				end
+
+				if show then
+					local button = _G["BG_PreviewIconButton"..index]
+					if not button then
+						-- create another button
+						button = CreateFrame("Button", "BG_PreviewIconButton"..index, scrollFrameContent, "ItemButtonTemplate")
+
+						button:SetScript("OnClick", function(self)
+							HandleModifiedItemClick(self.link)
+						end)
+						button:SetScript("OnEnter", ShowTooltip)
+						button:SetScript("OnLeave", HideTooltip)
+
+						if index == 1 then	-- place first icon
+							button:SetPoint("TOPLEFT", scrollFrameContent, "TOPLEFT", 6, -6)
+						elseif mod(index, numCols) == 1 then	-- new row
+							button:SetPoint("TOPLEFT", _G["BG_PreviewIconButton"..index-numCols], "BOTTOMLEFT", 0, -6)
+						else	-- new button next to the old one
+							button:SetPoint("LEFT", _G["BG_PreviewIconButton"..index-1], "RIGHT", 4, 0)
+						end
+					end
+					local _, itemLink, _, _, _, _, _, _, _, texture = GetItemInfo(itemID)
+					button.itemID = itemID
+					button.link = itemLink
+					SetItemButtonTexture(button, texture or "Interface\\Icons\\Inv_misc_questionmark")
+					button:Show()
+				end
+			end
+
+			-- hide unnessessary buttons
+			index = index + 1
+			while _G["BG_PreviewIconButton"..index] do
+				_G["BG_PreviewIconButton"..index]:Hide()
+				index = index + 1
+			end
+		end
+
+		UIDropDownMenu_Initialize(categoryString, function(self, level)
+			BrokerGarbage:LPTDropDown(self, level, function(self)
+				UIDropDownMenu_SetSelectedValue(categoryString, self.value)
+				categoryText:SetText(self.value); UpdatePreviewBox()
+			end)
+		end)
+	end
+	local _ = BrokerGarbage:RegisterPlugin(BrokerGarbage.locale.PTCategoryTest, Options_CategoryTest)
+end
\ No newline at end of file
diff --git a/constants.lua b/constants.lua
new file mode 100644
index 0000000..1482ce2
--- /dev/null
+++ b/constants.lua
@@ -0,0 +1,302 @@
+_, BrokerGarbage = ...
+
+-- default saved variables
+BrokerGarbage.defaultGlobalSettings = {
+	-- lists :: key is either the itemID -or- the PeriodicTable category string, value is true -or- limit number
+	exclude = {},
+	include = {},
+	autoSellList = {},
+	forceVendorPrice = {},		-- only global
+
+	-- behavior
+	autoSellToVendor = true,
+	autoRepairAtVendor = true,
+	disableKey = "SHIFT",
+	sellNotWearable = false,
+	sellNWQualityTreshold = 4,
+	autoSellIncludeItems = false,
+	useRealValues = false,
+	-- hidden options
+	hideZeroValue = true,		-- false: have zero value items (quest items, event items etc.) show up in BG tooltip, true: hide them [DEFAULT]
+
+	-- default values
+	tooltipMaxHeight = 220,
+	tooltipNumItems = 9,
+	dropQuality = 0,
+	showMoney = 2,
+	hasEnchanter = true,
+
+	-- statistic values
+	moneyLostByDeleting = 0,
+	moneyEarned = 0,
+	itemsSold = 0,
+	itemsDropped = 0,
+
+	-- display options
+	showAutoSellIcon = true,
+	reportNothingToSell = true,
+	showLost = true,
+	showEarned = true,
+	LDBformat = "[itemname]x[itemcount] ([itemvalue])",
+	LDBNoJunk = BrokerGarbage.locale.label,
+	showSource = false,
+}
+
+BrokerGarbage.defaultLocalSettings = {
+	-- lists
+	exclude = {},
+	include = {},
+	autoSellList = {},
+
+	-- behavior
+	neverRepairGuildBank = false,
+
+	-- default values
+	moneyLostByDeleting = 0,
+	moneyEarned = 0,
+}
+
+BrokerGarbage.toSellValue = {}	-- value to show on sell icon
+
+-- item classification
+BrokerGarbage.EXCLUDE = 0		-- item is excluded. Nothing happened...
+BrokerGarbage.INCLUDE = 1		-- item is on include list
+BrokerGarbage.LIMITED = 2		-- item is on include list, but has a limit value
+BrokerGarbage.UNUSABLE = 3		-- item is gear but not usable
+
+BrokerGarbage.AUCTION = 4		-- auction price is highest value
+BrokerGarbage.VENDOR = 5		-- vendor price is highest value
+BrokerGarbage.VENDORLIST = 6	-- item is on sell list
+BrokerGarbage.DISENCHANT = 7	-- disenchant price is highest value
+
+-- corresponding tags to be used in the LDB tooltip
+BrokerGarbage.tag = {
+	-- exclude doesn't show up on tooltip, so it's not needed here
+	[BrokerGarbage.INCLUDE] 	= "|cFFffffffI",	-- white
+	[BrokerGarbage.LIMITED] 	= "|cFFffffffL",	-- white
+	[BrokerGarbage.UNUSABLE] 	= "|cFF3c73abG",	-- blue
+	[BrokerGarbage.AUCTION] 	= "|cFF2bff58A",	-- green
+	[BrokerGarbage.VENDOR] 		= "|cFFff9c5aV",	-- orange
+	[BrokerGarbage.VENDORLIST] 	= "|cFFff592dV",	-- dark orange
+	[BrokerGarbage.DISENCHANT] 	= "|cFFe052ffD",	-- purple
+}
+-- |cffffd200 Blizzard Orange; textures: Spell_Holy_HolyGuidance, achievement_bg_returnxflags_def_wsg
+
+BrokerGarbage.tabs = {}		-- plugins get saved in here
+BrokerGarbage.clams = {15874, 5523, 5524, 7973, 24476, 36781, 45909}
+BrokerGarbage.playerClass = select(2,UnitClass("player"))
+BrokerGarbage.enchanting = GetSpellInfo(7411)
+
+BrokerGarbage.disableKey = {
+	["None"] 	= function() return false end,
+	["SHIFT"] 	= IsShiftKeyDown,
+	["ALT"] 	= IsAltKeyDown,
+	["CTRL"] 	= IsControlKeyDown,
+}
+
+-- rarity strings (no need to localize)
+BrokerGarbage.quality = {
+	[0] = select(4,GetItemQualityColor(0))..ITEM_QUALITY0_DESC.."|r",	-- gray (junk)
+	[1] = select(4,GetItemQualityColor(1))..ITEM_QUALITY1_DESC.."|r",	-- white
+	[2] = select(4,GetItemQualityColor(2))..ITEM_QUALITY2_DESC.."|r",	-- green
+	[3] = select(4,GetItemQualityColor(3))..ITEM_QUALITY3_DESC.."|r",	-- blue
+	[4] = select(4,GetItemQualityColor(4))..ITEM_QUALITY4_DESC.."|r",	-- purple
+	[5] = select(4,GetItemQualityColor(5))..ITEM_QUALITY5_DESC.."|r",	-- legendary
+	[6] = select(4,GetItemQualityColor(6))..ITEM_QUALITY6_DESC.."|r",	-- heirloom
+	[7] = select(4,GetItemQualityColor(7))..ITEM_QUALITY7_DESC.."|r",	-- artifact
+}
+
+BrokerGarbage.tradeSkills = {
+	[2] = "Leatherworking",
+	[3] = "Tailoring",
+	[4] = "Engineering",
+	[5] = "Blacksmithing",
+	[6] = "Cooking",
+	[7] = "Alchemy",
+	[8] = "First Aid",
+	[9] = "Enchanting",
+	[10] = "Fishing",
+	[11] = "Jewelcrafting",
+	[12] = "Inscription",
+}
+
+local armorTypes = { GetAuctionItemSubClasses(2) }
+local weaponTypes = { GetAuctionItemSubClasses(1) }
+BrokerGarbage.usableByClass = {
+	["DEATHKNIGHT"] = {
+		[armorTypes[1]] = true,		-- misc, e.g. tabards
+		[armorTypes[2]] = true,		-- cloth
+		[armorTypes[3]] = true,		-- leather
+		[armorTypes[4]] = true,		-- mail
+		[armorTypes[5]] = true,		-- plate
+		[armorTypes[10]] = true,	-- seal [old]
+		[armorTypes[11]] = true,	-- relic
+
+		[weaponTypes[1]] = true,	-- 1H axes
+		[weaponTypes[2]] = true,	-- 2H axes
+		[weaponTypes[5]] = true,	-- 1H maces
+		[weaponTypes[6]] = true,	-- 2H maces
+		[weaponTypes[7]] = true,	-- polearms
+		[weaponTypes[8]] = true,	-- 1H swords
+		[weaponTypes[9]] = true,	-- 2H swords
+		--[weaponTypes[12]] = true,	-- misc
+		[weaponTypes[17]] = true,	-- fishing rod
+	},
+	["DRUID"] = {
+		[armorTypes[1]] = true,		-- misc, e.g. tabards
+		[armorTypes[2]] = true,		-- cloth
+		[armorTypes[3]] = true,		-- leather
+		[armorTypes[8]] = true,		-- relic [old]
+		[armorTypes[11]] = true,	-- relic
+
+		[weaponTypes[5]] = true,	-- 1H maces
+		[weaponTypes[6]] = true,	-- 2H maces
+		[weaponTypes[7]] = true,	-- polearms
+		[weaponTypes[10]] = true,	-- staves
+		[weaponTypes[11]] = true,	-- fist weapons
+		--[weaponTypes[12]] = true,	-- misc
+		[weaponTypes[13]] = true,	-- daggers
+		[weaponTypes[17]] = true,	-- fishing rod
+	},
+	["HUNTER"] = {
+		[armorTypes[1]] = true,		-- misc, e.g. tabards
+		[armorTypes[2]] = true,		-- cloth
+		[armorTypes[3]] = true,		-- leather
+		[armorTypes[4]] = true,		-- mail
+
+		[weaponTypes[1]] = true,	-- 1H axes
+		[weaponTypes[2]] = true,	-- 2H axes
+		[weaponTypes[3]] = true,	-- bows
+		[weaponTypes[4]] = true,	-- guns
+		[weaponTypes[7]] = true,	-- polearms
+		[weaponTypes[8]] = true,	-- 1H swords
+		[weaponTypes[9]] = true,	-- 2H swords
+		[weaponTypes[10]] = true,	-- staves
+		[weaponTypes[11]] = true,	-- fist weapons
+		--[weaponTypes[12]] = true,	-- misc
+		[weaponTypes[13]] = true,	-- daggers
+		[weaponTypes[15]] = true,	-- crossbows
+		[weaponTypes[17]] = true,	-- fishing rod
+	},
+	["MAGE"] = {
+		[armorTypes[1]] = true,		-- misc, e.g. tabards
+		[armorTypes[2]] = true,		-- cloth
+
+		[weaponTypes[8]] = true,	-- 1H swords
+		[weaponTypes[10]] = true,	-- staves
+		--[weaponTypes[12]] = true,	-- misc
+		[weaponTypes[13]] = true,	-- daggers
+		[weaponTypes[16]] = true,	-- wands
+		[weaponTypes[17]] = true,	-- fishing rod
+	},
+	["PALADIN"] = {
+		[armorTypes[1]] = true,		-- misc, e.g. tabards
+		[armorTypes[2]] = true,		-- cloth
+		[armorTypes[3]] = true,		-- leather
+		[armorTypes[4]] = true,		-- mail
+		[armorTypes[5]] = true,		-- plate
+		[armorTypes[6]] = true,		-- shields
+		[armorTypes[7]] = true,		-- librams [old]
+		[armorTypes[11]] = true,	-- relic
+
+		[weaponTypes[1]] = true,	-- 1H axes
+		[weaponTypes[2]] = true,	-- 2H axes
+		[weaponTypes[5]] = true,	-- 1H maces
+		[weaponTypes[6]] = true,	-- 2H maces
+		[weaponTypes[7]] = true,	-- polearms
+		[weaponTypes[8]] = true,	-- 1H swords
+		[weaponTypes[9]] = true,	-- 2H swords
+		--[weaponTypes[12]] = true,	-- misc
+		[weaponTypes[17]] = true,	-- fishing rod
+	},
+	["PRIEST"] = {
+		[armorTypes[1]] = true,		-- misc, e.g. tabards
+		[armorTypes[2]] = true,		-- cloth
+
+		[weaponTypes[5]] = true,	-- 1H maces
+		[weaponTypes[10]] = true,	-- staves
+		--[weaponTypes[12]] = true,	-- misc
+		[weaponTypes[13]] = true,	-- daggers
+		[weaponTypes[16]] = true,	-- wands
+		[weaponTypes[17]] = true,	-- fishing rod
+	},
+	["ROGUE"] = {
+		[armorTypes[1]] = true,		-- misc, e.g. tabards
+		[armorTypes[2]] = true,		-- cloth
+		[armorTypes[3]] = true,		-- leather
+
+		[weaponTypes[1]] = true,	-- 1H axes
+		[weaponTypes[3]] = true,	-- bows
+		[weaponTypes[4]] = true,	-- guns
+		[weaponTypes[5]] = true,	-- 1H maces
+		[weaponTypes[8]] = true,	-- 1H swords
+		[weaponTypes[11]] = true,	-- fist weapons
+		--[weaponTypes[12]] = true,	-- misc
+		[weaponTypes[13]] = true,	-- daggers
+		[weaponTypes[14]] = true,	-- thrown weapons
+		[weaponTypes[15]] = true,	-- crossbows
+		[weaponTypes[17]] = true,	-- fishing rod
+	},
+	["SHAMAN"] = {
+		[armorTypes[1]] = true,		-- misc, e.g. tabards
+		[armorTypes[2]] = true,		-- cloth
+		[armorTypes[3]] = true,		-- leather
+		[armorTypes[4]] = true,		-- mail
+		[armorTypes[6]] = true,		-- shields
+		[armorTypes[9]] = true,		-- totems [old]
+		[armorTypes[11]] = true,	-- relic
+
+		[weaponTypes[1]] = true,	-- 1H axes
+		[weaponTypes[2]] = true,	-- 2H axes
+		[weaponTypes[5]] = true,	-- 1H maces
+		[weaponTypes[6]] = true,	-- 2H maces
+		[weaponTypes[10]] = true,	-- staves
+		[weaponTypes[11]] = true,	-- fist weapons
+		--[weaponTypes[12]] = true,	-- misc
+		[weaponTypes[13]] = true,	-- daggers
+		[weaponTypes[17]] = true,	-- fishing rod
+	},
+	["WARLOCK"] = {
+		[armorTypes[1]] = true,		-- misc, e.g. tabards
+		[armorTypes[2]] = true,		-- cloth
+
+		[weaponTypes[8]] = true,	-- 1H swords
+		[weaponTypes[10]] = true,	-- staves
+		--[weaponTypes[12]] = true,	-- misc
+		[weaponTypes[13]] = true,	-- daggers
+		[weaponTypes[16]] = true,	-- wands
+		[weaponTypes[17]] = true,	-- fishing rod
+	},
+	["WARRIOR"] = {
+		[armorTypes[1]] = true,		-- misc, e.g. tabards
+		[armorTypes[2]] = true,		-- cloth
+		[armorTypes[3]] = true,		-- leather
+		[armorTypes[4]] = true,		-- mail
+		[armorTypes[5]] = true,		-- plate
+		[armorTypes[6]] = true,		-- shields
+
+		[weaponTypes[1]] = true,	-- 1H axes
+		[weaponTypes[2]] = true,	-- 2H axes
+		[weaponTypes[3]] = true,	-- bows
+		[weaponTypes[4]] = true,	-- guns
+		[weaponTypes[5]] = true,	-- 1H maces
+		[weaponTypes[6]] = true,	-- 2H maces
+		[weaponTypes[7]] = true,	-- polearms
+		[weaponTypes[8]] = true,	-- 1H swords
+		[weaponTypes[9]] = true,	-- 2H swords
+		[weaponTypes[10]] = true,	-- staves
+		[weaponTypes[11]] = true,	-- fist weapons
+		--[weaponTypes[12]] = true,	-- misc
+		[weaponTypes[13]] = true,	-- daggers
+		[weaponTypes[14]] = true,	-- thrown weapons
+		[weaponTypes[15]] = true,	-- crossbows
+		[weaponTypes[17]] = true,	-- fishing rod
+	},
+}
+
+BrokerGarbage.usableByAll = {
+	["INVTYPE_NECK"] = true,
+	["INVTYPE_FINGER"] = true,
+	["INVTYPE_TRINKET"] = true,
+	["INVTYPE_HOLDABLE"] = true,
+}
\ No newline at end of file
diff --git a/core.lua b/core.lua
new file mode 100644
index 0000000..de0448a
--- /dev/null
+++ b/core.lua
@@ -0,0 +1,863 @@
+--[[ Copyright (c) 2010, ckaotik
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
+Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
+Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
+Neither the name of ckaotik nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ]]--
+_, BrokerGarbage = ...
+
+-- Libraries & setting up the LDB
+-- ---------------------------------------------------------
+BrokerGarbage.PT = LibStub("LibPeriodicTable-3.1", true)	-- don't scream if LPT isn't present
+
+-- notation mix-up for Broker2FuBar to work
+local LDB = LibStub("LibDataBroker-1.1"):NewDataObject("Broker_Garbage", {
+    type	= "data source",
+    icon	= "Interface\\Icons\\achievement_bg_returnxflags_def_wsg",
+    label	= "Garbage",
+    text 	= "",
+
+	OnClick = function(...) BrokerGarbage:OnClick(...) end,
+    OnEnter = function(...) BrokerGarbage:Tooltip(...) end,
+	OnLeave = function() end,	-- needed for e.g. NinjaPanel
+})
+
+local function UpdateLDB()
+    BrokerGarbage.totalBagSpace, BrokerGarbage.totalFreeSlots, BrokerGarbage.specialSlots, BrokerGarbage.freeSpecialSlots = BrokerGarbage:GetBagSlots()
+
+    if BrokerGarbage.cheapestItems[1] then
+        LDB.text = BrokerGarbage:FormatString(BG_GlobalDB.LDBformat)
+    else
+        BrokerGarbage.cheapestItems[1] = nil
+        LDB.text = BrokerGarbage:FormatString(BG_GlobalDB.LDBNoJunk)
+    end
+end
+
+-- internal variables
+BrokerGarbage.optionsModules = {}	-- used for ordering/showing entries in the options panel
+local locked = false				-- set to true while selling stuff
+local sellValue = 0					-- represents the actual value that we sold stuff for
+local cost = 0						-- the amount of money that we repaired for
+local initialized = false
+
+-- Event Handler
+-- ---------------------------------------------------------
+local frame = CreateFrame("frame")
+local function eventHandler(self, event, arg1, ...)
+    BrokerGarbage:Debug("EVENT", event, arg1, ...)
+    if event == "ADDON_LOADED" and arg1 == "Broker_Garbage" then
+		BrokerGarbage:CheckSettings()
+
+	    -- some default values initialization
+	    BrokerGarbage.isAtVendor = false
+	    BrokerGarbage.totalBagSpace = 0
+	    BrokerGarbage.totalFreeSlots = 0
+
+	    -- inventory database
+	    BrokerGarbage.itemsCache = {}
+	    BrokerGarbage.clamInInventory = false
+	    BrokerGarbage.containerInInventory = false
+
+	    -- full inventory scan to start with
+	    BrokerGarbage:ScanInventory()
+		initialized = true
+        frame:UnregisterEvent("ADDON_LOADED")
+
+    elseif event == "BAG_UPDATE" and initialized then
+        if not arg1 or arg1 < 0 or arg1 > 4 then return end
+
+        BrokerGarbage:ScanInventoryContainer(arg1)	-- partial inventory scan on the relevant container
+
+    elseif event == "MERCHANT_SHOW" then
+        BrokerGarbage.isAtVendor = true
+
+        BrokerGarbage:UpdateRepairButton()
+        local disable = BrokerGarbage.disableKey[BG_GlobalDB.disableKey]
+        if not (disable and disable()) then
+            BrokerGarbage:AutoRepair()
+            BrokerGarbage:AutoSell()
+        end
+
+    elseif event == "MERCHANT_CLOSED" then
+        BrokerGarbage.isAtVendor = false
+
+        -- fallback unlock
+        if locked then
+            BrokerGarbage.isAtVendor = false
+            locked = false
+            BrokerGarbage:Debug("Fallback Unlock: Merchant window closed, scan lock released.")
+        end
+
+    elseif event == "AUCTION_HOUSE_CLOSED" then
+        -- Update cached auction values if needed
+        BrokerGarbage.itemsCache = {}
+
+    elseif (locked or cost ~=0) and event == "PLAYER_MONEY" then -- regular unlock
+        -- wrong player_money event (resulting from repair, not sell)
+        if sellValue ~= 0 and cost ~= 0 and ((-1)*sellValue <= cost+2 and (-1)*sellValue >= cost-2) then
+            BrokerGarbage:Debug("Not yet ... Waiting for actual money change.")
+            return
+        end
+
+        if sellValue ~= 0 and cost ~= 0 and BG_GlobalDB.autoRepairAtVendor and BG_GlobalDB.autoSellToVendor then
+            -- repair & auto-sell
+            BrokerGarbage:Print(format(BrokerGarbage.locale.sellAndRepair,
+                    BrokerGarbage:FormatMoney(sellValue),
+                    BrokerGarbage:FormatMoney(cost),
+                    BrokerGarbage:FormatMoney(sellValue - cost)
+            ))
+            sellValue = 0
+            cost = 0
+
+        elseif cost ~= 0 and BG_GlobalDB.autoRepairAtVendor then
+            -- repair only
+            BrokerGarbage:Print(format(BrokerGarbage.locale.repair, BrokerGarbage:FormatMoney(cost)))
+            cost = 0
+
+        elseif sellValue ~= 0 and BG_GlobalDB.autoSellToVendor then
+            -- autosell only
+            BrokerGarbage:Print(format(BrokerGarbage.locale.sell, BrokerGarbage:FormatMoney(sellValue)))
+            sellValue = 0
+
+        end
+
+        locked = false
+        BrokerGarbage:Debug("Regular Unlock: Money received, scan lock released.")
+    end
+end
+
+-- register events
+frame:RegisterEvent("ADDON_LOADED")
+frame:RegisterEvent("BAG_UPDATE")
+frame:RegisterEvent("MERCHANT_SHOW")
+frame:RegisterEvent("MERCHANT_CLOSED")
+frame:RegisterEvent("AUCTION_HOUSE_CLOSED")
+frame:RegisterEvent("PLAYER_MONEY")
+
+frame:SetScript("OnEvent", eventHandler)
+
+-- Sell Icon
+-- ---------------------------------------------------------
+function BrokerGarbage:UpdateRepairButton(...)
+    if not BG_GlobalDB.showAutoSellIcon then
+        if _G["BrokerGarbage_SellIcon"] then
+            BrokerGarbage_SellIcon:Hide()
+        end
+        -- re-position all the buttons
+        MerchantRepairAllButton:ClearAllPoints()
+        MerchantGuildBankRepairButton:ClearAllPoints()
+        MerchantGuildBankRepairButton:SetPoint("LEFT", MerchantRepairAllButton, "RIGHT", 4, 0)
+        MerchantFrame_UpdateRepairButtons()
+        return
+    end
+
+    local sellIcon
+    -- show auto-sell icon on vendor frame
+    if not _G["BrokerGarbage_SellIcon"] then
+        sellIcon = CreateFrame("Button", "BrokerGarbage_SellIcon", MerchantFrame, "ItemButtonTemplate")
+        SetItemButtonTexture(sellIcon, "Interface\\Icons\\achievement_bg_returnxflags_def_wsg")
+        sellIcon:SetFrameStrata("HIGH")
+        sellIcon:SetScript("OnClick", BrokerGarbage.AutoSell)
+        sellIcon:SetScript("OnEnter", function(self)
+            GameTooltip:SetOwner(self, "ANCHOR_RIGHT")
+            local tiptext
+            local junkValue = 0
+            for i = 0, 4 do
+                junkValue = junkValue + (BrokerGarbage.toSellValue[i] or 0)
+            end
+            if junkValue ~= 0 then
+                tiptext = format(BrokerGarbage.locale.autoSellTooltip, BrokerGarbage:FormatMoney(junkValue))
+            else
+                tiptext = BrokerGarbage.locale.reportNothingToSell
+            end
+            GameTooltip:SetText(tiptext, nil, nil, nil, nil, true)
+        end)
+        sellIcon:SetScript("OnLeave", function() GameTooltip:Hide() end)
+    else
+        sellIcon = _G["BrokerGarbage_SellIcon"]
+    end
+
+    if MerchantBuyBackItemItemButton:IsVisible() then
+        if CanMerchantRepair() then
+            if CanGuildBankRepair() then    -- move all the default icons further to the right. blizz anchors are weird -.-
+                MerchantGuildBankRepairButton:ClearAllPoints()
+                MerchantGuildBankRepairButton:SetPoint("RIGHT", MerchantBuyBackItemItemButton, "LEFT", -22, 0)
+                MerchantRepairAllButton:ClearAllPoints()
+                MerchantRepairAllButton:SetPoint("RIGHT", MerchantGuildBankRepairButton, "LEFT", -4, 0)
+            end
+            sellIcon:SetWidth(MerchantRepairAllButton:GetWidth())
+            sellIcon:SetHeight(MerchantRepairAllButton:GetHeight())
+            sellIcon:SetPoint("RIGHT", MerchantRepairItemButton, "LEFT", -4, 0)
+        else
+            sellIcon:SetWidth(MerchantBuyBackItemItemButton:GetWidth())
+            sellIcon:SetHeight(MerchantBuyBackItemItemButton:GetHeight())
+            sellIcon:SetPoint("RIGHT", MerchantBuyBackItemItemButton, "LEFT", -18, 0)
+        end
+        MerchantRepairText:Hide()
+        sellIcon:Show()
+    else
+        sellIcon:Hide()
+    end
+
+    local junkValue = 0
+    for i = 0, 4 do
+        junkValue = junkValue + (BrokerGarbage.toSellValue[i] or 0)
+    end
+    SetItemButtonDesaturated(_G["BrokerGarbage_SellIcon"], junkValue == 0)
+end
+hooksecurefunc("MerchantFrame_Update", BrokerGarbage.UpdateRepairButton)
+
+-- Tooltip
+-- ---------------------------------------------------------
+function BrokerGarbage:Tooltip(self)
+    local colNum = BG_GlobalDB.showSource and 4 or 3
+	BrokerGarbage.tt = LibStub("LibQTip-1.0"):Acquire("BrokerGarbage_TT", colNum, "LEFT", "RIGHT", "RIGHT", colNum == 4 and "CENTER" or nil)
+	BrokerGarbage.tt:Clear()
+
+    -- font settings
+    local tooltipHFont = CreateFont("TooltipHeaderFont")
+    tooltipHFont:SetFont(GameTooltipText:GetFont(), 14)
+    tooltipHFont:SetTextColor(1,1,1)
+
+    local tooltipFont = CreateFont("TooltipFont")
+    tooltipFont:SetFont(GameTooltipText:GetFont(), 11)
+    tooltipFont:SetTextColor(255/255,176/255,25/255)
+
+    -- add header lines
+    BrokerGarbage.tt:SetHeaderFont(tooltipHFont)
+    BrokerGarbage.tt:AddHeader('Broker_Garbage', '', BrokerGarbage.locale.headerRightClick)
+
+    -- add info lines
+    BrokerGarbage.tt:SetFont(tooltipFont)
+    BrokerGarbage.tt:AddLine(BrokerGarbage.locale.headerShiftClick, '', BrokerGarbage.locale.headerCtrlClick)
+    BrokerGarbage.tt:AddSeparator(2)
+
+    -- add clam information
+    if IsAddOnLoaded("Broker_Garbage-LootManager") and (
+        (BGLM_GlobalDB.openContainers and BrokerGarbage.containerInInventory) or
+        (BGLM_GlobalDB.openClams and BrokerGarbage.clamInInventory)) then
+
+        if BGLM_GlobalDB.openContainers and BrokerGarbage.containerInInventory then
+            lineNum = BrokerGarbage.tt:AddLine()
+            BrokerGarbage.tt:SetCell(lineNum, 1, BrokerGarbage_LootManager.locale.openPlease, tooltipFont, "CENTER", colNum)
+        end
+        if BGLM_GlobalDB.openClams and BrokerGarbage.clamInInventory then
+            lineNum = BrokerGarbage.tt:AddLine()
+            BrokerGarbage.tt:SetCell(lineNum, 1, BrokerGarbage_LootManager.locale.openClams, tooltipFont, "CENTER", colNum)
+        end
+        BrokerGarbage.tt:AddSeparator(2)
+    end
+
+    -- shows up to n lines of deletable items
+	local lineNum
+    local cheapList = BrokerGarbage.cheapestItems or {}
+    for i = 1, #cheapList do
+        -- adds lines: itemLink, count, itemPrice, source
+        lineNum = BrokerGarbage.tt:AddLine(
+            select(2,GetItemInfo(cheapList[i].itemID)),
+            cheapList[i].count,
+            BrokerGarbage:FormatMoney(cheapList[i].value),
+            (BG_GlobalDB.showSource and BrokerGarbage.tag[cheapList[i].source] or nil))
+        BrokerGarbage.tt:SetLineScript(lineNum, "OnMouseDown", BrokerGarbage.OnClick, cheapList[i])
+    end
+    if lineNum == nil then
+        BrokerGarbage.tt:AddLine(BrokerGarbage.locale.noItems, '', BrokerGarbage.locale.increaseTreshold)
+    end
+
+    -- add statistics information
+    if (BG_GlobalDB.showLost and BG_LocalDB.moneyLostByDeleting ~= 0)
+        or (BG_GlobalDB.showEarned and BG_LocalDB.moneyEarned ~= 0) then
+        BrokerGarbage.tt:AddSeparator(2)
+
+        if BG_LocalDB.moneyLostByDeleting ~= 0 then
+            BrokerGarbage.tt:AddLine(BrokerGarbage.locale.moneyLost, '', BrokerGarbage:FormatMoney(BG_LocalDB.moneyLostByDeleting))
+        end
+        if BG_LocalDB.moneyEarned ~= 0 then
+            BrokerGarbage.tt:AddLine(BrokerGarbage.locale.moneyEarned, '', BrokerGarbage:FormatMoney(BG_LocalDB.moneyEarned))
+        end
+    end
+
+    -- Use smart anchoring code to anchor the tooltip to our frame
+    BrokerGarbage.tt:SmartAnchorTo(self)
+    BrokerGarbage.tt:SetAutoHideDelay(0.25, self)
+
+    -- Show it, et voilà !
+    BrokerGarbage.tt:Show()
+    BrokerGarbage.tt:UpdateScrolling(BG_GlobalDB.tooltipMaxHeight)
+end
+
+-- onClick function - works for both, the LDB plugin -and- tooltip lines
+function BrokerGarbage:OnClick(itemTable, button)
+	BrokerGarbage.debug1 = itemTable
+	BrokerGarbage.debug2 = button
+    -- handle LDB clicks seperately
+    local LDBclick = false
+    if not itemTable or not itemTable.itemID or type(itemTable.itemID) ~= "number" then
+        BrokerGarbage:Debug("Click on LDB")
+        itemTable = BrokerGarbage.cheapestItems and BrokerGarbage.cheapestItems[1]
+        LDBclick = true
+    end
+
+    -- handle different clicks
+    if itemTable and IsShiftKeyDown() then
+        -- delete or sell item, depending on if we're at a vendor or not
+        if BrokerGarbage.isAtVendor and itemTable.value > 0 then
+            BrokerGarbage:Debug("At vendor, selling "..itemTable.itemID)
+            BG_GlobalDB.moneyEarned	= BG_GlobalDB.moneyEarned + itemTable.value
+            BG_LocalDB.moneyEarned 	= BG_LocalDB.moneyEarned + itemTable.value
+            BG_GlobalDB.itemsSold 	= BG_GlobalDB.itemsSold + itemTable.count
+
+            ClearCursor()
+            UseContainerItem(itemTable.bag, itemTable.slot)
+        else
+            BrokerGarbage:Debug("Not at vendor", "Deleting")
+            BrokerGarbage:Delete(itemTable)
+        end
+
+    --[[elseif itemTable and IsAltKeyDown() and IsControlKeyDown() then
+        -- disenchant
+        local itemLink = select(2, GetItemInfo(itemTable.itemID))
+        if BrokerGarbage:CanDisenchant(itemLink, true) then
+            -- Disenchant: 13262
+        end]]--
+
+    elseif itemTable and IsControlKeyDown() then
+        -- add to exclude list
+        if not BG_LocalDB.exclude[itemTable.itemID] then
+            BG_LocalDB.exclude[itemTable.itemID] = true
+        end
+        BrokerGarbage:Print(format(BrokerGarbage.locale.addedTo_exclude, select(2,GetItemInfo(itemTable.itemID))))
+        BrokerGarbage.itemsCache = {}
+
+        if BrokerGarbage.optionsLoaded then
+            BrokerGarbage:ListOptionsUpdate("exclude")
+        end
+        BrokerGarbage:ScanInventory()
+
+    elseif itemTable and IsAltKeyDown() then
+        -- add to force vendor price list
+        BG_GlobalDB.forceVendorPrice[itemTable.itemID] = true
+        BrokerGarbage:Print(format(BrokerGarbage.locale.addedTo_forceVendorPrice, select(2,GetItemInfo(itemTable.itemID))))
+        BrokerGarbage.itemsCache = {}
+
+        if BrokerGarbage.optionsLoaded then
+            BrokerGarbage:ListOptionsUpdate("forceprice")
+        end
+        BrokerGarbage:ScanInventory()
+
+    elseif button == "RightButton" then
+        -- open config
+        InterfaceOptionsFrame_OpenToCategory(BrokerGarbage.options.name)
+
+    elseif LDBclick then
+        -- click on the LDB to rescan
+        BrokerGarbage:ScanInventory()
+    end
+
+    UpdateLDB()
+end
+
+-- Item Value Calculation
+-- ---------------------------------------------------------
+-- calculates the value of a stack/partial stack of an item
+function BrokerGarbage:GetItemValue(item, count)
+    local itemID
+    if item and type(item) == "number" then
+        itemID = item
+
+    elseif item and type(item) == "string" then
+        itemID = BrokerGarbage:GetItemID(item)
+
+    else
+        -- invalid argument
+        BrokerGarbage:Debug("GetItemValue: Invalid argument "..(item or "<none>").."supplied.")
+        return nil
+    end
+
+    if BrokerGarbage:GetCached(itemID) then
+        return BrokerGarbage:GetCached(itemID).value * (count or 1)
+    else
+        local value = BrokerGarbage:GetSingleItemValue(item)
+        return value and value * (count or 1) or nil
+    end
+end
+
+-- returns which of the items values is the highest (value, type)
+function BrokerGarbage:GetSingleItemValue(item)
+	if not item then return nil end
+	local hasData, itemLink, itemQuality, itemLevel, _, _, _, _, itemType, _, vendorPrice = GetItemInfo(item)
+
+	BrokerGarbage:Debug("GetSingleItemValue("..(item or "?").."), "..(hasData or "no data"))
+	hasData, itemLink, itemQuality, itemLevel, _, _, _, _, itemType, _, vendorPrice = GetItemInfo(item)
+	if not hasData then		-- invalid argument
+       	BrokerGarbage:Debug("Error! GetSingleItemValue: Failed on "..(itemLink or item or "<unknown>").."."..(hasData or "no data"))
+       	return nil
+	end
+
+	-- ignore AH prices for gray items
+    if not itemQuality or itemQuality == 0 then
+        return vendorPrice, vendorPrice and BrokerGarbage.VENDOR
+    end
+
+	BrokerGarbage.auctionAddon = nil	-- reset this!
+    local disenchantPrice, auctionPrice, source = 0, 0, nil
+	local canDE = BrokerGarbage:CanDisenchant(itemLink)
+
+    -- calculate auction value: choose the highest auction/disenchant value
+    if IsAddOnLoaded("Auctionator") then
+        BrokerGarbage.auctionAddon = "Auctionator"
+        auctionPrice = Atr_GetAuctionBuyout(itemLink) or 0
+        disenchantPrice = canDE and Atr_GetDisenchantValue(itemLink)
+	end
+
+	if IsAddOnLoaded("Auc-Advanced") then	-- uses Market Value in any case
+        BrokerGarbage.auctionAddon = (BrokerGarbage.auctionAddon and BrokerGarbage.auctionAddon..", " or "") .. "Auc-Advanced"
+        auctionPrice = math.max(auctionPrice, AucAdvanced.API.GetMarketValue(itemLink))
+
+        if IsAddOnLoaded("Enchantrix") then
+            disenchantPrice = canDE and math.max(disenchantPrice, select(3, Enchantrix.Storage.GetItemDisenchantTotals(itemLink)) or 0)
+        end
+    end
+
+    if IsAddOnLoaded("AuctionLite") then
+        BrokerGarbage.auctionAddon = (BrokerGarbage.auctionAddon and BrokerGarbage.auctionAddon..", " or "") .. "AuctionLite"
+        auctionPrice = math.max(auctionPrice, AuctionLite:GetAuctionValue(itemLink) or 0)
+        disenchantPrice = canDE and math.max(disenchantPrice, AuctionLite:GetDisenchantValue(itemLink) or 0)
+	end
+
+    if IsAddOnLoaded("WOWEcon_PriceMod") then
+        BrokerGarbage.auctionAddon = (BrokerGarbage.auctionAddon and BrokerGarbage.auctionAddon..", " or "") .. "WoWecon"
+        auctionPrice = math.max(auctionPrice, Wowecon.API.GetAuctionPrice_ByLink(itemLink) or 0)
+
+        if canDE and not disenchantPrice then
+            local tmpPrice = 0
+            local DEData = Wowecon.API.GetDisenchant_ByLink(itemLink)
+            for i, data in pairs(DEData) do	-- [1] = item link, [2] = quantity, [3] = chance
+                tmpPrice = tmpPrice + ((Wowecon.API.GetAuctionPrice_ByLink(data[1] or 0)) * data[2] * data[3])
+            end
+            disenchantPrice = math.max(disenchantPrice, math.floor(tmpPrice or 0))
+        end
+	end
+
+	-- last chance to get auction values
+	if GetAuctionBuyout then
+		BrokerGarbage.auctionAddon = BrokerGarbage.auctionAddon or BrokerGarbage.locale.unknown
+		auctionPrice = math.max(auctionPrice, GetAuctionBuyout(itemLink) or 0)
+	else
+		BrokerGarbage.auctionAddon = BrokerGarbage.auctionAddon or BrokerGarbage.locale.na
+	end
+	if GetDisenchantValue then
+		disenchantPrice = canDE and math.max(disenchantPrice, GetDisenchantValue(itemLink) or 0)
+	end
+
+    -- simply return the highest value price
+    local maximum = math.max((disenchantPrice or 0), (auctionPrice or 0), (vendorPrice or 0))
+    if vendorPrice and maximum == vendorPrice then
+        return vendorPrice, BrokerGarbage.VENDOR
+    elseif auctionPrice and maximum == auctionPrice then
+        return auctionPrice, BrokerGarbage.AUCTION
+    elseif disenchantPrice and maximum == disenchantPrice then
+        return disenchantPrice, BrokerGarbage.DISENCHANT
+    else
+        return nil, nil
+    end
+end
+
+-- finds all occurences of the given item and returns the least important location
+function BrokerGarbage:FindSlotToDelete(itemID, ignoreFullStack)
+    local locations = {}
+    local _, _, _, _, _, _, _, maxStack = GetItemInfo(itemID)
+
+    local numSlots, freeSlots, ratio, bagType
+    for container = 0,4 do
+        numSlots = GetContainerNumSlots(container)
+        freeSlots, bagType = GetContainerFreeSlots(container)
+        freeSlots = freeSlots and #freeSlots or 0
+
+        if numSlots then
+            ratio = freeSlots/numSlots
+
+            for slot = 1, numSlots do
+                local _,count,_,_,_,_,link = GetContainerItemInfo(container, slot)
+
+                if link and BrokerGarbage:GetItemID(link) == itemID then
+                    if not ignoreFullStack or (ignoreFullStack and count < maxStack) then
+                        -- found one
+                        table.insert(locations, {
+                            slot = slot,
+                            bag = container,
+                            count = count,
+                            ratio = ratio,
+                            bagType = (bagType or 0)
+                        })
+                    end
+                end
+            end
+        end
+    end
+
+    -- recommend the location with the largest count or ratio that is NOT a specialty bag
+    table.sort(locations, function(a,b)
+        if a.bagType ~= b.bagType then
+            return a.bagType == 0
+        else
+            if a.count == b.count then
+                return a.ratio > b.ratio
+            else
+                return a.count < b.count
+            end
+        end
+    end)
+    return locations
+end
+
+-- deletes the item in a given location of your bags
+function BrokerGarbage:Delete(item, position)
+    local itemID, itemCount, cursorType
+
+    if type(item) == "string" and item == "cursor" then
+        -- item on the cursor
+        cursorType, itemID = GetCursorInfo()
+        if cursorType ~= "item" then
+            BrokerGarbage:Print("Error! Trying to delete an item from the cursor, but there is none.")
+            return
+        end
+        itemCount = position	-- second argument is the item count
+
+    elseif type(item) == "table" then
+        -- item given as an itemTable
+        itemID = item.itemID
+        position = {item.bag, item.slot}
+
+    elseif type(item) == "number" then
+        -- item given via its itemID
+        itemID = item
+
+    elseif item then
+        -- item given via its itemLink
+        itemID = BrokerGarbage:GetItemID(item)
+    else
+        BrokerGarbage:Print("Error! BrokerGarbage:Delete() no argument supplied.")
+        return
+    end
+
+    -- security check
+    if not cursorType and GetContainerItemID(position[1] or item.bag, position[2] or item.slot) ~= itemID then
+        BrokerGarbage:Print("Error! Item to be deleted is not the expected item.")
+        return
+    end
+
+    -- make sure there is nothing unwanted on the cursor
+    if not cursorType then
+        ClearCursor()
+    end
+
+    if not cursorType and (not position or type(position) ~= "table") then
+        BrokerGarbage:Print("Error! No position given to delete from.")
+        return
+
+    else
+        _, itemCount = GetContainerItemInfo(position[1], position[2])
+    end
+
+    -- actual deleting happening after this
+    securecall(PickupContainerItem, position[1], position[2])
+    securecall(DeleteCursorItem)					-- comment this line to prevent item deletion
+
+    local itemValue = (BrokerGarbage:GetCached(itemID).value or 0) * itemCount	-- if an item is unknown to the cache, statistics will not change
+    -- statistics
+    BG_GlobalDB.itemsDropped 		= BG_GlobalDB.itemsDropped + itemCount
+    BG_GlobalDB.moneyLostByDeleting	= BG_GlobalDB.moneyLostByDeleting + itemValue
+    BG_LocalDB.moneyLostByDeleting 	= BG_LocalDB.moneyLostByDeleting + itemValue
+
+    local _, itemLink = GetItemInfo(itemID)
+    BrokerGarbage:Print(format(BrokerGarbage.locale.itemDeleted, itemLink, itemCount))
+end
+
+-- Inventory Scanning
+-- ---------------------------------------------------------
+-- only used as a shortcut to cache any unknown item in the whole inventory
+function BrokerGarbage:ScanInventory()
+    for container = 0,4 do
+        BrokerGarbage:ScanInventoryContainer(container)
+    end
+    if BrokerGarbage.isAtVendor then
+        BrokerGarbage:UpdateRepairButton()
+    end
+end
+
+-- scans your inventory bags for possible junk items and updates LDB display
+function BrokerGarbage:ScanInventoryContainer(container)
+    -- container doesn't exist or cannot be scanned
+    if not GetContainerNumSlots(container) then return end
+
+    local numSlots = GetContainerNumSlots(container)
+    BrokerGarbage.toSellValue[container] = 0
+
+    for slot = 1, numSlots do
+        local itemID = GetContainerItemID(container,slot)
+        local item = BrokerGarbage:GetCached(itemID)
+        if itemID and item then
+            -- update toSellValue
+            if item.classification == BrokerGarbage.VENDORLIST or
+                (item.classification == BrokerGarbage.UNUSABLE and BG_GlobalDB.sellNotWearable and item.quality <= BG_GlobalDB.sellNWQualityTreshold) or
+                (BG_GlobalDB.autoSellIncludeItems and item.classification == BrokerGarbage.INCLUDE) or
+                (item.classification ~= BrokerGarbage.EXCLUDE and item.quality == 0) then
+
+                local itemCount = select(2, GetContainerItemInfo(container, slot))
+                BrokerGarbage.toSellValue[container] = BrokerGarbage.toSellValue[container] + item.value * itemCount
+            end
+        end
+    end
+
+    BrokerGarbage:GetCheapest()
+    UpdateLDB()
+end
+
+-- Find Cheap Items
+-- ---------------------------------------------------------
+local function TableSort(a, b)
+    -- put included items even prior to forced vendor price items
+    if (a.source == b.source) or (a.source ~= BrokerGarbage.INCLUDE and b.source ~= BrokerGarbage.INCLUDE) or BG_GlobalDB.useRealValues then
+        if a.value == b.value then
+            if a.itemID == b.itemID then
+                return a.count < b.count
+            else
+                return a.itemID < b.itemID
+            end
+        else
+            return a.value < b.value
+        end
+    else
+        return a.source == BrokerGarbage.INCLUDE
+    end
+end
+
+-- returns the n cheapest items in your bags in a table
+function BrokerGarbage:GetCheapest(number)
+    if not number then number = BG_GlobalDB.tooltipNumItems end
+    local cheapestItems = {}
+    local numSlots, count, quality, canOpen, itemLink, itemID, stackSize
+    local item, maxValue, insert
+
+    BrokerGarbage.clamInInventory = false
+    BrokerGarbage.containerInInventory = false
+
+    for container = 0, 4 do
+        numSlots = GetContainerNumSlots(container)
+        if numSlots then
+            for slot = 1, numSlots do
+                -- "Gather Information"
+                _, count, _, _, _, canOpen, itemLink = GetContainerItemInfo(container, slot)
+                itemID = itemLink and BrokerGarbage:GetItemID(itemLink)
+				item = itemID and BrokerGarbage:GetCached(itemID)
+
+                if item then
+                    insert = true
+                    local value = count * item.value
+                    local vendorValue = select(11, GetItemInfo(itemID)) * count
+                    local classification = item.classification
+
+                    -- remember lootable items
+                    if canOpen or (item and item.isClam) then
+                        if item.isClam then
+                            BrokerGarbage.clamInInventory = true
+                        else
+                            BrokerGarbage.containerInInventory = true
+                        end
+                    end
+
+                    -- handle different types of items
+                    if not item or item.classification == BrokerGarbage.EXCLUDE then
+                        insert = false
+
+                    elseif item.classification == BrokerGarbage.LIMITED then
+                        local saveStacks = ceil(item.limit/(item.stackSize or 1))
+                        local locations = BrokerGarbage:FindSlotToDelete(itemID)
+
+                        if #locations > saveStacks then
+                            local itemCount = 0
+
+                            for i = #locations, 1, -1 do
+                                if itemCount < item.limit then
+                                    -- keep this amount
+                                    itemCount = itemCount + locations[i].count
+                                    if locations[i].bag == container and locations[i].slot == slot then
+                                        insert = false
+                                    end
+                                else
+                                    break;
+                                end
+                            end
+                        else
+                            insert = false
+                        end
+                        if insert then
+                            -- treat like a regular include item
+                            value = BG_GlobalDB.useRealValues and value or 0
+                        end
+
+                    elseif item.classification == BrokerGarbage.DISENCHANT or item.classification == BrokerGarbage.AUCTION then
+                        -- check if item is really soulbound
+                        if BrokerGarbage:IsItemSoulbound(itemID, container, slot) then
+                            -- use vendor price instead
+                            value = vendorValue
+                            classification = BrokerGarbage.VENDOR
+                        end
+
+                    elseif item.classification == BrokerGarbage.UNUSABLE then
+                        if not BG_GlobalDB.sellNotWearable or item.quality > BG_GlobalDB.sellNWQualityTreshold then
+                            insert = false
+                        end
+
+                    elseif item.classification == BrokerGarbage.INCLUDE then
+                        value = BG_GlobalDB.useRealValues and value or 0
+
+                    elseif item.classification == BrokerGarbage.VENDORLIST or item.classification == BrokerGarbage.VENDOR then
+                        value = vendorValue
+                    end
+
+                    if item.quality > BG_GlobalDB.dropQuality and
+                        not (classification == BrokerGarbage.INCLUDE or classification == BrokerGarbage.VENDORLIST) then
+                        -- include and vendor list items should always be displayed
+                        insert = false
+
+                    elseif value == 0 and BG_GlobalDB.hideZeroValue and classification == BrokerGarbage.VENDOR then
+                        insert = false
+                    end
+
+                    -- insert data
+                    if insert then
+                        maxValue = cheapestItems[number] and cheapestItems[number].value or nil
+                        if not maxValue then
+                            tinsert(cheapestItems, {
+                                itemID = itemID,
+                                bag = container,
+                                slot = slot,
+                                count = count,
+                                value = value,
+                                source = classification,
+                            })
+                        elseif value < maxValue then
+                            -- update last item
+                            cheapestItems[number].itemID = itemID
+                            cheapestItems[number].bag = container
+                            cheapestItems[number].slot = slot
+                            cheapestItems[number].count = count
+                            cheapestItems[number].value = value
+                            cheapestItems[number].source = classification
+                        end
+                        table.sort(cheapestItems, TableSort)
+                    end
+                end
+            end
+        end
+    end
+
+    BrokerGarbage.cheapestItems = cheapestItems
+    return cheapestItems
+end
+
+
+-- special functionality
+-- ---------------------------------------------------------
+-- when at a merchant this will clear your bags of junk (gray quality) and items on your autoSellList
+function BrokerGarbage:AutoSell()
+    if not BrokerGarbage.isAtVendor then return end
+
+    if self == _G["BrokerGarbage_SellIcon"] then
+        BrokerGarbage:Debug("AutoSell was triggered by a click on Sell Icon.")
+
+    elseif not BG_GlobalDB.autoSellToVendor then
+        -- we're not supposed to sell. jump out
+        return
+    end
+    local sell, classification
+    local item, itemID, value, count, numSlots
+    sellValue = 0
+
+    for container = 0, 4 do
+        numSlots = GetContainerNumSlots(container)
+        if numSlots then
+            for slot = 1, numSlots do
+                _, count, _, _, _, _, itemLink = GetContainerItemInfo(container, slot)
+                itemID 	= BrokerGarbage:GetItemID(itemLink)
+
+                if itemLink and BrokerGarbage:GetCached(itemID) then
+                    item 	= BrokerGarbage:GetCached(itemID)
+                    value 	= item.value
+
+                    sell = false
+                    -- various cases that have us sell this item
+                    if item.classification == BrokerGarbage.UNUSABLE then
+                        if BG_GlobalDB.sellNotWearable and item.quality <= BG_GlobalDB.sellNWQualityTreshold then
+                            sell = true
+                        end
+
+                    elseif item.classification == BrokerGarbage.INCLUDE and BG_GlobalDB.autoSellIncludeItems then
+                        sell = true
+
+                    elseif item.classification == BrokerGarbage.VENDORLIST then
+                        sell = true
+
+                    elseif item.classification ~= BrokerGarbage.EXCLUDE and item.quality == 0 then
+                        sell = true
+                    end
+
+                    -- Actual Selling
+                    if value ~= 0 and sell then
+                        if not locked then
+                            BrokerGarbage:Debug("Inventory scans locked")
+                            locked = true
+                        end
+
+                        BrokerGarbage:Debug("Selling", itemID)
+                        ClearCursor()
+                        UseContainerItem(container, slot)
+
+                        sellValue = sellValue + (count * value)
+                        -- update statistics
+                        BG_GlobalDB.moneyEarned = BG_GlobalDB.moneyEarned + (count * value)
+                        BG_LocalDB.moneyEarned = BG_LocalDB.moneyEarned + (count * value)
+                        BG_GlobalDB.itemsSold = BG_GlobalDB.itemsSold + count
+                    end
+                end
+            end
+        end
+    end
+
+    -- create output if needed
+    if self == _G["BrokerGarbage_SellIcon"] then
+        if sellValue == 0 and BG_GlobalDB.reportNothingToSell then
+            BrokerGarbage:Print(BrokerGarbage.locale.reportNothingToSell)
+        elseif sellValue ~= 0 and not BG_GlobalDB.autoSellToVendor then
+            BrokerGarbage:Print(format(BrokerGarbage.locale.sell, BrokerGarbage:FormatMoney(sellValue)))
+        end
+        _G["BrokerGarbage_SellIcon"]:GetNormalTexture():SetDesaturated(true)
+    end
+	BrokerGarbage:UpdateRepairButton()
+end
+
+-- automatically repair at a vendor
+function BrokerGarbage:AutoRepair()
+    if BG_GlobalDB.autoRepairAtVendor and CanMerchantRepair() then
+        cost = GetRepairAllCost()
+        local money = GetMoney()
+
+        if cost > 0 and CanGuildBankRepair() and GetGuildBankWithdrawMoney() >= cost and not BG_LocalDB.neverRepairGuildBank then
+            -- guild repair if we're allowed to and the user wants it
+            RepairAllItems(1)
+        elseif cost > 0 and money >= cost then
+            -- not enough allowance to guild bank repair, pay ourselves
+            RepairAllItems(0)
+        elseif cost > 0 then
+            -- oops. give us your moneys!
+            BrokerGarbage:Print(format(BrokerGarbage.locale.couldNotRepair, BrokerGarbage:FormatMoney(cost)))
+        end
+    else
+        cost = 0
+    end
+end
\ No newline at end of file
diff --git a/helper.lua b/helper.lua
new file mode 100644
index 0000000..b4fb2b1
--- /dev/null
+++ b/helper.lua
@@ -0,0 +1,736 @@
+-- to enable debug mode, run: /run BG_GlobalDB.debug = true
+-- to disable debug mode (disabled by default) run: /run BG_GlobalDB.debug = false
+_, BrokerGarbage = ...
+
+-- Addon Basics
+-- ---------------------------------------------------------
+-- output functions
+function BrokerGarbage:Print(text)
+	DEFAULT_CHAT_FRAME:AddMessage("|cffee6622Broker_Garbage|r "..text)
+end
+
+-- prints debug messages only when debug mode is active
+function BrokerGarbage:Debug(...)
+  if BG_GlobalDB and BG_GlobalDB.debug then
+	BrokerGarbage:Print("! "..string.join(", ", tostringall(...)))
+  end
+end
+
+-- warn the player by displaying a warning message
+function BrokerGarbage:Warning(text)
+	if BG_GlobalDB.showWarnings and time() - lastReminder >= 5 then
+		BrokerGarbage:Print("|cfff0000"..BrokerGarbage.locale.warningMessagePrefix.."!|r ", text)
+		lastReminder = time()
+	end
+end
+
+-- check if a given value can be found in a table
+function BrokerGarbage:Find(table, value)
+	for k, v in pairs(table) do
+		if (v == value) then return true end
+	end
+	return false
+end
+
+-- joins any number of non-basic index tables together, one after the other. elements within the input-tables will get mixed, though
+function BrokerGarbage:JoinTables(...)
+	local result = {}
+	local tab
+
+	for i=1,select("#", ...) do
+		tab = select(i, ...)
+		if tab then
+			for index, value in pairs(tab) do
+				result[index] = value
+			end
+		end
+	end
+
+	return result
+end
+
+-- joins numerically indexed tables
+function BrokerGarbage:JoinSimpleTables(...)
+	local result = {}
+	local tab, i, j
+
+	for i=1,select("#", ...) do
+		tab = select(i, ...)
+		if tab then
+			for _, value in pairs(tab) do
+				tinsert(result, value)
+			end
+		end
+	end
+
+	return result
+end
+
+-- counts table entries. for numerically indexed tables, use #table
+function BrokerGarbage:Count(table)
+  local i = 0
+  for _, _ in pairs(table) do i = i + 1 end
+  return i
+end
+
+-- Saved Variables Management / API
+-- ---------------------------------------------------------
+function BrokerGarbage:CheckSettings()
+	-- check for settings
+	local first
+	if not BG_GlobalDB then BG_GlobalDB = {}; first = true end
+	for key, value in pairs(BrokerGarbage.defaultGlobalSettings) do
+		if BG_GlobalDB[key] == nil then
+			BG_GlobalDB[key] = value
+		end
+	end
+
+	if not BG_LocalDB then
+		BG_LocalDB = {}
+		if not first then first = false end
+	end
+	for key, value in pairs(BrokerGarbage.defaultLocalSettings) do
+		if BG_LocalDB[key] == nil then
+			BG_LocalDB[key] = value
+		end
+	end
+
+	if first ~= nil then
+		BrokerGarbage:CreateDefaultLists(first)
+	end
+
+	-- update LDB string for older versions
+	if BG_GlobalDB.LDBformat == "%1$sx%2$d (%3$s)" or string.find(BG_GlobalDB.LDBformat, "%%%d%$[sd]") then
+		BG_GlobalDB.LDBformat = BrokerGarbage.defaultGlobalSettings.LDBformat
+		BrokerGarbage:Print(BrokerGarbage.locale.resetLDB)
+	end
+end
+
+-- inserts some basic list settings
+function BrokerGarbage:CreateDefaultLists(global)
+	if global then
+		BG_GlobalDB.include[46069] = true											-- argentum lance
+		BG_GlobalDB.include["Consumable.Water.Conjured"] = true
+		BG_GlobalDB.include["Consumable.Food.Edible.Basic.Conjured"] = true
+		BG_GlobalDB.forceVendorPrice["Consumable.Food.Edible.Basic"] = true
+		BG_GlobalDB.forceVendorPrice["Consumable.Water.Basic"] = true
+		BG_GlobalDB.forceVendorPrice["Tradeskill.Mat.BySource.Vendor"] = true
+	end
+
+	-- tradeskills
+	local tradeSkills =  { GetProfessions() }
+	for i = 1, 6 do	-- we get at most 6 professions (2x primary, cooking, fishing, first aid, archeology)
+		local englishSkill, isGather = BrokerGarbage:UnLocalize(tradeSkills[i])
+		BrokerGarbage:Print("Found "..(englishSkill or "nil"))
+		if englishSkill then
+			if isGather then
+				BG_LocalDB.exclude["Tradeskill.Gather." .. englishSkill] = true
+				if englishSkill ~= "Herbalism" then
+					BG_LocalDB.exclude["Tradeskill.Tool." .. englishSkill] = true
+				end
+			else
+				BG_LocalDB.exclude["Tradeskill.Mat.ByProfession." .. englishSkill] = true
+				BG_LocalDB.exclude["Tradeskill.Tool." .. englishSkill] = true
+			end
+		end
+	end
+
+	-- class specific
+	if BrokerGarbage.playerClass == "WARRIOR" or BrokerGarbage.playerClass == "ROGUE" or BrokerGarbage.playerClass == "DEATHKNIGHT" then
+		BG_LocalDB.autoSellList["Consumable.Water"] = true
+
+	elseif BrokerGarbage.playerClass == "SHAMAN" then
+		if not BG_LocalDB.include[17058] then BG_LocalDB.include[17058] = 20 end	-- fish oil
+		if not BG_LocalDB.include[17057] then BG_LocalDB.include[17057] = 20 end	-- scales
+	end
+	BG_LocalDB.exclude["Misc.Reagent.Class."..string.gsub(string.lower(BrokerGarbage.playerClass), "^.", string.upper)] = true
+
+	BrokerGarbage:Print(BrokerGarbage.locale.listsUpdatedPleaseCheck)
+	BrokerGarbage.itemsCache = {}
+	BrokerGarbage:ScanInventory()
+	if BrokerGarbage.ListOptionsUpdate then
+		BrokerGarbage:ListOptionsUpdate()
+	end
+end
+
+-- returns options for plugin use
+function BrokerGarbage:GetOption(optionName, global)
+	if global == nil then
+		return BG_LocalDB[optionName], BG_GlobalDB[optionName]
+	elseif global == false then
+		return BG_LocalDB[optionName]
+	else
+		return BG_GlobalDB[optionName]
+	end
+end
+function BrokerGarbage:SetOption(optionName, global, value)
+	if not global then
+		BG_LocalDB[optionName] = value
+	else
+		BG_GlobalDB[optionName] = value
+	end
+end
+function BrokerGarbage:ToggleOption(optionName, global)
+	if not global then
+		BG_LocalDB[optionName] = not BG_LocalDB[optionName]
+	else
+		BG_GlobalDB[optionName] = not BG_GlobalDB[optionName]
+	end
+end
+function BrokerGarbage:RegisterPlugin(name, init)
+	if not name or not init then
+		BGC:Print("Error! Cannot register a plugin without a name and initialize function.")
+		return
+	end
+
+	table.insert(BrokerGarbage.tabs, {
+		name = name,
+		init = init
+	})
+	return #BrokerGarbage.tabs
+end
+
+-- Helpers
+-- ---------------------------------------------------------
+-- returns an item's itemID
+function BrokerGarbage:GetItemID(itemLink)
+	if not itemLink then return end
+	local itemID = string.gsub(itemLink, ".-Hitem:([0-9]*):.*", "%1")
+	return tonumber(itemID)
+end
+
+-- returns original English names for non-English locales
+function BrokerGarbage:UnLocalize(skillName)
+	BrokerGarbage:Print("Checking "..(skillName or "nil"))
+	if not skillName then return nil, nil end
+	skillName = GetProfessionInfo(skillName)
+	BrokerGarbage:Print("Got name "..(skillName or "nil"))
+	if string.find(GetLocale(), "en") then return skillName end
+
+	-- crafting skills
+	local searchString = ""
+	for i = 2, 12 do
+		searchString = select(i, GetAuctionItemSubClasses(9))
+		if string.find(skillName, searchString) then
+			return BrokerGarbage.tradeSkills[i], false
+		end
+	end
+
+	-- gathering skills
+	local skill
+	if skillName == GetSpellInfo(8613) then
+		skill = "Skinning"
+	elseif skillName == GetSpellInfo(2575) then
+		skill = "Mining"
+	else
+		-- herbalism sucks
+		searchString = select(6, GetAuctionItemSubClasses(6))
+		if string.find(skillName, searchString) then
+			skill = "Herbalism"
+		end
+	end
+
+	return skill, skill and true or nil
+end
+
+-- easier syntax for LDB display strings
+function BrokerGarbage:FormatString(text)
+	local item
+	if not BrokerGarbage.cheapestItems or not BrokerGarbage.cheapestItems[1] then
+		item = { itemID = 0, count = 0, value = 0 }
+	else
+		item = BrokerGarbage.cheapestItems[1]
+	end
+
+	-- [junkvalue]
+	local junkValue = 0
+	for i = 0, 4 do
+		junkValue = junkValue + (BrokerGarbage.toSellValue[i] or 0)
+	end
+	text = string.gsub(text, "%[junkvalue%]", BrokerGarbage:FormatMoney(junkValue))
+
+	-- [itemname][itemcount][itemvalue]
+	text = string.gsub(text, "%[itemname%]", (select(2,GetItemInfo(item.itemID)) or ""))
+	text = string.gsub(text, "%[itemcount%]", item.count)
+	text = string.gsub(text, "%[itemvalue%]", BrokerGarbage:FormatMoney(item.value))
+
+	-- [freeslots][totalslots]
+	text = string.gsub(text, "%[freeslots%]", BrokerGarbage.totalFreeSlots + BrokerGarbage.freeSpecialSlots)
+	text = string.gsub(text, "%[totalslots%]", BrokerGarbage.totalBagSpace + BrokerGarbage.specialSlots)
+
+	-- [specialfree][specialslots][specialslots][basicslots]
+	text = string.gsub(text, "%[specialfree%]", BrokerGarbage.freeSpecialSlots)
+	text = string.gsub(text, "%[specialslots%]", BrokerGarbage.specialSlots)
+	text = string.gsub(text, "%[basicfree%]", BrokerGarbage.totalFreeSlots)
+	text = string.gsub(text, "%[basicslots%]", BrokerGarbage.totalBagSpace)
+
+	-- [bagspacecolor][basicbagcolor][specialbagcolor][endcolor]
+	text = string.gsub(text, "%[bagspacecolor%]",
+		BrokerGarbage:Colorize(BrokerGarbage.totalFreeSlots + BrokerGarbage.freeSpecialSlots, BrokerGarbage.totalBagSpace + BrokerGarbage.specialSlots))
+	text = string.gsub(text, "%[basicbagcolor%]",
+			BrokerGarbage:Colorize(BrokerGarbage.totalFreeSlots, BrokerGarbage.totalBagSpace))
+	text = string.gsub(text, "%[specialbagcolor%]",
+			BrokerGarbage:Colorize(BrokerGarbage.freeSpecialSlots, BrokerGarbage.specialSlots))
+	text = string.gsub(text, "%[endcolor%]", "|r")
+
+	return text
+end
+
+-- returns a red-to-green color depending on the given percentage
+function BrokerGarbage:Colorize(min, max)
+	local color
+	if not min then
+		return ""
+	elseif type(min) == "table" then
+		color = { min.r*255, min.g*255, min.b*255}
+	else
+		local percentage = min/(max and max ~= 0 and max or 1)
+		if percentage <= 0.5 then
+			color =  {255, percentage*510, 0}
+		else
+			color =  {510 - percentage*510, 255, 0}
+		end
+	end
+
+	color = string.format("|cff%02x%02x%02x", color[1], color[2], color[3])
+	return color
+end
+
+function BrokerGarbage:ResetMoney(which, global)
+	if not global then
+		if which == "lost" then
+			BG_LocalDB.moneyLostByDeleting = 0
+		elseif which == "earned" then
+			BG_LocalDB.moneyEarned = 0
+		end
+	else
+		if which == "lost" then
+			BG_GlobalDB.moneyLostByDeleting = 0
+		elseif which == "earned" then
+			BG_GlobalDB.moneyEarned = 0
+		end
+	end
+end
+
+-- resets statistics. global = true -> global, otherwise local
+function BrokerGarbage:ResetAll(global)
+	if global then
+		BG_GlobalDB.moneyEarned = 0
+		BG_GlobalDB.moneyLostByDeleting = 0
+		BG_GlobalDB.itemsDropped = 0
+		BG_GlobalDB.itemsSold = 0
+	else
+		BG_LocalDB.moneyEarned = 0
+		BG_LocalDB.moneyLostByDeleting = 0
+	end
+end
+
+function BrokerGarbage:LPTDropDown(self, level, functionHandler)
+	local dataTable = BrokerGarbage.PTSets or {}
+	if UIDROPDOWNMENU_MENU_VALUE and string.find(UIDROPDOWNMENU_MENU_VALUE, ".") then
+		local parts = { strsplit(".", UIDROPDOWNMENU_MENU_VALUE) } or {}
+		for k = 1, #parts do
+			dataTable = dataTable[ parts[k] ] or {}
+		end
+	elseif UIDROPDOWNMENU_MENU_VALUE then
+		dataTable = dataTable[ UIDROPDOWNMENU_MENU_VALUE ] or {}
+	end
+
+	-- display a heading
+	if (level == 1) then
+		local info = UIDropDownMenu_CreateInfo()
+		info.isTitle = true
+		info.notCheckable = true
+		info.text = BrokerGarbage.locale.categoriesHeading
+		UIDropDownMenu_AddButton(info, level)
+
+		-- and some warning text, in case LPT is not available
+		if not BrokerGarbage.PT then
+			local info = UIDropDownMenu_CreateInfo()
+			info.isTitle = true
+			info.notCheckable = true
+			info.text = BrokerGarbage.locale.LPTNotLoaded
+			UIDropDownMenu_AddButton(info, level)
+		end
+	end
+
+	for key, value in pairs(dataTable or {}) do
+		local info = UIDropDownMenu_CreateInfo()
+		local prefix = ""
+		if UIDROPDOWNMENU_MENU_VALUE then
+			prefix = UIDROPDOWNMENU_MENU_VALUE .. "."
+		end
+
+		info.text = key
+		info.value = prefix .. key
+		info.hasArrow = type(value) == "table" and true or false
+		info.func = functionHandler
+
+		UIDropDownMenu_AddButton(info, level);
+	end
+end
+
+function BrokerGarbage:GetProfessionSkill(skill)
+	if not skill or (type(skill) ~= "number" and type(skill) ~= "string") then return end
+	if type(skill) == "number" then
+		skill = GetSpellInfo(skill)
+	end
+
+	local rank, maxRank
+	local professions = { GetProfessions() }
+	for _, profession in ipairs(professions) do
+		local pName, _, pRank, pMaxRank = GetProfessionInfo(profession)
+		if pName and pName == skill then
+			rank = pRank
+			maxRank = pMaxRank
+			break
+		end
+	end
+	return rank, maxRank
+end
+
+local scanTooltip = CreateFrame('GameTooltip', 'BGItemScanTooltip', UIParent, 'GameTooltipTemplate')
+-- misc: either "true" to check only for the current character, or a table {container, slot} for reference
+function BrokerGarbage:CanDisenchant(itemLink, location)
+	if not itemLink then return end
+
+	local required, skillRank = 0	-- required disenchant skill
+	if IsAddOnLoaded("Enchantrix") then
+		required = Enchantrix.Util.DisenchantSkillRequiredForItem(itemLink)	-- might be more accurate/up to date in case I miss something
+		skillRank = Enchantrix.Util.GetUserEnchantingSkill()	-- Enchantrix caches this. So let's use it!
+	else
+		local _, _, quality, level, _, _, _, stackSize, invType = GetItemInfo(itemLink)
+
+		-- stackables are not DE-able, legendary/heirlooms are not DE-able
+		if quality >= 2 and quality < 5 and stackSize == 1
+			and string.find(invType, "INVTYPE") and not string.find(invType, "BAG") then
+
+			skillRank = BrokerGarbage:GetProfessionSkill(BrokerGarbage.enchanting) or 0
+			if skillRank > 0 then
+				if level <=  20 then
+					required = 1
+				elseif level <=  60 then
+					required = 5*5*math.ceil(level/5)-100
+				elseif level <=  99 then
+					required = 225
+				elseif level <= 120 then
+					required = 275
+				else
+					if quality == 2 then		-- green
+						if level <= 150 then
+							required = 325
+						elseif level <= 200 then
+							required = 350
+						elseif level <= 305 then
+							required = 425
+						else
+							required = 475
+						end
+					elseif quality == 3 then	-- blue
+						if level <= 200 then
+							required = 325
+						elseif level <= 325 then
+							required = 450
+						else
+							required = 500
+						end
+					elseif quality == 4 then	-- purple
+						if level <= 199 then
+							required = 300
+						elseif level <= 277 then
+							required = 375
+						else
+							required = 500
+						end
+					end
+				end
+			end
+		end
+	end
+
+	if not skillRank or not required then
+		-- this item is not disenchantable
+		return false
+	elseif skillRank >= required then
+		-- this character can disenchant the item. Perfect!
+		return true
+	elseif BG_GlobalDB.hasEnchanter then
+		if location and type(location) == "boolean" then
+			-- misc = true => Only regard this character. Exit.
+			return false
+		elseif location and type(location) == "table" then
+			-- misc = {bag, slot} => Can we mail this item?
+			return not BrokerGarbage:IsItemSoulbound(itemLink, location.bag, location.slot)
+		else
+			return not BrokerGarbage:IsItemSoulbound(itemLink)
+		end
+	else
+		return false
+	end
+end
+
+-- returns true if the given item is soulbound
+function BrokerGarbage:IsItemSoulbound(itemLink, bag, slot)
+	scanTooltip:SetOwner(UIParent, 'ANCHOR_NONE')
+	local searchString
+
+	if not (bag and slot) then
+		-- check if item is BOP
+		scanTooltip:SetHyperlink(itemLink)
+		searchString = ITEM_BIND_ON_PICKUP
+	else
+		-- check if item is soulbound
+		scanTooltip:SetBagItem(bag, slot)
+		searchString = ITEM_SOULBOUND
+	end
+
+	local numLines = scanTooltip:NumLines()
+	for i = 1, numLines do
+		local leftLine = getglobal("BGItemScanTooltip".."TextLeft"..i)
+		local leftLineText = leftLine:GetText()
+
+		if string.find(leftLineText, searchString) then
+			return true
+		end
+	end
+	return false
+end
+
+-- gets an item's classification and saves it to the item cache
+function BrokerGarbage:UpdateCache(itemID)
+	if not itemID then return nil end
+	local class, temp, limit
+
+	local hasData, itemLink, quality, itemLevel, _, _, subClass, stackSize, invType, _, value = GetItemInfo(itemID)
+	local family = GetItemFamily(itemID)
+	if not hasData then
+		BrokerGarbage:Debug("UpdateCache("..(itemID or "<none>")..") failed - no GetItemInfo() data available!")
+		return nil
+	end
+
+	-- check if item is excluded by itemID
+	if BG_GlobalDB.exclude[itemID] or BG_LocalDB.exclude[itemID] then
+		BrokerGarbage:Debug("Item "..itemID.." is excluded via its itemID.")
+		class = BrokerGarbage.EXCLUDE
+	end
+
+	-- check if the item is classified by its itemID
+	if not class or class ~= BrokerGarbage.EXCLUDE then
+		if BG_GlobalDB.include[itemID] or BG_LocalDB.include[itemID] then
+
+			if BG_LocalDB.include[itemID] and type(BG_LocalDB.include[itemID]) ~= "boolean" then
+				-- limited item, local rule
+				BrokerGarbage:Debug("Item "..itemID.." is locally limited via its itemID.")
+				class = BrokerGarbage.LIMITED
+				limit = BG_LocalDB.include[itemID]
+
+			elseif BG_GlobalDB.include[itemID] and type(BG_GlobalDB.include[itemID]) ~= "boolean" then
+				-- limited item, global rule
+				BrokerGarbage:Debug("Item "..itemID.." is globally limited via its itemID.")
+				class = BrokerGarbage.LIMITED
+				limit = BG_GlobalDB.include[itemID]
+
+			else
+				BrokerGarbage:Debug("Item "..itemID.." is included via its itemID.")
+				class = BrokerGarbage.INCLUDE
+			end
+
+		elseif BG_GlobalDB.forceVendorPrice[itemID] then
+			BrokerGarbage:Debug("Item "..itemID.." has a forced vendor price via its itemID.")
+			class = BrokerGarbage.VENDOR
+
+		elseif BG_GlobalDB.autoSellList[itemID] or BG_LocalDB.autoSellList[itemID] then
+			BrokerGarbage:Debug("Item "..itemID.." is to be auto-sold via its itemID.")
+			class = BrokerGarbage.VENDORLIST
+
+		elseif quality
+			and not IsUsableSpell(BrokerGarbage.enchanting)	and BrokerGarbage:IsItemSoulbound(itemLink)
+			and string.find(invType, "INVTYPE") and not string.find(invType, "BAG")
+			and not BrokerGarbage.usableByClass[BrokerGarbage.playerClass][subClass]
+			and not BrokerGarbage.usableByAll[invType] then
+
+			BrokerGarbage:Debug("Item "..itemID.." should be sold as we can't ever wear it.")
+			class = BrokerGarbage.UNUSABLE
+
+		-- check if the item is classified by its category
+		elseif BrokerGarbage.PT then
+			-- check if item is excluded by its category
+			for setName,_ in pairs(BrokerGarbage:JoinTables(BG_GlobalDB.exclude, BG_LocalDB.exclude)) do
+				if type(setName) == "string" then
+					_, temp = BrokerGarbage.PT:ItemInSet(itemID, setName)
+				end
+				if temp then
+					BrokerGarbage:Debug("Item "..itemID.." is excluded via its category.")
+					class = BrokerGarbage.EXCLUDE
+					break
+				end
+			end
+
+			-- Include List
+			if not class then
+				for setName,_ in pairs(BrokerGarbage:JoinTables(BG_LocalDB.include, BG_GlobalDB.include)) do
+					if type(setName) == "string" then
+						_, temp = BrokerGarbage.PT:ItemInSet(itemID, setName)
+					end
+					if temp then
+						BrokerGarbage:Debug("Item "..itemID.." in included via its item category.")
+						class = BrokerGarbage.INCLUDE
+						break
+					end
+				end
+			end
+
+			-- Sell List
+			if not class then
+				for setName,_ in pairs(BrokerGarbage:JoinTables(BG_GlobalDB.autoSellList, BG_LocalDB.autoSellList)) do
+					if type(setName) == "string" then
+						_, temp = BrokerGarbage.PT:ItemInSet(itemID, setName)
+					end
+					if temp then
+						BrokerGarbage:Debug("Item "..itemID.." is on the sell list via its item category.")
+						class = BrokerGarbage.VENDORLIST
+						break
+					end
+				end
+			end
+
+			-- Force Vendor Price List
+			if not class then
+				for setName,_ in pairs(BG_GlobalDB.forceVendorPrice) do
+					if type(setName) == "string" then
+						_, temp = BrokerGarbage.PT:ItemInSet(itemID, setName)
+					end
+					if temp then
+						BrokerGarbage:Debug("Item "..itemID.." has a forced vendor price via its item category.")
+						class = BrokerGarbage.VENDOR
+						break
+					end
+				end
+			end
+		end
+	end
+
+	local tvalue, tclass = BrokerGarbage:GetSingleItemValue(itemID)
+	if not class then class = tclass end
+	if not (class == BrokerGarbage.VENDOR or class == BrokerGarbage.VENDORLIST or
+		(class == BrokerGarbage.INCLUDE and BG_GlobalDB.autoSellIncludeItems)) then
+		value = tvalue
+	end
+
+	-- save to items cache
+	if not class or not quality then
+		BrokerGarbage:Debug("Error! Caching item "..itemID.." failed!")
+		return
+	end
+	if not BrokerGarbage.itemsCache[itemID] then
+		BrokerGarbage.itemsCache[itemID] = {
+			classification = class,
+			quality = quality,
+			family = family,
+			itemType = itemType,
+			level = itemLevel,
+			value = value or 0,
+			limit = limit,
+			stackSize = stackSize,
+			isClam = BrokerGarbage:Find(BrokerGarbage.clams, itemID),
+		}
+	else
+		BrokerGarbage.itemsCache[itemID].classification = class
+		BrokerGarbage.itemsCache[itemID].quality = quality
+		BrokerGarbage.itemsCache[itemID].family = family
+		BrokerGarbage.itemsCache[itemID].itemType = itemType
+		BrokerGarbage.itemsCache[itemID].value = value or 0
+		BrokerGarbage.itemsCache[itemID].limit = limit
+		BrokerGarbage.itemsCache[itemID].level = itemLevel
+		BrokerGarbage.itemsCache[itemID].stackSize = stackSize
+		BrokerGarbage.itemsCache[itemID].isClam = BrokerGarbage:Find(BrokerGarbage.clams, itemID)
+	end
+end
+
+-- fetch an item from the item cache, or insert if it doesn't exist yet
+function BrokerGarbage:GetCached(itemID)
+	if not itemID then return end
+	if not BrokerGarbage.itemsCache[itemID] then
+		BrokerGarbage:UpdateCache(itemID)
+	end
+	return BrokerGarbage.itemsCache[itemID]
+end
+
+-- returns total bag slots and free bag slots of your whole inventory
+function BrokerGarbage:GetBagSlots()
+	local numSlots, freeSlots = 0, 0
+	local specialSlots, specialFree = 0, 0
+	local bagSlots, emptySlots, bagType
+
+	for i = 0, 4 do
+		bagSlots = GetContainerNumSlots(i) or 0
+		emptySlots, bagType = GetContainerNumFreeSlots(i)
+
+		if bagType and bagType == 0 then
+			numSlots = numSlots + bagSlots
+			freeSlots = freeSlots + emptySlots
+		else
+			specialSlots = specialSlots + bagSlots
+			specialFree = specialFree + emptySlots
+		end
+	end
+	return numSlots, freeSlots, specialSlots, specialFree
+end
+
+-- formats money int values, depending on settings
+function BrokerGarbage:FormatMoney(amount, displayMode)
+	if not amount then return "" end
+	displayMode = displayMode or BG_GlobalDB.showMoney
+
+	local signum
+	if amount < 0 then
+		signum = "-"
+		amount = -amount
+	else
+		signum = ""
+	end
+
+	local gold   = floor(amount / (100 * 100))
+	local silver = math.fmod(floor(amount / 100), 100)
+	local copper = math.fmod(floor(amount), 100)
+
+	if displayMode == 0 then
+		return format(signum.."%i.%i.%i", gold, silver,copper)
+
+	elseif displayMode == 1 then
+		return format(signum.."|cffffd700%i|r.|cffc7c7cf%.2i|r.|cffeda55f%.2i|r", gold, silver, copper)
+
+	-- copied from Ara Broker Money
+	elseif displayMode == 2 then
+		if amount>9999 then
+			return format(signum.."|cffeeeeee%i|r|cffffd700g|r |cffeeeeee%.2i|r|cffc7c7cfs|r |cffeeeeee%.2i|r|cffeda55fc|r", floor(amount*.0001), floor(amount*.01)%100, amount%100 )
+
+		elseif amount > 99 then
+			return format(signum.."|cffeeeeee%i|r|cffc7c7cfs|r |cffeeeeee%.2i|r|cffeda55fc|r", floor(amount*.01), amount%100 )
+
+		else
+			return format(signum.."|cffeeeeee%i|r|cffeda55fc|r", amount)
+		end
+
+	-- copied from Haggler
+	elseif displayMode == 3 then
+		gold         = gold   > 0 and gold  .."|TInterface\\MoneyFrame\\UI-GoldIcon:0|t" or ""
+		silver       = silver > 0 and silver.."|TInterface\\MoneyFrame\\UI-SilverIcon:0|t" or ""
+		copper       = copper > 0 and copper.."|TInterface\\MoneyFrame\\UI-CopperIcon:0|t" or ""
+		-- add spaces if needed
+		copper       = (silver ~= "" and copper ~= "") and " "..copper or copper
+		silver       = (gold   ~= "" and silver ~= "") and " "..silver or silver
+
+		return signum..gold..silver..copper
+
+	elseif displayMode == 4 then
+		gold         = gold   > 0 and "|cffeeeeee"..gold  .."|r|cffffd700g|r" or ""
+		silver       = silver > 0 and "|cffeeeeee"..silver.."|r|cffc7c7cfs|r" or ""
+		copper       = copper > 0 and "|cffeeeeee"..copper.."|r|cffeda55fc|r" or ""
+		-- add spaces if needed
+		copper       = (silver ~= "" and copper ~= "") and " "..copper or copper
+		silver       = (gold   ~= "" and silver ~= "") and " "..silver or silver
+
+		return signum..gold..silver..copper
+	end
+end
\ No newline at end of file
diff --git a/libs/CallbackHandler-1.0.lua b/libs/CallbackHandler-1.0.lua
new file mode 100644
index 0000000..fbf93cf
--- /dev/null
+++ b/libs/CallbackHandler-1.0.lua
@@ -0,0 +1,239 @@
+--[[ $Id: CallbackHandler-1.0.lua 60548 2008-02-07 11:04:06Z nevcairiel $ ]]
+local MAJOR, MINOR = "CallbackHandler-1.0", 3
+local CallbackHandler = LibStub:NewLibrary(MAJOR, MINOR)
+
+if not CallbackHandler then return end -- No upgrade needed
+
+local meta = {__index = function(tbl, key) tbl[key] = {} return tbl[key] end}
+
+local type = type
+local pcall = pcall
+local pairs = pairs
+local assert = assert
+local concat = table.concat
+local loadstring = loadstring
+local next = next
+local select = select
+local type = type
+local xpcall = xpcall
+
+local function errorhandler(err)
+	return geterrorhandler()(err)
+end
+
+local function CreateDispatcher(argCount)
+	local code = [[
+	local next, xpcall, eh = ...
+
+	local method, ARGS
+	local function call() method(ARGS) end
+
+	local function dispatch(handlers, ...)
+		local index
+		index, method = next(handlers)
+		if not method then return end
+		local OLD_ARGS = ARGS
+		ARGS = ...
+		repeat
+			xpcall(call, eh)
+			index, method = next(handlers, index)
+		until not method
+		ARGS = OLD_ARGS
+	end
+
+	return dispatch
+	]]
+
+	local ARGS, OLD_ARGS = {}, {}
+	for i = 1, argCount do ARGS[i], OLD_ARGS[i] = "arg"..i, "old_arg"..i end
+	code = code:gsub("OLD_ARGS", concat(OLD_ARGS, ", ")):gsub("ARGS", concat(ARGS, ", "))
+	return assert(loadstring(code, "safecall Dispatcher["..argCount.."]"))(next, xpcall, errorhandler)
+end
+
+local Dispatchers = setmetatable({}, {__index=function(self, argCount)
+	local dispatcher = CreateDispatcher(argCount)
+	rawset(self, argCount, dispatcher)
+	return dispatcher
+end})
+
+--------------------------------------------------------------------------
+-- CallbackHandler:New
+--
+--   target            - target object to embed public APIs in
+--   RegisterName      - name of the callback registration API, default "RegisterCallback"
+--   UnregisterName    - name of the callback unregistration API, default "UnregisterCallback"
+--   UnregisterAllName - name of the API to unregister all callbacks, default "UnregisterAllCallbacks". false == don't publish this API.
+
+function CallbackHandler:New(target, RegisterName, UnregisterName, UnregisterAllName, OnUsed, OnUnused)
+	-- TODO: Remove this after beta has gone out
+	assert(not OnUsed and not OnUnused, "ACE-80: OnUsed/OnUnused are deprecated. Callbacks are now done to registry.OnUsed and registry.OnUnused")
+
+	RegisterName = RegisterName or "RegisterCallback"
+	UnregisterName = UnregisterName or "UnregisterCallback"
+	if UnregisterAllName==nil then	-- false is used to indicate "don't want this method"
+		UnregisterAllName = "UnregisterAllCallbacks"
+	end
+
+	-- we declare all objects and exported APIs inside this closure to quickly gain access
+	-- to e.g. function names, the "target" parameter, etc
+
+
+	-- Create the registry object
+	local events = setmetatable({}, meta)
+	local registry = { recurse=0, events=events }
+
+	-- registry:Fire() - fires the given event/message into the registry
+	function registry:Fire(eventname, ...)
+		if not rawget(events, eventname) or not next(events[eventname]) then return end
+		local oldrecurse = registry.recurse
+		registry.recurse = oldrecurse + 1
+
+		Dispatchers[select('#', ...) + 1](events[eventname], eventname, ...)
+
+		registry.recurse = oldrecurse
+
+		if registry.insertQueue and oldrecurse==0 then
+			-- Something in one of our callbacks wanted to register more callbacks; they got queued
+			for eventname,callbacks in pairs(registry.insertQueue) do
+				local first = not rawget(events, eventname) or not next(events[eventname])	-- test for empty before. not test for one member after. that one member may have been overwritten.
+				for self,func in pairs(callbacks) do
+					events[eventname][self] = func
+					-- fire OnUsed callback?
+					if first and registry.OnUsed then
+						registry.OnUsed(registry, target, eventname)
+						first = nil
+					end
+				end
+			end
+			registry.insertQueue = nil
+		end
+	end
+
+	-- Registration of a callback, handles:
+	--   self["method"], leads to self["method"](self, ...)
+	--   self with function ref, leads to functionref(...)
+	--   "addonId" (instead of self) with function ref, leads to functionref(...)
+	-- all with an optional arg, which, if present, gets passed as first argument (after self if present)
+	target[RegisterName] = function(self, eventname, method, ... --[[actually just a single arg]])
+		if type(eventname) ~= "string" then
+			error("Usage: "..RegisterName.."(eventname, method[, arg]): 'eventname' - string expected.", 2)
+		end
+
+		method = method or eventname
+
+		local first = not rawget(events, eventname) or not next(events[eventname])	-- test for empty before. not test for one member after. that one member may have been overwritten.
+
+		if type(method) ~= "string" and type(method) ~= "function" then
+			error("Usage: "..RegisterName.."(\"eventname\", \"methodname\"): 'methodname' - string or function expected.", 2)
+		end
+
+		local regfunc
+
+		if type(method) == "string" then
+			-- self["method"] calling style
+			if type(self) ~= "table" then
+				error("Usage: "..RegisterName.."(\"eventname\", \"methodname\"): self was not a table?", 2)
+			elseif self==target then
+				error("Usage: "..RegisterName.."(\"eventname\", \"methodname\"): do not use Library:"..RegisterName.."(), use your own 'self'", 2)
+			elseif type(self[method]) ~= "function" then
+				error("Usage: "..RegisterName.."(\"eventname\", \"methodname\"): 'methodname' - method '"..tostring(method).."' not found on self.", 2)
+			end
+
+			if select("#",...)>=1 then	-- this is not the same as testing for arg==nil!
+				local arg=select(1,...)
+				regfunc = function(...) self[method](self,arg,...) end
+			else
+				regfunc = function(...) self[method](self,...) end
+			end
+		else
+			-- function ref with self=object or self="addonId"
+			if type(self)~="table" and type(self)~="string" then
+				error("Usage: "..RegisterName.."(self or \"addonId\", eventname, method): 'self or addonId': table or string expected.", 2)
+			end
+
+			if select("#",...)>=1 then	-- this is not the same as testing for arg==nil!
+				local arg=select(1,...)
+				regfunc = function(...) method(arg,...) end
+			else
+				regfunc = method
+			end
+		end
+
+
+		if events[eventname][self] or registry.recurse<1 then
+		-- if registry.recurse<1 then
+			-- we're overwriting an existing entry, or not currently recursing. just set it.
+			events[eventname][self] = regfunc
+			-- fire OnUsed callback?
+			if registry.OnUsed and first then
+				registry.OnUsed(registry, target, eventname)
+			end
+		else
+			-- we're currently processing a callback in this registry, so delay the registration of this new entry!
+			-- yes, we're a bit wasteful on garbage, but this is a fringe case, so we're picking low implementation overhead over garbage efficiency
+			registry.insertQueue = registry.insertQueue or setmetatable({},meta)
+			registry.insertQueue[eventname][self] = regfunc
+		end
+	end
+
+	-- Unregister a callback
+	target[UnregisterName] = function(self, eventname)
+		if not self or self==target then
+			error("Usage: "..UnregisterName.."(eventname): bad 'self'", 2)
+		end
+		if type(eventname) ~= "string" then
+			error("Usage: "..UnregisterName.."(eventname): 'eventname' - string expected.", 2)
+		end
+		if rawget(events, eventname) and events[eventname][self] then
+			events[eventname][self] = nil
+			-- Fire OnUnused callback?
+			if registry.OnUnused and not next(events[eventname]) then
+				registry.OnUnused(registry, target, eventname)
+			end
+		end
+		if registry.insertQueue and rawget(registry.insertQueue, eventname) and registry.insertQueue[eventname][self] then
+			registry.insertQueue[eventname][self] = nil
+		end
+	end
+
+	-- OPTIONAL: Unregister all callbacks for given selfs/addonIds
+	if UnregisterAllName then
+		target[UnregisterAllName] = function(...)
+			if select("#",...)<1 then
+				error("Usage: "..UnregisterAllName.."([whatFor]): missing 'self' or \"addonId\" to unregister events for.", 2)
+			end
+			if select("#",...)==1 and ...==target then
+				error("Usage: "..UnregisterAllName.."([whatFor]): supply a meaningful 'self' or \"addonId\"", 2)
+			end
+
+
+			for i=1,select("#",...) do
+				local self = select(i,...)
+				if registry.insertQueue then
+					for eventname, callbacks in pairs(registry.insertQueue) do
+						if callbacks[self] then
+							callbacks[self] = nil
+						end
+					end
+				end
+				for eventname, callbacks in pairs(events) do
+					if callbacks[self] then
+						callbacks[self] = nil
+						-- Fire OnUnused callback?
+						if registry.OnUnused and not next(callbacks) then
+							registry.OnUnused(registry, target, eventname)
+						end
+					end
+				end
+			end
+		end
+	end
+
+	return registry
+end
+
+
+-- CallbackHandler purposefully does NOT do explicit embedding. Nor does it
+-- try to upgrade old implicit embeds since the system is selfcontained and
+-- relies on closures to work.
+
diff --git a/libs/LibDataBroker-1.1.lua b/libs/LibDataBroker-1.1.lua
new file mode 100644
index 0000000..4182f2e
--- /dev/null
+++ b/libs/LibDataBroker-1.1.lua
@@ -0,0 +1,90 @@
+
+assert(LibStub, "LibDataBroker-1.1 requires LibStub")
+assert(LibStub:GetLibrary("CallbackHandler-1.0", true), "LibDataBroker-1.1 requires CallbackHandler-1.0")
+
+local lib, oldminor = LibStub:NewLibrary("LibDataBroker-1.1", 4)
+if not lib then return end
+oldminor = oldminor or 0
+
+
+lib.callbacks = lib.callbacks or LibStub:GetLibrary("CallbackHandler-1.0"):New(lib)
+lib.attributestorage, lib.namestorage, lib.proxystorage = lib.attributestorage or {}, lib.namestorage or {}, lib.proxystorage or {}
+local attributestorage, namestorage, callbacks = lib.attributestorage, lib.namestorage, lib.callbacks
+
+if oldminor < 2 then
+	lib.domt = {
+		__metatable = "access denied",
+		__index = function(self, key) return attributestorage[self] and attributestorage[self][key] end,
+	}
+end
+
+if oldminor < 3 then
+	lib.domt.__newindex = function(self, key, value)
+		if not attributestorage[self] then attributestorage[self] = {} end
+		if attributestorage[self][key] == value then return end
+		attributestorage[self][key] = value
+		local name = namestorage[self]
+		if not name then return end
+		callbacks:Fire("LibDataBroker_AttributeChanged", name, key, value, self)
+		callbacks:Fire("LibDataBroker_AttributeChanged_"..name, name, key, value, self)
+		callbacks:Fire("LibDataBroker_AttributeChanged_"..name.."_"..key, name, key, value, self)
+		callbacks:Fire("LibDataBroker_AttributeChanged__"..key, name, key, value, self)
+	end
+end
+
+if oldminor < 2 then
+	function lib:NewDataObject(name, dataobj)
+		if self.proxystorage[name] then return end
+
+		if dataobj then
+			assert(type(dataobj) == "table", "Invalid dataobj, must be nil or a table")
+			self.attributestorage[dataobj] = {}
+			for i,v in pairs(dataobj) do
+				self.attributestorage[dataobj][i] = v
+				dataobj[i] = nil
+			end
+		end
+		dataobj = setmetatable(dataobj or {}, self.domt)
+		self.proxystorage[name], self.namestorage[dataobj] = dataobj, name
+		self.callbacks:Fire("LibDataBroker_DataObjectCreated", name, dataobj)
+		return dataobj
+	end
+end
+
+if oldminor < 1 then
+	function lib:DataObjectIterator()
+		return pairs(self.proxystorage)
+	end
+
+	function lib:GetDataObjectByName(dataobjectname)
+		return self.proxystorage[dataobjectname]
+	end
+
+	function lib:GetNameByDataObject(dataobject)
+		return self.namestorage[dataobject]
+	end
+end
+
+if oldminor < 4 then
+	local next = pairs(attributestorage)
+	function lib:pairs(dataobject_or_name)
+		local t = type(dataobject_or_name)
+		assert(t == "string" or t == "table", "Usage: ldb:pairs('dataobjectname') or ldb:pairs(dataobject)")
+
+		local dataobj = self.proxystorage[dataobject_or_name] or dataobject_or_name
+		assert(attributestorage[dataobj], "Data object not found")
+
+		return next, attributestorage[dataobj], nil
+	end
+
+	local ipairs_iter = ipairs(attributestorage)
+	function lib:ipairs(dataobject_or_name)
+		local t = type(dataobject_or_name)
+		assert(t == "string" or t == "table", "Usage: ldb:ipairs('dataobjectname') or ldb:ipairs(dataobject)")
+
+		local dataobj = self.proxystorage[dataobject_or_name] or dataobject_or_name
+		assert(attributestorage[dataobj], "Data object not found")
+
+		return ipairs_iter, attributestorage[dataobj], 0
+	end
+end
diff --git a/libs/LibPeriodicTable-3.1-Consumable/LibPeriodicTable-3.1-Consumable.lua b/libs/LibPeriodicTable-3.1-Consumable/LibPeriodicTable-3.1-Consumable.lua
new file mode 100644
index 0000000..7375481
--- /dev/null
+++ b/libs/LibPeriodicTable-3.1-Consumable/LibPeriodicTable-3.1-Consumable.lua
@@ -0,0 +1,272 @@
+-- (c) 2007 Nymbia.  see LGPLv2.1.txt for full details.
+--DO NOT MAKE CHANGES TO THIS FILE BEFORE READING THE WIKI PAGE REGARDING CHANGING THESE FILES
+if not LibStub("LibPeriodicTable-3.1", true) then error("PT3 must be loaded before data") end
+LibStub("LibPeriodicTable-3.1"):AddData("Consumable", gsub("$Rev: 295 $", "(%d+)", function(n) return n+90000 end), {
+	["Consumable.Anti-Venom"]="6452:25,6453:35,13462:60,2633:60,19440:60,12586:60,9030:60,3386:60,31437:70,25550:70",
+	["Consumable.Bandage.Basic"]="1251:66,2581:114,3530:161,3531:301,6450:400,6451:640,8544:800,8545:1104,14529:1360,14530:2000,21990:2800,21991:3400,38643:3400,38640:4100,34721:4800,34722:5800",
+	["Consumable.Bandage.Battleground.Alterac Valley"]="19307:2000",
+	["Consumable.Bandage.Battleground.Arathi Basin"]="20232:1104,20234:2000,20235:640,20237:1104,20243:2000,20244:640",
+	["Consumable.Bandage.Battleground.Warsong Gulch"]="19067:1104,19066:2000,19068:640",
+
+	--NOT AUTOGENNED Self buffs are on caster only, target buffs are on target
+	--Under no circumstances do you add food buffs here, nor weapon buffs for now.  These are applied differently / noncombat
+	["Consumable.Buff.Agility.Flask"]="33208:18,32598:20,32599:20",
+	["Consumable.Buff.Agility.Self"]="2457:4,3390:8,8949:15,28104:15,8412:25,9187:25,13452:25,22831:35",
+	["Consumable.Buff.Agility.Target"]="3012:3,1477:5,4425:8,10309:10,27498:15,33457:20,43463:25,43464:30",
+	["Consumable.Buff.Intellect.Flask"]="33208:18,32596:20,32600:20,32601:20,13511:65",
+	["Consumable.Buff.Intellect.Self"]="3383:6,28104:15,13447:18,8423:25,9179:25,32067:30",
+	["Consumable.Buff.Intellect.Target"]="955:3,2290:5,4419:12,10308:17,27499:21,33458:24,12458:30,37091:32,37092:48",
+	["Consumable.Buff.Spirit.Flask"]="33208:18",
+	["Consumable.Buff.Spirit.Self"]="28104:15,13447:18,32067:30",
+	["Consumable.Buff.Spirit.Target"]="21519:20,1181:3,1712:7,4424:11,10306:15,27501:26,33460:32,37097:40,37098:64",
+	["Consumable.Buff.Stamina.Flask"]="33208:18,32596:30,32597:30,32598:30,32599:30,32600:30,32601:30",
+	["Consumable.Buff.Stamina.Self"]="20709:5,17048:10,21114:10,21151:15,28104:15,13453:18,30615:20",
+	["Consumable.Buff.Stamina.Target"]="1180:4,1711:8,4422:12,10307:16,27502:20,33461:42,37093:63,37094:132",
+	["Consumable.Buff.Strength.Flask"]="33208:18,32597:20,32598:20,47499:40",
+	["Consumable.Buff.Strength.Self"]="2454:4,6662:8,3391:8,28104:15,13453:18,8410:25,9206:25,22824:35,22837:75,22828:120",
+	["Consumable.Buff.Strength.Target"]="954:3,2289:5,4426:8,10310:10,27503:15,33462:20,43465:25,12451:30,43466:30",
+
+	["Consumable.Buff.Absorb.Self.Arcane"]="13461:2600,22845:3400",
+	["Consumable.Buff.Absorb.Self.Damage"]="32063:20,22795:1000",
+	["Consumable.Buff.Absorb.Self.Fire"]="6049:1300,13457:2600,22841:3400",
+	["Consumable.Buff.Absorb.Self.Frost"]="6050:1800,13456:2600,22842:3400",
+	["Consumable.Buff.Absorb.Self.Holy"]="6051:400,22847:3400",
+	["Consumable.Buff.Absorb.Self.Nature"]="6052:1800,13458:2600,22844:3400",
+	["Consumable.Buff.Absorb.Self.Shadow"]="6048:900,13459:2600,22846:3400",
+	["Consumable.Buff.Armor.Self"]="5997:50,3389:150,8951:250,13445:450,22834:550,4623:1000,13455:2000,22849:2500,40093:3500",
+	["Consumable.Buff.Armor.Target"]="3013:65,1478:105,4421:150,10305:195,27500:240,33459:285,43467:340",
+	["Consumable.Buff.Attack Crit.Flask"]="32597:20,40212:200",
+	["Consumable.Buff.Attack Damage"]="23501:10,22788:40",
+	["Consumable.Buff.Attack Power.Self"]="23989:10,22779:30,12820:35,29528:60,28102:60,49856:75,49859:75,40068:90,31679:120,9224:265",
+	["Consumable.Buff.Attack Power.Flask"]="32599:20,47499:80,22854:120,32901:120,46377:120",
+	["Consumable.Buff.Attack Power.Target"]="12460:40",
+	["Consumable.Buff.Attack Speed.Self"]="29529:80,22838:400",
+	["Consumable.Buff.Attack Speed.Target"]="12450:3",
+	["Consumable.Buff.Hit Rating.Self"]="22237:20,23327:20",
+	["Consumable.Buff.Casting Speed.Self"]="29529:80",
+	["Consumable.Buff.Chest"]="23559:200,25521:400",
+	["Consumable.Buff.Defense.Self"]="22236:20,23435:20,49858:20,49860:20",
+	["Consumable.Buff.Defense.Flask"]="22851:10,32898:10",
+	["Consumable.Buff.Dodge.Target"]="12459:60",
+	["Consumable.Buff.Energy.Self"]="31451:20,7676:40,27553:55",
+	["Consumable.Buff.Fear"]="29532",
+	["Consumable.Buff.Fire Power"]="6373:10,21546:40,22833:65",
+	["Consumable.Buff.Free Action"]="20008,5634",
+	["Consumable.Buff.Frost Power"]="17708:15,22827:55",
+	["Consumable.Buff.Haste"]="40211:500",
+	["Consumable.Buff.Healing.Flask"]="32601:23,32600:44",
+	["Consumable.Buff.Healing.Self"]="23501:10,28103:24,22825:50,23211:44,22239:44",
+	["Consumable.Buff.Health.Flask"]="13510:400,22851:500,32898:500,46379:1300",
+	["Consumable.Buff.Health.Self"]="2458:27,23444:70,3825:120,32062:250,22837:700,22797:2000",
+	["Consumable.Buff.Other.Flask"]="13506",
+	["Consumable.Buff.Other.Self"]="3387,3823,3828,5996,5634,6372,8529,8956,9233,9154,9172,9197,10592,13506,22823,43090,43094,43134,43141,43462,43470,43472,43473",
+	["Consumable.Buff.Rage.Self"]="31451:10,5631:30,5633:45,13442:45",
+	["Consumable.Buff.Regen Health.Self"]="3382:2,3388:6,32062:10,3826:12,20004:20",
+	["Consumable.Buff.Regen Mana.Flask"]="32596:8,22853:25,32899:25",
+	["Consumable.Buff.Regen Mana.Self"]="20007:12,22840:16,32899:25,46378:38",
+	["Consumable.Buff.Resilience.Self"]="32068:30",
+	["Consumable.Buff.Resistance.Flask"]="13513:25,33208:35,40079:50",
+	["Consumable.Buff.Resistance.Self"]="9088:10,3384:25,9036:50",
+	["Consumable.Buff.Resistance.Target"]="12455:15,12457:15",
+	["Consumable.Buff.Shadow Power"]="9264:40,22835:65",
+	["Consumable.Buff.Shield"]="23575:1000,23576:4000",
+	["Consumable.Buff.Speed.Self"]="29530:15,20081:20,2459:50,33226:14,43135:15",
+	["Consumable.Buff.Spell Crit.Self"]="22839:2,28103:24,40212:200",
+	["Consumable.Buff.Spell Damage.Flask"]="32601:23,47499:47,13512:70,32900:70,22861:80,22866:80,46376:125",
+	["Consumable.Buff.Spell Damage.Self"]="6373:10,22710:10,17708:15,22778:15,9155:20,22238:23,23326:23,28103:24,29528:30,13454:35,9264:40,49857:45,49860:45,22833:55,40070:58,22835:65,22788:80,22839:120,40212:200",
+	["Consumable.Buff.Spell Reflect.Self"]="20080:3",
+	["Consumable.Buff.Water Breathing"]="34076:3,37265:10,23871:30,24421:30,25539:60",
+
+	["Consumable.Buff Type.Battle"]="954,955,1181,1477,1712,2289,2290,2454,2457,3012,3390,3391,4419,4424,4425,4426,6373,6662,8410,8412,8424,8949,9155,9187,9206,9224,9264,10306,10308,10309,10310,11563,12450,12451,12460,12820,13447,13452,13453,13454,17708,20007,20079,21546,22824,22825,22827,22831,22833,22835,22840,27498,27499,27501,27503,28102,28103,28104,31679,32067,33457,33458,33460,33462,34537,37091,37092,37097,37098,37878,39666,40068,40070,40072,40073,40076,40109,43463,43464,43465,43466,44325,44327,44329,44330,44331,45621",
+	["Consumable.Buff Type.Guardian"]="1177,1180,1478,1711,2458,3013,3382,3383,3388,3389,3825,3826,4421,4422,5997,8411,8423,8827,8951,9088,9179,10305,10307,10592,11564,12455,12457,12458,12459,13445,20004,20080,20081,22834,22848,23444,27500,27502,32062,32063,32068,33459,33461,37093,37094,40078,40097,43467,44328,44332",
+	["Consumable.Buff Type.Flask"]="13510,35716,13512,32766,32601,32599,13506,32900,33208,32598,22854,32600,32765,32597,32767,32898,35717,32899,22861,22851,32596,32764,13511,22853,22866,13513,32901,40079,40082,40083,40084,40404,46376,46377,46378,46379,47499",
+
+	-- NOT AUTOGENNED. These are used by AutoBar.  Please check with the AutoBar author before making major changes
+	["Consumable.Buff Group.General.Self"]="m,Consumable.Buff.Absorb.Self.Damage,Consumable.Buff.Haste,Consumable.Buff.Health.Self,Consumable.Buff.Regen Health.Self,Consumable.Buff.Resilience.Self,Consumable.Buff.Spirit.Self,Consumable.Buff.Stamina.Self,Consumable.Buff.Dodge.Self,Consumable.Buff.Resistance.Self,Consumable.Buff.Speed.Self,Consumable.Buff.Absorb.Self,Consumable.Buff.Spell Reflect.Self,Consumable.Buff.Free Action,Consumable.Buff.Water Breathing",
+	["Consumable.Buff Group.General.Target"]="m,Consumable.Buff.Health.Target,Consumable.Buff.Regen Health.Target,Consumable.Buff.Spirit.Target,Consumable.Buff.Stamina.Target,Consumable.Buff.Dodge.Target,Consumable.Buff.Resistance.Target,Consumable.Buff.Absorb.Target",
+	["Consumable.Buff Group.Caster.Self"]="m,Consumable.Buff.Casting Speed.Self,Consumable.Buff.Healing.Self,Consumable.Buff.Intellect.Self,Consumable.Buff.Regen Mana.Self,Consumable.Buff.Shadow Power,Consumable.Buff.Spell Crit.Self,Consumable.Buff.Spell Damage.Self",
+	["Consumable.Buff Group.Caster.Target"]="m,Consumable.Buff.Intellect.Target",
+	["Consumable.Buff Group.Melee.Self"]="m,Consumable.Buff.Armor.Self,Consumable.Buff.Attack Damage,Consumable.Buff.Agility.Self,Consumable.Buff.Attack Power.Self,Consumable.Buff.Attack Speed.Self,Consumable.Buff.Strength.Self,Consumable.Buff.Hit Rating.Self",
+	["Consumable.Buff Group.Melee.Target"]="m,Consumable.Buff.Armor.Target,Consumable.Buff.Agility.Target,Consumable.Buff.Attack Power.Target,Consumable.Buff.Attack Speed.Target,Consumable.Buff.Strength.Target",
+
+	["Consumable.Buff Pet"]="27656,33874,43005",
+
+	-- Items on Health Stone vs Potion cooldown, each with Health, Mana & Rejuvenation subsets.
+	["Consumable.Cooldown.Potion.Combat.Battle"]="13442,22828,22837,22838,22839,40211,40212",
+	["Consumable.Cooldown.Potion.Combat.Guardian"]="4623,13455,22849,40093",
+	["Consumable.Cooldown.Potion.Health.Anywhere"]="43569:1920",
+	["Consumable.Cooldown.Potion.Health.Basic"]="118:80,858:160,4596:160,929:320,1710:520,11562:670,3928:800,18839:800,13446:1400,31838:1400,31839:1400,31852:1400,31853:1400,28100:1400,33092:2000,23822:2000,22829:2000,32947:2000,33934:2000,39327:2000,39671:2000,33447:3600,41166:3600",
+	["Consumable.Cooldown.Potion.Health.Blades Edge"]="32784:1400,32910:1400",
+	["Consumable.Cooldown.Potion.Health.Coilfang"]="32904:2000",
+	["Consumable.Cooldown.Potion.Health.Tempest Keep"]="32905:2000",
+	["Consumable.Cooldown.Potion.Health.PvP"]="17349:640,17348:1120",
+	["Consumable.Cooldown.Potion.Mana.Anywhere"]="43570:500",
+	["Consumable.Cooldown.Potion.Mana.Basic"]="2455:160,3385:320,35287:470,3827:520,6149:800,13443:1200,18841:1200,13444:1800,31840:1800,31841:1800,31854:1800,31855:1800,28101:1800,40067:1800,33093:2400,23823:2400,22832:2400,32948:2400,33935:2400,31677:3200,42545:4300,33448:4300",
+	["Consumable.Cooldown.Potion.Mana.Blades Edge"]="32909:2400,32783:2400",
+	["Consumable.Cooldown.Potion.Mana.Coilfang"]="32903:2400",
+	["Consumable.Cooldown.Potion.Mana.Pvp"]="17351:1120,17352:640",
+	["Consumable.Cooldown.Potion.Mana.Tempest Keep"]="32902:2400",
+	["Consumable.Cooldown.Potion.Rejuvenation.Regular"]="2456:120,11952:425,9144:750,29531:750,18253:1600,22850:2200,34440:2200,40087:3300,40077:3800",
+	["Consumable.Cooldown.Potion.Rejuvenation.Dreamless Sleep"]="12190:1200,20002:2100,22836:3600,40081:5400",
+	["Consumable.Cooldown.Potion.Rune"]="39327:50",
+	["Consumable.Cooldown.Stone.Combat.Battle"]="22788",
+	["Consumable.Cooldown.Stone.Combat.Guardian"]="22795,22797",
+	["Consumable.Cooldown.Stone.Health.Other"]="11951:800,32578:2000,",
+	["Consumable.Cooldown.Stone.Health.Statue"]="25498:8,25880:16,25881:24,25882:36,25883:50",
+	["Consumable.Cooldown.Stone.Health.Warlock"]="m,Consumable.Warlock.Healthstone,",
+	["Consumable.Cooldown.Stone.Mana.Other"]="23354:60,23386:100,31451:300,20520:1200,12662:1200",
+	["Consumable.Cooldown.Stone.Mana.Mana Stone"]="36799:600",
+	["Consumable.Cooldown.Drums.Bombs"]="m,Misc.Explosives",
+	["Consumable.Cooldown.Drums.Drums"]="29528:1,29530:2,29531:3,29529:4,29532:5,49633:6,49634:7",
+	["Consumable.Cooldown.Drums.Nets"]="24268:70,24269:80,41509:83",
+	["Consumable.Cooldown.Drums.Other"]="1127,1178,1191,1399,1434,2091,3456,4384,4388,4391,4395,4852,4941,5332,10646,10719,10830,11565,11566,13509,13514,15778,21325,23379,23841",
+
+	--NOT AUTOGENNED (All food.  I'd like to get this mined, but the filters for these items on allakhazam and wowhead are nonexistant.)
+	-- Basic foods regenerate health only.
+	-- Combo Foods regenerate hp & mana.  Please add Combo foods to the Combo Health and Combo Mana categories below as well.
+	-- Bonus foods provide some kind of buff which is listed by buff under Consumable.Food.Buff.*  Please add items to both lists.
+	["Consumable.Food.Bread"]="m,Consumable.Food.Edible.Bread.Basic,Consumable.Food.Edible.Bread.Bonus,Consumable.Food.Edible.Bread.Conjured,Consumable.Food.Edible.Bread.Combo.Conjured,Consumable.Food.Edible.Bread.Combo.Non-Conjured",
+	["Consumable.Food.Cheese"]="m,Consumable.Food.Edible.Cheese.Basic,Consumable.Food.Edible.Cheese.Bonus",
+	["Consumable.Food.Fish"]="m,Consumable.Food.Edible.Fish.Basic,Consumable.Food.Edible.Fish.Bonus,Consumable.Food.Inedible.Fish,Consumable.Food.Edible.Fish.Combo",
+	["Consumable.Food.Fruit"]="m,Consumable.Food.Edible.Fruit.Basic,Consumable.Food.Edible.Fruit.Bonus,Consumable.Food.Edible.Fruit.Combo",
+	["Consumable.Food.Fungus"]="m,Consumable.Food.Edible.Fungus.Basic,Consumable.Food.Edible.Fungus.Bonus,Consumable.Food.Edible.Fungus.Combo,Consumable.Food.Inedible.Fungus",
+	["Consumable.Food.Meat"]="m,Consumable.Food.Edible.Meat.Basic,Consumable.Food.Edible.Meat.Bonus,Consumable.Food.Inedible.Meat",
+	["Consumable.Food.Misc"]="m,Consumable.Food.Edible.Misc.Basic,Consumable.Food.Edible.Misc.Bonus",
+	["Consumable.Food.Edible.Basic.Conjured"]="m,Consumable.Food.Edible.Bread.Conjured,Consumable.Food.Edible.Bread.Combo.Conjured",
+	["Consumable.Food.Edible.Basic.Non-Conjured"]="m,Consumable.Food.Edible.Bread.Basic,Consumable.Food.Edible.Cheese.Basic,Consumable.Food.Edible.Fish.Basic,Consumable.Food.Edible.Fruit.Basic,Consumable.Food.Edible.Fungus.Basic,Consumable.Food.Edible.Meat.Basic,Consumable.Food.Edible.Misc.Basic",
+	["Consumable.Food.Edible.Bonus"]="m,Consumable.Food.Edible.Bread.Bonus,Consumable.Food.Edible.Cheese.Bonus,Consumable.Food.Edible.Fish.Bonus,Consumable.Food.Edible.Fruit.Bonus,Consumable.Food.Edible.Fungus.Bonus,Consumable.Food.Edible.Meat.Bonus,Consumable.Food.Edible.Misc.Bonus",
+	["Consumable.Food.Edible.Combo.Conjured"]="m,Consumable.Food.Edible.Bread.Combo.Conjured",
+	["Consumable.Food.Edible.Combo.Non-Conjured"]="m,Consumable.Food.Edible.Misc.Combo,Consumable.Food.Edible.Fungus.Combo,Consumable.Food.Edible.Fruit.Combo,Consumable.Food.Edible.Fish.Combo,Consumable.Food.Edible.Bread.Combo.Non-Conjured",
+	["Consumable.Food.Edible.Battleground.Alterac Valley.Combo"]="19301:4410",
+	["Consumable.Food.Edible.Battleground.Arathi Basin.Basic"]="20063:1074,20064:1608,20062:2148,20223:1074,20224:1608,20222:2148,20226:1074,20227:1608,20225:2148",
+	["Consumable.Food.Edible.Battleground.Warsong Gulch.Basic"]="19062:1074,19061:1608,19060:2148",
+	["Consumable.Food.Edible.Bread.Basic"]="19696:50,20857:61,4540:61,4541:243,4542:552,4544:874,16169:874,4601:1392,8950:2148,23160:2148,29394:7500,27855:4320,28486:4320,24072:243,30816:61,29449:7500,42432:13200,42428:13200,42433:13200,42778:15000,33449:13200,42431:15000,42430:13200,44609:13200,42434:15000,42429:15000,35950:15000",
+	["Consumable.Food.Edible.Bread.Combo.Conjured"]="65517:4320,34062:7500,43518:13200,43523:15000",
+	["Consumable.Food.Edible.Bread.Combo.Non-Conjured"]="13724:2148,19301:4410,34780:7500",
+	["Consumable.Food.Edible.Bread.Bonus"]="2683:243,3666:552,17197:61,43490:0,33924:0",
+	["Consumable.Food.Edible.Bread.Conjured"]="1113:243,1114:552,1487:874,5349:61,8075:1392,8076:2148,22895:4320,22019:7500",
+	["Consumable.Food.Edible.Cheese.Basic"]="2070:61,414:243,17406:243,422:552,1707:874,3927:1392,8932:2148,27857:4320,29448:7500,30458:4320,44607:15000,35952:15000,44608:13200,44749:13200,33443:13200",
+	["Consumable.Food.Edible.Cheese.Bonus"]="3665:552,12218:1392",
+	["Consumable.Food.Edible.Fish.Basic"]="19996:50,1326:243,6316:243,21552:1392,16766:1392,2682:294,4592:243,4593:552,4594:874,5095:243,6290:61,6887:1392,787:61,8364:874,8957:2148,8959:1392,13546:1392,13930:1392,13935:2148,27661:4320,27858:4320,12238:243,13933:2148,29452:7500,33048:7500,35285:7500,43646:7500,33451:13200,43571:13200,44049:15000,35951:15000,44071:15000",
+	["Consumable.Food.Edible.Fish.Combo"]="21071:155,2682:294,21153:567,33004:2148,33053:7500,34760:15000,34761:15000,34759:15000,45932:15000",
+	["Consumable.Food.Edible.Fish.Bonus"]="43491:0,43492:0,27666:7500,27665:7500,27663:4320,21072:378,21217:840,13932:874,13929:874,13934:1933,13927:1392,27664:7500,13928:874,5476:243,6038:874,12216:1392,5527:552,16971:1392,27662:4320,30155:4320,33867:4320,27667:7500,33052:7500,37452:13200,43572:13200,43652:13200,42942:15000,42999:15000,43000:15000,34767:15000,34762:15000,34769:15000,34765:15000,34764:15000,34766:15000,34763:15000,42996:15000,34768:15000,42993:15000,42998:15000,43268:15000,39691:15000",
+	["Consumable.Food.Edible.Fruit.Basic"]="29450:7500,19994:50,22324:2148,4536:61,4537:243,4538:552,4539:874,4602:1392,8953:2148,16168:1392,21033:2148,21031:2148,21030:1392,29393:4320,27856:4320,43087:15000,37252:13200,40356:13200,35948:15000,35949:13200",
+	["Consumable.Food.Edible.Fruit.Combo"]="28112:4410,20031:2550",
+	["Consumable.Food.Edible.Fruit.Bonus"]="32721:6000,20516:48,24009:4320,11950:1933,13810:1933",
+	["Consumable.Food.Edible.Fungus.Basic"]="4604:61,4605:243,4606:552,4607:874,4608:1392,8948:2148,27859:4320,30355:7500,29453:7500,41751:4320,33452:13200,35947:15000",
+	["Consumable.Food.Edible.Fungus.Combo"]="3448:294",
+	["Consumable.Food.Edible.Fungus.Bonus"]="24539:4320,24008:4320",
+	["Consumable.Food.Edible.Meat.Basic"]="7097:61,21235:50,19995:50,2679:61,17407:874,6807:874,19224:874,19223:61,117:61,2287:243,19304:243,2681:61,2685:552,3770:552,3771:874,19305:552,4599:1392,5478:552,6890:243,19306:1392,9681:1392,9681:61,8952:2148,11444:2148,30610:4320,27854:4320,38427:4320,23495:61,17119:243,11444:2148,29451:7500,32685:7500,32686:7500,33254:7500,38428:7500,40359:13200,35953:15000,40358:13200,44072:15000,33454:13200,40202:15000,38706:15000,34747:15000,41729:15000",
+	["Consumable.Food.Edible.Meat.Bonus"]="12224:61,24105:61,27635:61,27636:243,35563:1933,35565:1933,27655:4320,27657:7500,31673:7500,27660:7500,31672:7500,27651:4320,21023:2550,27658:7500,29292:2148,1017:552,2680:61,2684:243,2687:243,2888:61,3220:243,3662:243,3726:552,3727:552,3728:874,3729:874,4457:874,5472:61,5474:61,5477:243,5479:552,5480:552,12209:552,12210:874,12213:874,13851:874,20074:874,17222:1392,18045:1392,27659:7500,33872:7500,34410:7500,42997:15000,42995:15000,34748:15000,34754:15000,34758:15000,34752:15000,42994:15000,34751:15000,34756:15000,34755:15000,34757:15000,34750:15000,34749:15000,43001:15000,43488:0,34125:15000,42779:13200",
+	["Consumable.Food.Edible.Meat.Combo"]="62653:67500,62658:67500,62662:96000,62664:96000,62665:96000,62670:96000",
+	["Consumable.Food.Edible.Misc.Basic"]="961:61,4656:61,17344:61,5066:243,3448:294,5473:294,17407:874,19225:2148,733:552,5526:552,7228:552,6316:243,13933:2148,16166:61,16167:243,16170:552,16171:2148,18255:1392,29412:4320,24338:2148,24408:4320,33048:7500",
+	["Consumable.Food.Edible.Misc.Combo"]="21215:100,20390:75,20389:75,20388:75,21537:100",
+	["Consumable.Food.Edible.Misc.Bonus"]="21254:48,30357:7500,30361:7500,13931:874,18254:1933,24540:2148,22645:243,28501:4320,30358:7500,30359:7500,20452:2148,724:243,1082:552,3663:552,3664:552,5525:243,6888:61,11584:61,12212:874,12214:874,12215:1392,17198:61,23756:61",
+	["Consumable.Food.Inedible.Fish"]="2675,4603:874,4655,5468,5503,5504,6289:61,6291:30,6303:30,6308:243,6317:61,6361:61,6362:552,7974,8365:552,12206,13754:874,13755:874,13756:874,13758:874,13759:874,13760:874,13889:1392,13893:1392,15924,13890,13888:1392,27422,27435,27437,27438,27439,27429,27425,24477,2674,27515,27516,33823,33824,41812,41808,41805,41800,41807,41810,41809,41814,41802,41801,41806,41813,41803,43647,36782,12207,43501,3685,6889",
+	["Consumable.Food.Inedible.Meat"]="729,20424,769,1015,1081,2672,2673,2677,2924,3173,3404,3667,3712,3730,3731,4739,5051,5465,5467,5469,5470,5471,12037,12184,12202,12203,12204,12205,12208,12223,27669,27671,27677,27678,22644,27668,23676,31670,27674,31671,27682,27681,35562,1080,21024,2886,723,43011,43010,43009,33120,35794,43012,43013,34736",
+	["Consumable.Food.Inedible.Fungus"]="27676",
+	["Consumable.Food.Feast"]="43015,43478,34753,43480",
+
+
+	-- Consumable.Food.Buff lists the *.Bonus foods from above by effect, not amount healed.  Multiple buffs are listed under each individual buff.
+	["Consumable.Food.Bonus"]="m,Consumable.Food.Edible.Bread.Bonus,Consumable.Food.Edible.Cheese.Bonus,Consumable.Food.Edible.Fish.Bonus,Consumable.Food.Edible.Fruit.Bonus,Consumable.Food.Edible.Fungus.Bonus,Consumable.Food.Edible.Meat.Bonus,Consumable.Food.Edible.Misc.Bonus",
+
+	["Consumable.Food.Buff.Agility"]="13928:10,27664:20,30358:20,27659:20,42999:40",
+	["Consumable.Food.Buff.Attack Power"]="35563:24,27655:40,34748:60,34754:80,34766:80,34762:60,43268:60",
+	["Consumable.Food.Buff.Critical Rating"]="34756:40,34750:30,39691:30,34764:30,34768:40",
+	["Consumable.Food.Buff.Dodge"]="43652:30",
+	["Consumable.Food.Buff.Expertise"]="42994:40",
+	["Consumable.Food.Buff.Haste Rating"]="34751:30,34757:40,34125:30,42942:30",
+	["Consumable.Food.Buff.Healing"]="35565:14,27666:44,30357:44",
+	["Consumable.Food.Buff.Hit Rating"]="33872:20,42996:40,44953:40",
+	["Consumable.Food.Buff.HP Regen"]="13932:6",
+	["Consumable.Food.Buff.Intellect"]="18254:10",
+	["Consumable.Food.Buff.Mana Regen"]="21072:3,21217:6,13931:8,27663:8,34758:16,34752:12,34765:12,42993:16",
+	["Consumable.Food.Buff.Mastery"]="62653:60,62663:90",
+	["Consumable.Food.Buff.Spell Damage"]="35565:14,31673:23,27657:23,30361:23,27665:23,34755:46,34767:46,34763:35,34749:35,43268:35",
+	["Consumable.Food.Buff.Spirit"]="2680:2,2888:2,5472:2,5474:2,6888:2,11584:2,12224:2,17197:2,17198:2,24105:2,27635:2,23756:2,724:4,2683:4,2684:4,2687:4,3220:4,3662:4,5476:4,5477:4,5525:4,22645:4,27636:4,1017:6,1082:6,3663:6,3664:6,3665:6,3666:6,3726:6,3727:6,5479:6,5480:6,5527:6,12209:6,3728:8,3729:8,4457:8,6038:8,12210:8,12212:8,12213:8,12214:8,13851:8,20074:8,13929:10,24539:10,12215:12,12216:12,16971:12,17222:12,18045:12,12218:12,24540:14,27651:20,27655:20,27657:20,27658:20,27659:20,27660:20,27662:20,27664:20,27665:20,27666:20,27667:20,30155:20,30357:20,30358:20,30359:20,30361:20,31672:20,31673:20,20516:20,21254:20,32721:20,33052:20,33867:20,33872:20,34410:20,42779:25,42998:40",
+	["Consumable.Food.Buff.Stamina"]="2680:2,2888:2,5472:2,5474:2,6888:2,11584:2,12224:2,17197:2,17198:2,24105:2,27635:2,23756:2,724:4,2683:4,2684:4,2687:4,3220:4,3662:4,5476:4,5477:4,5525:4,22645:4,27636:4,1017:6,1082:6,3663:6,3664:6,3665:6,3666:6,3726:6,3727:6,5479:6,5480:6,5527:6,12209:6,3728:8,3729:8,4457:8,6038:8,12210:8,12212:8,12213:8,12214:8,13851:8,20074:8,13927:10,13934:10,11950:10,24009:10,28501:10,24008:10,12215:12,12216:12,16971:12,17222:12,18045:12,12218:12,24540:14,30155:20,27651:20,27660:20,27662:20,31672:20,20516:20,21254:20,21023:25,27663:20,32721:20,33867:20,34410:20,42779:25,27667:30,33052:30,42995:40,34748:30,34754:40,34758:40,34752:30,42994:40,34751:30,34756:40,34755:40,34757:40,34750:30,39691:30,34125:30,34749:30,43268:30,42942:40,42999:40,43000:40,34767:40,34762:40,34769:40,34765:40,34764:40,34766:40,34763:40,42996:40,34768:40,42993:40,42998:40,44953:40",
+	["Consumable.Food.Buff.Strength"]="13810:10,20452:20,29292:20,30359:20,27658:20,43000:40",
+
+	["Consumable.Food.Buff.Other"]="6657,12217,33866,42997,43001,43491,43492,43488,43490,33924,37452,43572",
+
+	["Consumable.Food.Combo Health"]="21071:155,21153:567,2682:294,3448:294,13724:2148,33004:2148,20031:2550,19301:4410,28112:4410,32722:2148,33053:7500,34062:7500,34780:7500,43518:13200,43523:15000,34760:15000,34761:15000,34759:15000,45932:18000",
+	["Consumable.Food.Combo Mana"]="21071:315,21153:882,2682:294,3448:294,33004:2934,13724:4410,20031:4410,19301:4410,28112:4410,32722:4410,33053:7200,34062:7200,34780:7200,43518:9180,43523:12960,34760:12960,34761:12960,34759:12960,45932:15000",
+	["Consumable.Food.Combo Percent"]="21537:100,20388:75,20389:75,20390:75,21215:100",
+	["Consumable.Food.Percent.Basic"]="19696:50,19994:50,19995:50,21235:50,19996:50",
+	["Consumable.Food.Percent.Bonus"]="20516:48,21254:48,44791:50",
+
+	-- Deprecated: Consumable.Potion.Buff.Armor - Consumable.Potion.Other.Rage
+	-- See Consumable.Buff.*
+	["Consumable.Potion.Buff.Armor"]="5997:50,8951:250,3389:150,13445:450,4623:1000,13455:2000",
+	["Consumable.Potion.Buff.Attack Power"]="9224:265,12820:35",
+	["Consumable.Potion.Buff.Elemental Protection"]="6048:900,6049:1300,6050:1800,6051:400,6052:1800,13457:2600,13459:2600,13456:2600,13458:2600,13461:2600",
+	["Consumable.Potion.Buff.Health"]="2458:27,3825:120,13510:1200",
+	["Consumable.Potion.Buff.Mana"]="13511:2000",
+	["Consumable.Potion.Buff.Other"]="3387,10592,3823,2459,5996,3828,9233,9154,9172,5634,9197,6372,13506,8529",
+	["Consumable.Potion.Buff.Regen"]="3382:2,3388:6,3826:12",
+	["Consumable.Potion.Buff.Resistance"]="9088:10,3384:25,9036:50,13513:25",
+	["Consumable.Potion.Buff.Spell Damage"]="6373:10,17708:15,13454:35,9155:20,9264:40,13512:70,32900:70",
+	["Consumable.Potion.Buff.Stat.Agility"]="2457:4,3390:8,8949:15,9187:25,13452:25,22831:35",
+	["Consumable.Potion.Buff.Stat.Intellect"]="3383:6,13447:18,9179:25",
+	["Consumable.Potion.Buff.Stat.Spirit"]="13447:18",
+	["Consumable.Potion.Buff.Stat.Stamina"]="13453:18",
+	["Consumable.Potion.Buff.Stat.Strength"]="2454:4,6662:8,3391:8,13453:18,9206:25",
+	["Consumable.Potion.Other.Energy"]="7676,27553",
+	["Consumable.Potion.Other.Rage"]="5631:30,5633:45,13442:45",
+
+	--NOT AUTOGENNED (All potions.  I'd like to get this mined, but the filters for these items on allakhazam and wowhead are nonexistant.)
+	["Consumable.Potion.Other.Cure"]="3386,13462,9030,2633",
+	["Consumable.Potion.Recovery.Dreamless Sleep"]="12190:1200,20002:2100,22836:3600",
+	["Consumable.Potion.Recovery.Health.Anywhere"]="43569:1920",
+	["Consumable.Potion.Recovery.Healing.Basic"]="118:80,858:160,4596:160,929:320,1710:520,11562:670,3928:800,18839:800,13446:1400,31838:1400,31839:1400,31852:1400,31853:1400,28100:1400,33092:2000,23822:2000,22829:2000,32947:2000,33934:2000,33447:3600,41166:3600",
+	["Consumable.Potion.Recovery.Healing.Blades Edge"]="32784:1400,32910:1400",
+	["Consumable.Potion.Recovery.Healing.Coilfang"]="32904:2000",
+	["Consumable.Potion.Recovery.Healing.Tempest Keep"]="32905:2000",
+	["Consumable.Potion.Recovery.Healing.PvP"]="17349:640,17348:1120",
+	["Consumable.Potion.Recovery.Mana.Anywhere"]="43570:500",
+	["Consumable.Potion.Recovery.Mana.Basic"]="2455:160,3385:320,35287:470,3827:520,6149:800,13443:1200,18841:1200,13444:1800,31840:1800,31841:1800,31854:1800,31855:1800,28101:1800,33093:2400,23823:2400,22832:2400,32948:2400,33935:2400,31677:3200,42545:4300,33448:4300",
+	["Consumable.Potion.Recovery.Mana.Blades Edge"]="32909:2400,32783:2400",
+	["Consumable.Potion.Recovery.Mana.Coilfang"]="32903:2400",
+	["Consumable.Potion.Recovery.Mana.Pvp"]="17351:1120,17352:640",
+	["Consumable.Potion.Recovery.Mana.Tempest Keep"]="32902:2400",
+	["Consumable.Potion.Recovery.Rejuvenation"]="2456:120,11952:425,9144:750,29531:750,18253:1600,22850:2200,34440:2200",
+
+	["Consumable.Scroll"]="954,955,1180,1181,1477,1478,1711,1712,2289,2290,3012,3013,4419,4421,4422,4424,4425,4426,10305,10306,10307,10308,10309,10310,27498,27499,27500,27501,27502,27503,33457,33458,33459,33460,33461,33462,37091,37092,37093,37094,37097,37098,37118,43463,43464,43465,43466,43467,44314,44315,49632,49768,63303,63304,63305,63306,63307,67231",
+
+	["Consumable.Leatherworking.Drums"]="m,Consumable.Cooldown.Drums.Drums",
+	["Consumable.Tailor.Net"]="m,Consumable.Cooldown.Drums.Nets",
+
+	--NOT AUTOGENNED These are items you need to (right) click to use.  If it makes no sense in a button, it does not belong here.  Permanent: Vargoth's Staff, Pony Keg, etc. Quest: removed by Blizzard on quest completion. Replenished: dailies like booterang or others you can replenish like Halaa bombs.
+	["Consumable.Warlock.Firestone"]="13700:75,22128:141",
+	["Consumable.Warlock.Healthstone"]="5509:500,5510:800,5511:250,5512:100,9421:1200,19004:110,19005:120,19006:275,19007:300,19008:550,19009:600,19010:880,19011:960,19012:1320,19013:1440,22103:2080,22104:2288,22105:2496,36889:3500,36890:3850,36891:4200,36892:4280,36893:4708,36894:5136",
+	["Consumable.Warlock.Soulstone"]="5232:18,16892:30,16893:40,16895:50,16896:60,22116:70,36895:76",
+	["Consumable.Warlock.Spellstone"]="13602:11,36896:20,36897:20",
+
+	--NOT AUTOGENNED (All water.  I'd like to get this mined, but the filters for these items on allakhazam and wowhead are nonexistant.)
+	["Consumable.Water.Basic"]="1401:60,159:151,1179:436,17404:436,1205:835,9451:835,19299:835,1708:1344,4791:1344,10841:1344,17405:1344,1645:1992,19300:1992,8766:2934,23161:2934,23585:2934,24006:2934,38429:2934,32455:4200,18300:4200,24007:4200,28399:5100,29454:5100,38430:5100,27860:7200,29395:7200,30457:7200,29401:7200,33042:7200,32668:7200,32453:7200,35954:7200,37253:7200,38431:7200,44750:7200,38698:9180,42777:12960,43086:9180,40357:7200,33445:12960,33444:9180,43236:12960,41731:12960,39520:12960",
+	["Consumable.Water.Battleground.Arathi Basin"]="20063:2202,20064:3306,20062:4410,20223:2202,20224:3306,20222:4410,20226:2202,20227:3306,20225:4410",
+	["Consumable.Water.Battleground.Warsong Gulch"]="19062:2202,19061:3306,19060:4410",
+	["Consumable.Water.Bonus"]="34017:151,34018:436,34019:835,34020:1344,34021:1992,34022:2934,33034:4200,13813:4410,19318:4410,33035:7200,33036:7200,33825:7200",
+	["Consumable.Water.Buff.Spell Crit Rating"]="33825:20",
+	["Consumable.Water.Buff.Spirit"]="34017:2,34018:4,34019:6,34020:8,13813:10,19318:10,34021:12,34022:14,33034:20,33035:20,33036:20,33825:20",
+	["Consumable.Water.Buff.Stamina"]="34017:2,34018:4,34019:6,34020:8,34021:12,34022:14,33034:20,33035:20",
+	["Consumable.Water.Buff.Strength"]="33036:20",
+	["Consumable.Water.Conjured"]="5350:151,2288:436,2136:835,3772:1344,8077:1992,8078:2934,8079:4200,30703:5100,22018:7200",
+	["Consumable.Water.Percentage"]="19997:60,21241:60",
+
+	--!!Add to miner
+	["Consumable.Weapon Buff.Firestone"]="41170:7,41169:14,41171:21,41172:28,40773:35,41173:42,41174:49",
+	["Consumable.Weapon Buff.Misc"]="3824,3829,31535,23123,34538,34539,44065",
+	["Consumable.Weapon Buff.Oil.Mana"]="20745:4,20747:8,20748:12,22521:14",
+	["Consumable.Weapon Buff.Oil.Wizard"]="20744:8,20746:16,20750:24,20749:36,22522:42",
+	["Consumable.Weapon Buff.Poison.Anesthetic"]="21835:153,43237:231",
+	["Consumable.Weapon Buff.Poison.Crippling"]="3775:50",
+	["Consumable.Weapon Buff.Poison.Deadly"]="2892:36,2893:52,8984:80,8985:108,20844:136,22053:144,22054:180,43232:244,43233:296",
+	["Consumable.Weapon Buff.Poison.Instant"]="6947:22,6949:34,6950:50,8926:76,8927:105,8928:130,21927:170,43230:245,43231:300",
+	["Consumable.Weapon Buff.Poison.Mind Numbing"]="5237:60",
+	["Consumable.Weapon Buff.Poison.Wound"]="10918:17,10920:25,10921:38,10922:53,22055:112,43234:188,43235:231",
+	["Consumable.Weapon Buff.Spellstone"]="41191:10,41192:20,41193:30,41194:40,41195:50,41196:60",
+	["Consumable.Weapon Buff.Stone.Sharpening Stone"]="23122,2862:2,2863:3,2871:4,7964:6,12404:8,18262,23528:12,23529:14",
+	["Consumable.Weapon Buff.Stone.Weight Stone"]="3239:2,3240:3,3241:4,7965:6,12643:8,28420:12,28421",
+})
diff --git a/libs/LibPeriodicTable-3.1-Consumable/LibPeriodicTable-3.1-Consumable.toc b/libs/LibPeriodicTable-3.1-Consumable/LibPeriodicTable-3.1-Consumable.toc
new file mode 100644
index 0000000..0657e92
--- /dev/null
+++ b/libs/LibPeriodicTable-3.1-Consumable/LibPeriodicTable-3.1-Consumable.toc
@@ -0,0 +1,16 @@
+## Interface: 30200
+## LoadOnDemand: 1
+## Title: Lib: PeriodicTable-3.1 [|cffeda55fConsumable|r]
+## Notes: PeriodicTable data module.
+## Author: Nymbia
+## Version: 3.1
+## Dependencies: LibPeriodicTable-3.1
+## X-Category: Library
+## X-License: LGPL v2.1
+## X-PeriodicTable-3.1-Module: Consumable
+## X-Curse-Packaged-Version: r295
+## X-Curse-Project-Name: LibPeriodicTable-3.1
+## X-Curse-Project-ID: libperiodictable-3-1
+## X-Curse-Repository-ID: wow/libperiodictable-3-1/mainline
+
+LibPeriodicTable-3.1-Consumable.lua
diff --git a/libs/LibPeriodicTable-3.1-Misc/LibPeriodicTable-3.1-Misc.lua b/libs/LibPeriodicTable-3.1-Misc/LibPeriodicTable-3.1-Misc.lua
new file mode 100644
index 0000000..5a28637
--- /dev/null
+++ b/libs/LibPeriodicTable-3.1-Misc/LibPeriodicTable-3.1-Misc.lua
@@ -0,0 +1,152 @@
+-- (c) 2007 Nymbia.  see LGPLv2.1.txt for full details.
+--DO NOT MAKE CHANGES TO THIS FILE BEFORE READING THE WIKI PAGE REGARDING CHANGING THESE FILES
+if not LibStub("LibPeriodicTable-3.1", true) then error("PT3 must be loaded before data") end
+LibStub("LibPeriodicTable-3.1"):AddData("Misc", gsub("$Rev: 295 $", "(%d+)", function(n) return n+90000 end), {
+	["Misc.Bag.Basic"]="37606:1,20474:4,22976:4,23389:4,805:6,828:6,2082:6,2101:6,2102:6,4238:6,4496:6,4957:6,5081:6,5439:6,5441:6,5571:6,5572:6,5762:6,6756:6,7278:6,7279:6,22571:6,856:8,1537:8,2657:8,3233:8,3343:8,3573:8,3574:8,4240:8,4241:8,4498:8,5573:8,5574:8,5763:8,11362:8,11363:8,11845:8,22243:8,23852:8,804:10,857:10,918:10,932:10,933:10,1470:10,1729:10,3352:10,4245:10,4497:10,5575:10,5576:10,5764:10,5765:10,6446:10,7371:10,7372:10,22244:10,1652:12,1725:12,3604:12,3605:12,4499:12,8217:12,8218:12,10050:12,10051:12,38145:12,1685:14,3914:14,9587:14,11324:14,14046:14,19291:14,21340:14,29143:14,29144:14,30744:14,67387:14,2662:16,2663:16,4500:16,10959:16,11742:16,14155:16,19319:16,19320:16,20400:16,21341:16,21841:16,34100:16,14156:18,17966:18,19914:18,21342:18,21843:18,22679:18,27680:18,29118:18,33117:18,34099:18,44447:18,21872:20,21876:20,34067:20,34105:20,34106:20,34845:20,35516:20,41599:20,44448:20,50317:20,38082:22,41597:22,41600:22,43345:22,49295:22,50316:22,18714:24,51809:24,23162:36",
+	["Misc.Bag.Special.Ammo"]="2102:6,5441:8,7279:8,3574:10,11363:10,3604:12,7372:14,2663:16,8218:16,19320:16,29118:18,34099:20,34106:24,44447:28",
+	["Misc.Bag.Special.Enchanting"]="22246:16,22248:20,30748:20,67389:20,22249:24,21858:28,41598:32",
+	["Misc.Bag.Special.Engineering"]="30745:20,67390:20,23774:24,23775:32",
+	["Misc.Bag.Special.Herb"]="22250:12,22251:20,67393:20,22252:24,38225:28,45773:32",
+	["Misc.Bag.Special.Inscription"]="39489:10,67394:20,44446:32",
+	["Misc.Bag.Special.Jewelcrafting"]="30747:20,67392:20,24270:24",
+	["Misc.Bag.Special.Leatherworking"]="34482:20,67395:20,34490:24,38399:28",
+	["Misc.Bag.Special.Mining"]="30746:20,67396:20,29540:28,38347:32",
+	["Misc.Bag.Special.Quiver"]="2101:6,5439:8,7278:8,3573:10,11362:10,3605:12,7371:14,2662:16,8217:16,19319:16,18714:18,29143:18,29144:18,34100:20,34105:24,44448:28",
+	["Misc.Bag.Special.Soul Shard"]="22243:12,22244:16,21340:20,21341:24,21342:28,21872:28,41597:32",
+
+	["Misc.Container.ItemsInType.Soul Shard"]="6265",
+	["Misc.Container.ItemsInType.Herb"]="765,785,1401,2263,2447,2449,2450,2452,2453,3355,3356,3357,3358,3369,3818,3819,3820,3821,4625,5056,5168,8153,8831,8836,8838,8839,8845,8846,10286,11018,11020,11022,11024,11040,11514,11951,11952,13463,13464,13465,13466,13467,13468,16205,16208,17034,17035,17036,17037,17038,17760,18297,19726,19727,21886,22094,22147,22575,22710,22785,22786,22787,22788,22789,22790,22791,22792,22793,22794,22795,22797,23329,23501,23788,24245,24246,24401,31300,32468,35625,36901,36902,36903,36904,36905,36906,36907,36908,37704,37921,39969,39970,44614",
+	["Misc.Container.ItemsInType.Enchanting"]="6217,6218,6338,6339,6342,6344,6346,6347,6348,6349,6375,6377,7067,7068,7075,7076,7077,7078,7080,7081,7082,7972,10938,10939,10940,10978,10998,11038,11039,11081,11082,11083,11084,11098,11101,11128,11130,11134,11135,11137,11138,11139,11144,11145,11150,11151,11152,11163,11164,11165,11166,11167,11168,11174,11175,11176,11177,11178,11202,11203,11204,11205,11206,11207,11208,11223,11224,11225,11226,11813,12803,12808,12810,14343,14344,16202,16203,16204,16206,16207,16214,16215,16216,16217,16218,16219,16220,16221,16222,16223,16224,16242,16243,16244,16245,16246,16247,16248,16249,16250,16251,16252,16253,16254,16255,17725,18259,18260,19444,19445,19446,19447,19448,19449,20725,20726,20727,20728,20729,20730,20731,20732,20733,20734,20735,20736,20752,20753,20754,20755,20756,20757,20758,21884,21885,21886,22392,22445,22446,22447,22448,22449,22450,22451,22452,22456,22457,22461,22462,22463,22530,22531,22532,22533,22534,22535,22536,22537,22538,22539,22540,22541,22542,22543,22544,22545,22547,22548,22551,22552,22553,22554,22555,22556,22557,22558,22559,22560,22561,22562,22563,22565,22572,22573,22574,22575,22576,22577,22578,23571,23572,24000,24003,25843,25844,25845,25848,25849,28270,28271,28272,28273,28274,28276,28277,28279,28280,28281,28282,33148,33149,33150,33151,33152,33153,33165,33307,34052,34053,34054,34055,34056,34057,34872,35297,35298,35299,35498,35500,35622,35623,35624,35625,35627,35756,36860,37330,37331,37332,37333,37334,37335,37339,37340,37344,37345,37346,37347,37348,37349,37602,37700,37701,37702,37703,37704,37705,38682,39349,39350,40248,41741,41745,43145,43146,44452,44471,44472,44473,44483,44484,44485,44486,44487,44488,44489,44490,44491,44492,44494,44495,44496,44498,44944,45050,45059,46027,46348,50406",
+	["Misc.Container.ItemsInType.Engineering"]="814,4357,4358,4359,4360,4361,4363,4364,4365,4366,4367,4368,4370,4371,4373,4374,4375,4376,4377,4378,4380,4381,4382,4384,4385,4386,4387,4388,4389,4390,4391,4392,4393,4394,4395,4396,4397,4398,4399,4400,4401,4403,4404,4405,4406,4407,4408,4409,4410,4411,4412,4413,4414,4415,4416,4417,4852,5507,5956,6219,6672,6712,6714,6716,7067,7068,7069,7075,7076,7077,7078,7080,7082,7148,7189,7190,7191,7506,7560,7561,7742,7972,8151,9060,9061,9312,9313,9318,10286,10498,10499,10500,10501,10502,10503,10504,10505,10506,10507,10514,10518,10542,10543,10545,10546,10548,10558,10559,10560,10561,10562,10576,10577,10580,10585,10586,10587,10588,10601,10602,10603,10604,10605,10606,10607,10608,10609,10645,10646,10647,10648,10716,10720,10721,10723,10724,10725,10726,10727,10790,10791,11590,11825,11826,11827,11828,12803,12804,12808,13308,13309,13310,13311,14639,15846,15992,15993,15994,15996,15999,16000,16005,16006,16008,16009,16022,16023,16040,16041,16042,16043,16044,16045,16046,16047,16048,16049,16050,16051,16052,16053,16054,16055,16056,17716,17720,18168,18232,18283,18290,18291,18292,18587,18588,18594,18631,18634,18636,18637,18638,18639,18641,18645,18647,18648,18649,18650,18651,18652,18653,18654,18655,18656,18657,18658,18660,18661,18984,18986,19026,19027,19726,19998,19999,20000,20001,20475,20816,20834,21277,21557,21558,21559,21571,21574,21576,21589,21590,21592,21714,21716,21718,21724,21725,21726,21727,21728,21729,21730,21731,21732,21733,21734,21735,21737,21738,21884,21885,21886,22451,22452,22456,22457,22572,22573,22574,22575,22576,22577,22578,22728,22729,23571,23572,23736,23737,23758,23761,23762,23763,23764,23765,23766,23767,23768,23769,23770,23771,23781,23782,23783,23784,23785,23786,23787,23799,23800,23802,23803,23804,23805,23806,23807,23808,23809,23810,23811,23814,23815,23816,23817,23819,23820,23821,23822,23823,23824,23825,23826,23827,23828,23829,23831,23832,23835,23836,23838,23839,23840,23841,23874,23883,23884,23887,23888,25886,25887,30542,30544,31666,32381,32413,32423,32461,32472,32473,32474,32475,32476,32478,32479,32480,32494,32495,33092,33093,33804,34060,34061,34113,34114,34353,34354,34355,34356,34357,34504,34627,34847,35181,35182,35183,35184,35185,35186,35187,35189,35190,35191,35192,35193,35194,35195,35196,35197,35310,35311,35581,35582,35622,35623,35624,35625,35627,36860,37567,37700,37701,37702,37703,37704,37705,39213,39501,39502,39681,39682,39683,39684,39685,39686,39690,40248,40533,40536,40767,40768,40769,40771,40772,40865,40892,40893,40895,41112,41119,41121,41146,41166,41167,41508,42545,42546,42549,42550,42551,42552,42553,42554,42555,42641,42986,43002,44413,44499,44500,44501,44502,44503,44506,44507,44739,44740,44741,44742,44918,44919,44949,44951,45631,47828,48933,48945,49040,49050,52022,52023",
+	["Misc.Container.ItemsInType.Gem"]="774,818,1206,1210,1529,1705,3864,5498,5500,7909,7910,7971,11382,11754,12361,12363,12364,12799,12800,13926,18335,19774,20815,20824,21929,22459,22460,23077,23079,23094,23095,23096,23097,23098,23099,23100,23101,23103,23104,23105,23106,23107,23108,23109,23110,23111,23112,23113,23114,23115,23116,23117,23118,23119,23120,23121,23436,23437,23438,23439,23440,23441,24027,24028,24029,24030,24031,24032,24033,24035,24036,24037,24039,24047,24048,24050,24051,24052,24053,24054,24055,24056,24057,24058,24059,24060,24061,24062,24065,24066,24067,24186,24188,24190,24234,24235,24242,24243,24478,24479,25867,25868,25890,25893,25894,25895,25896,25897,25898,25899,25901,27679,27777,27785,27786,27809,27812,27820,28118,28119,28120,28123,28290,28360,28361,28362,28363,28458,28459,28460,28461,28462,28463,28464,28465,28466,28467,28468,28469,28470,28556,28557,28595,30546,30547,30548,30549,30550,30551,30552,30553,30554,30555,30556,30558,30559,30560,30563,30564,30565,30566,30571,30572,30573,30574,30575,30581,30582,30583,30584,30585,30586,30587,30588,30589,30590,30591,30592,30593,30594,30598,30600,30601,30602,30603,30604,30605,30606,30607,30608,31079,31080,31116,31117,31118,31860,31861,31862,31863,31864,31865,31866,31867,31868,31869,32193,32194,32195,32196,32197,32198,32199,32200,32201,32202,32203,32204,32205,32206,32207,32208,32209,32210,32211,32212,32213,32214,32215,32216,32217,32218,32219,32220,32221,32222,32223,32224,32225,32226,32227,32228,32229,32230,32231,32249,32409,32410,32634,32635,32636,32637,32638,32639,32640,32641,32735,32833,32836,33131,33132,33133,33134,33135,33137,33138,33139,33140,33141,33142,33143,33144,33782,34142,34143,34220,34256,34831,35315,35316,35318,35487,35488,35489,35501,35503,35707,35758,35759,35760,35761,36766,36767,36783,36784,36917,36918,36919,36920,36921,36922,36923,36924,36925,36926,36927,36928,36929,36930,36931,36932,36933,36934,37503,38545,38546,38547,38548,38549,38550,39900,39905,39906,39907,39908,39909,39910,39911,39912,39914,39915,39916,39917,39918,39919,39920,39927,39932,39933,39934,39935,39936,39937,39938,39939,39940,39941,39942,39943,39944,39945,39946,39947,39948,39949,39950,39951,39952,39953,39954,39955,39956,39957,39958,39959,39960,39961,39962,39963,39964,39965,39966,39967,39968,39974,39975,39976,39977,39978,39979,39980,39981,39982,39983,39984,39985,39986,39988,39989,39990,39991,39992,39996,39997,39998,39999,40000,40001,40002,40003,40008,40009,40010,40011,40012,40013,40014,40015,40016,40017,40022,40023,40024,40025,40026,40027,40028,40029,40030,40031,40032,40033,40034,40037,40038,40039,40040,40041,40043,40044,40045,40046,40047,40048,40049,40050,40051,40052,40053,40054,40055,40056,40057,40058,40059,40085,40086,40088,40089,40090,40091,40092,40094,40095,40096,40098,40099,40100,40101,40102,40103,40104,40105,40106,40111,40112,40113,40114,40115,40116,40117,40118,40119,40120,40121,40122,40123,40124,40125,40126,40127,40128,40129,40130,40131,40132,40133,40134,40135,40136,40137,40138,40139,40140,40141,40142,40143,40144,40145,40146,40147,40148,40149,40150,40151,40152,40153,40154,40155,40156,40157,40158,40159,40160,40161,40162,40163,40164,40165,40166,40167,40168,40169,40170,40171,40172,40173,40174,40175,40176,40177,40178,40179,40180,40181,40182,40392,41266,41285,41307,41333,41334,41335,41339,41367,41375,41376,41377,41378,41379,41380,41381,41382,41385,41389,41395,41396,41397,41398,41400,41401,41429,41432,41433,41434,41435,41436,41437,41438,41439,41440,41441,41442,41443,41444,41445,41446,41447,41448,41449,41450,41451,41452,41453,41454,41455,41456,41457,41458,41459,41460,41461,41462,41463,41464,41465,41466,41467,41468,41469,41470,41471,41472,41473,41474,41475,41476,41477,41478,41479,41480,41481,41482,41483,41484,41485,41486,41487,41488,41489,41490,41491,41492,41493,41494,41495,41496,41497,41498,41499,41500,41501,41502,42142,42143,42144,42145,42146,42148,42149,42150,42151,42152,42153,42154,42155,42156,42157,42158,42225,42420,42421,42701,42702,44066,44076,44078,44081,44082,44084,44087,44088,44089,45054,45862,45879,45880,45881,45882,45883,45987,46849,49110",
+	["Misc.Container.ItemsInType.Inscription"]="954,955,1180,1181,1477,1711,1712,2289,2290,3012,3371,3372,4419,4422,4424,4425,4426,8925,10306,10307,10308,10309,10310,10648,18256,19227,19228,19230,19231,19232,19233,19234,19235,19236,19257,19258,19259,19260,19261,19262,19263,19264,19265,19267,19268,19269,19270,19271,19272,19273,19274,19275,19276,19277,19278,19279,19280,19281,19282,19283,19284,27498,27499,27501,27502,27503,31882,31883,31884,31885,31886,31887,31888,31889,31890,31891,31892,31893,31894,31895,31896,31898,31899,31900,31901,31902,31903,31904,31905,31906,31907,31908,31909,31910,31911,31912,31913,31914,31915,31916,31917,31918,33457,33458,33460,33461,33462,34645,34647,37091,37092,37093,37094,37097,37098,37100,37101,37118,37140,37143,37145,37147,37156,37159,37160,37163,37164,37602,38682,39151,39334,39338,39339,39340,39341,39342,39343,39349,39350,39354,39469,39501,39502,39505,39774,40411,40896,40897,40899,40900,40901,40902,40903,40906,40908,40909,40912,40913,40914,40915,40916,40919,40920,40921,40922,40923,40924,41092,41094,41095,41096,41097,41098,41099,41100,41101,41102,41103,41104,41105,41106,41107,41108,41109,41110,41517,41518,41524,41526,41527,41529,41530,41531,41532,41533,41534,41535,41536,41537,41538,41539,41540,41541,41542,41547,41552,42396,42397,42398,42399,42400,42401,42402,42403,42404,42405,42406,42407,42408,42409,42410,42411,42412,42414,42415,42416,42417,42453,42454,42455,42456,42457,42458,42459,42460,42461,42462,42463,42464,42465,42466,42467,42468,42469,42470,42471,42472,42473,42734,42735,42736,42737,42738,42739,42740,42741,42742,42743,42744,42745,42746,42747,42748,42749,42750,42751,42752,42753,42754,42897,42898,42899,42900,42901,42902,42903,42904,42905,42906,42907,42908,42909,42910,42911,42912,42913,42914,42915,42916,42917,42922,42954,42955,42956,42957,42958,42959,42960,42961,42962,42963,42964,42965,42966,42967,42968,42969,42970,42971,42972,42973,42974,42975,42977,42978,42979,42980,42981,42982,42983,43039,43103,43104,43105,43106,43107,43108,43109,43115,43116,43117,43118,43119,43120,43121,43122,43123,43124,43125,43126,43127,43145,43146,43316,43331,43332,43334,43335,43338,43339,43340,43342,43343,43344,43350,43351,43354,43355,43356,43357,43359,43360,43361,43364,43365,43366,43367,43368,43369,43370,43371,43372,43373,43374,43376,43377,43378,43379,43380,43381,43385,43386,43388,43389,43390,43391,43392,43393,43394,43395,43396,43397,43398,43399,43400,43412,43413,43414,43415,43416,43417,43418,43419,43420,43421,43422,43423,43424,43425,43426,43427,43428,43429,43430,43431,43432,43463,43464,43465,43466,43533,43534,43535,43536,43537,43538,43539,43541,43542,43543,43544,43545,43546,43547,43548,43549,43550,43551,43552,43553,43554,43671,43672,43673,43674,43725,43825,43826,43827,43850,43867,43868,43869,44143,44144,44145,44146,44147,44148,44154,44155,44156,44157,44158,44165,44184,44185,44259,44260,44261,44262,44263,44264,44265,44266,44267,44268,44269,44270,44271,44272,44273,44274,44275,44276,44277,44278,44279,44280,44281,44282,44284,44285,44286,44287,44288,44289,44290,44291,44292,44293,44294,44314,44315,44326,44684,44920,44922,44923,44928,44955,45601,45602,45603,45604,45622,45623,45625,45731,45732,45733,45734,45735,45736,45737,45738,45739,45740,45741,45742,45743,45744,45745,45746,45747,45753,45755,45756,45757,45758,45760,45761,45762,45764,45766,45767,45768,45769,45770,45771,45772,45775,45776,45777,45778,45779,45780,45781,45782,45783,45785,45789,45790,45792,45793,45794,45795,45797,45799,45800,45803,45804,45805,45806,45912,46108,46372,48720,49084,49632,49768,50045,50077,50125,50166,50167,50168",
+	["Misc.Container.ItemsInType.Leatherworking"]="783,2304,2313,2318,2319,2320,2321,2324,2325,2406,2407,2408,2409,2604,2605,2934,3182,3824,4096,4231,4232,4233,4234,4235,4236,4265,4289,4291,4293,4294,4296,4297,4298,4299,4300,4301,4304,4337,4340,4341,4342,4461,5082,5083,5373,5637,5784,5785,5786,5787,5788,5789,5972,5973,5974,6260,6261,6470,6471,6474,6475,6476,6710,6715,7005,7067,7070,7071,7075,7076,7077,7078,7080,7081,7082,7286,7287,7288,7289,7290,7360,7361,7362,7363,7364,7392,7449,7450,7451,7452,7453,7613,8150,8151,8152,8153,8154,8165,8167,8169,8170,8171,8172,8173,8343,8384,8385,8386,8387,8389,8390,8395,8397,8398,8399,8400,8401,8402,8403,8404,8405,8406,8407,8408,8409,10290,11512,12607,12709,12731,12753,12803,12804,12810,13287,13288,14341,14635,15407,15408,15409,15410,15412,15414,15415,15416,15417,15419,15564,15725,15726,15727,15728,15729,15730,15731,15732,15733,15734,15735,15737,15738,15739,15740,15741,15742,15743,15744,15745,15746,15747,15748,15749,15751,15752,15753,15754,15755,15756,15757,15758,15759,15760,15761,15762,15763,15764,15765,15768,15770,15771,15772,15773,15774,15775,15776,15777,15779,15781,15846,17012,17022,17023,17025,17056,17722,18239,18240,18251,18252,18512,18514,18515,18516,18517,18518,18519,18662,18731,18949,19326,19327,19328,19329,19330,19331,19332,19333,19726,19767,19768,19769,19770,19771,19772,19773,19901,20253,20254,20381,20382,20498,20499,20500,20501,20506,20507,20508,20509,20510,20511,20576,21548,21884,21885,21886,21887,22451,22452,22456,22457,22572,22573,22574,22575,22576,22577,22578,22769,22770,22771,23571,23572,23793,25649,25650,25651,25652,25699,25700,25707,25708,25720,25721,25722,25725,25726,25728,25729,25730,25731,25732,25733,25734,25735,25736,25737,25738,25739,25740,25741,25742,25743,29213,29214,29215,29217,29218,29219,29483,29485,29486,29487,29488,29528,29529,29530,29531,29532,29533,29534,29535,29536,29539,29547,29548,29664,29669,29672,29673,29674,29675,29677,29682,29684,29689,29691,29693,29698,29700,29701,29702,29703,29704,29713,29714,29717,29718,29719,29720,29721,29722,29723,29724,29725,29726,29727,29728,29729,29730,29731,29732,29733,29734,30183,30301,30302,30303,30304,30305,30306,30307,30308,30444,31361,31362,32428,32429,32430,32431,32432,32433,32434,32435,32436,32470,32744,32745,32746,32747,32748,32749,32750,32751,33124,33205,33567,33568,34172,34173,34174,34175,34200,34201,34207,34218,34262,34330,34491,34664,35212,35213,35214,35215,35216,35217,35218,35219,35300,35301,35302,35303,35622,35623,35624,35625,35627,36860,37700,37701,37702,37703,37704,37705,38371,38372,38373,38374,38375,38376,38425,38426,38557,38558,38561,40248,44128,44509,44510,44511,44512,44513,44514,44515,44516,44517,44518,44519,44520,44521,44522,44523,44524,44525,44526,44527,44528,44530,44531,44532,44533,44534,44535,44536,44537,44538,44539,44540,44541,44542,44543,44544,44545,44546,44547,44548,44549,44550,44551,44552,44553,44559,44560,44561,44562,44563,44584,44585,44586,44587,44588,44589,44932,44933,44963,45094,45095,45096,45097,45098,45099,45100,45101,47628,47629,47630,47631,47632,47633,47634,47635,47646,47647,47648,47649,47650,47651,47652,47653,49633,49634,49957,49958,49959,49961,49962,49963,49965,49966",
+	["Misc.Container.ItemsInType.Mining"]="756,778,1819,1893,1959,2770,2771,2772,2775,2776,2798,2835,2836,2838,2840,2841,2842,2901,3340,3575,3576,3577,3858,3859,3860,4278,5833,5956,6037,7911,7912,10620,11370,11371,12359,12360,12365,12655,17771,18562,20723,21884,22202,22203,22452,22573,22574,23424,23425,23426,23427,23445,23446,23447,23448,23449,23573,24186,24188,24190,24234,24235,24242,24243,32464,35128,35622,35623,35624,35627,36860,36909,36910,36912,36913,36914,36915,36916,37663,37700,37701,37702,37703,37705,37706,40772,40892,40893,41163,45201,46849",
+
+	["Misc.Argent Dawn Commission"]="12846:1,13209:2,19812:2,23206:3,23207:3",
+	["Misc.Battleground Tokens"]="20558,20559,20560,29024",
+	["Misc.Battle Standard.Battleground"]="18606,18607",
+	["Misc.Battle Standard.Alterac Valley"]="19045,19046",
+	["Misc.Booze"]="21171:3,21721:5,2593:10,2594:20,2595:20,2596:10,2686:5,2723:5,2894:5,3703:10,4595:20,4600:20,744:20,9260:20,9360:20,9361:50,11846:10,12003:50,1262:20,17048:20,17196:5,17198:10,17402:20,17403:10,18269:20,18284:20,18287:10,18288:20,19221:50,19222:5,21151:20,21114:10,20709:10,30615:20,32667:20,28284:20,33036:20,33929:20",
+
+	["Misc.Currency.Tier Sets.Tier 4"]="29753,29754,29755,29756,29757,29758,29759,29760,29761,29762,29763,29764,29765,29766,29767",
+	["Misc.Currency.Tier Sets.Tier 5"]="30236,30237,30238,30239,30240,30241,30242,30243,30244,30245,30246,30247,30248,30249,30250",
+	["Misc.Currency.Tier Sets.Tier 6"]="31089,31090,31091,31092,31093,31094,31095,31096,31097,31098,31099,31100,31101,31102,31103",
+	["Misc.Currency.Tier Sets.Tier 7.10"]="40610,40611,40612,40613,40614,40615,40616,40617,40618,40619,40620,40621,40622,40623,40624",
+	["Misc.Currency.Tier Sets.Tier 7.25"]="40625,40626,40627,40628,40629,40630,40631,40632,40633,40634,40635,40636,40637,40638,40639",
+	["Misc.Currency.Tier Sets.Tier 8.10"]="45635,45636,45637,45644,45645,45646,45647,45648,45649,45650,45651,45652,45659,45660,45661",
+	["Misc.Currency.Tier Sets.Tier 8.25"]="45632,45633,45634,45638,45639,45640,45641,45642,45643,45653,45654,45655,45656,45657,45658",
+	["Misc.Currency.Tier Sets.Tier 9.25"]="47242",
+    ["Misc.Currency.Tier Sets.Tier 9.25H"]="47557,47558,47559", -- 9.25 (hard mode) drops vanq/prot/conq tokens that can be used for any slot
+
+	["Misc.Currency.Tier Sets.Class.Deathknight"]="40612,40615,40618,40621,40624,40627,40630,40633,40636,40639,45634,45637,45640,45643,45646,45649,45652,45655,45658,45661,47242,47559",
+	["Misc.Currency.Tier Sets.Class.Druid"]="29753,29758,29761,29764,29767,30237,30240,30243,30246,30249,31090,31093,31096,31099,31102,34852,34855,34858,40612,40615,40618,40621,40624,40627,40630,40633,40636,40639,45634,45637,45640,45643,45646,45649,45652,45655,45658,45661,47242,47559",
+	["Misc.Currency.Tier Sets.Class.Hunter"]="29755,29756,29759,29762,29765,30238,30241,30244,30247,30250,31091,31094,31095,31100,31103,34851,34854,34857,40611,40614,40617,40620,40623,40626,40629,40632,40635,40638,45633,45636,45639,45642,45645,45648,45651,45654,45657,45660,47242,47558",
+	["Misc.Currency.Tier Sets.Class.Paladin"]="29754,29757,29760,29763,29766,30236,30239,30242,30245,30248,31089,31092,31097,31098,31101,34848,34853,34856,40610,40613,40616,40619,40622,40625,40628,40631,40634,40637,45632,45635,45638,45641,45644,45647,45650,45653,45656,45659,47242,47557",
+	["Misc.Currency.Tier Sets.Class.Priest"]="29753,29758,29761,29764,29767,30237,30240,30243,30246,30249,31089,31092,31097,31098,31101,34848,34853,34856,40610,40613,40616,40619,40622,40625,40628,40631,40634,40637,45632,45635,45638,45641,45644,45647,45650,45653,45656,45659,47242,47557",
+	["Misc.Currency.Tier Sets.Class.Mage"]="29755,29756,29759,29762,29765,30238,30241,30244,30247,30250,31090,31093,31096,31099,31102,34852,34855,34858,40612,40615,40618,40621,40624,40627,40630,40633,40636,40639,45634,45637,45640,45643,45646,45649,45652,45655,45658,45661,47242,47559",
+	["Misc.Currency.Tier Sets.Class.Rogue"]="29754,29757,29760,29763,29766,30236,30239,30242,30245,30248,31090,31093,31096,31099,31102,34852,34855,34858,40612,40615,40618,40621,40624,40627,40630,40633,40636,40639,45634,45637,45640,45643,45646,45649,45652,45655,45658,45661,47242,47559",
+	["Misc.Currency.Tier Sets.Class.Shaman"]="29754,29757,29760,29763,29766,30236,30239,30242,30245,30248,31091,31094,31095,31100,31103,34851,34854,34857,40611,40614,40617,40620,40623,40626,40629,40632,40635,40638,45633,45636,45639,45642,45645,45648,45651,45654,45657,45660,47242,47558",
+	["Misc.Currency.Tier Sets.Class.Warlock"]="29755,29756,29759,29762,29765,30238,30241,30244,30247,30250,31089,31092,31097,31098,31101,34848,34853,34856,40610,40613,40616,40619,40622,40625,40628,40631,40634,40637,45632,45635,45638,45641,45644,45647,45650,45653,45656,45659,47242,47557",
+	["Misc.Currency.Tier Sets.Class.Warrior"]="29753,29758,29761,29764,29767,30237,30240,30243,30246,30249,31091,31094,31095,31100,31103,34851,34854,34857,40611,40614,40617,40620,40623,40626,40629,40632,40635,40638,45633,45636,45639,45642,45645,45648,45651,45654,45657,45660,47242,47558",
+
+	["Misc.Currency.Instances"]="28558,29434,32897,24368",
+	["Misc.Currency.World"]="26045,26044,24579,29736,29735,24245,32569,32572",
+	["Misc.Currency.Battlegrounds"]="20560,20559,29024,20558",
+	["Misc.Darkmoon Faire.Card"]="19287,19288,19289,19290,31856,31857,31858,31859,42987,42988,42989,42990,44253,44254,44255,",
+	["Misc.Engineering.Explosives"]="m,Misc.Explosives.Engineering",
+	["Misc.Explosives.Engineering"]="4358,4360,4365,4370,6714,4374,4378,4380,10507,4390,4403,4394,18588,10514,10586,10562,18641,15993,16005,16040,23736,23737,23826,23827,32413,40536,40771,41119",
+	["Misc.Explosives.Other"]="4598,11566,23841",
+	["Misc.Engineering.Fireworks"]="9315,9317,9314,9318,19026,9313,9312,21569,5740,21570,21557,21558,21559,21561,21595,21593,21589,21562,21592,21590,21571,21574,21576,21744,21716,21714,21718,34258",
+	["Misc.Hallowed Wands"]="20397,20398,20399,20409,20410,20411,20413,20414",
+	["Misc.Hearth"]="18984,18986,22589,22630,22631,22632,28585,30542,30544,32757,35230,37118,37863,40585,40586,44314,44315,44934,44935,45688,45689,45690,45691,46874,48933,48954,48955,48956,48957,50287,51557,51558,51559,51560,6948:100,75136:200",
+	["Misc.Key"]="2629,2719,3467,3499,3704,3930,4103,4483,4484,4485,4882,5020,5050,5089,5396,5475,5521,5687,5689,5690,5691,5851,6783,6893,7146,7208,7923,8072,8444,9249,9275,9472,11000,11078,11106,11140,11197,11602,12301,12382,12738,12739,12942,13140,13194,13195,13196,13197,13302,13303,13304,13305,13306,13307,13704,13873,15328,15767,15869,15870,15871,15872,15878,15881,17242,18249,18250,18266,18268,19064,20022,21761,21762,23801,23925,24099,24489,24490,25490,25509,25604,25648,27808,27991,28395,29460,29501,29742,29750,30426,30438,30442,30622,30623,30633,30634,30635,30637,30688,30712,30794,31084,31316,31536,31655,31664,31704,31705,31755,31956,31994,32069,32079,32092,32449,32773,33061,33284,33290,33308,34078,34117,34477,34600,34688,34908,34948,34961,34962,35705,36760,37013,37500,38555,39227,39264,39318,39434,40641,40652,40732,41428,41843,42422,42482,43650,43853,43854,44153,44581,44582,45796,45798,46895,64663",
+	--["Misc.Key.Instance.Normal"]="o,5ii:Scarlet Monastery,9iw:UBRS,iwa:Karazhan,llj:Shadow Labyrinth,lwr:Shattered Halls,nzg:Arcatraz",
+	--["Misc.Key.Instance.Heroic"]="o,nmm:Hellfire Citadel (Alliance),nmn:Coilfang Reservoir,nmy:Tempest Keep,nn1:Hellfire Citadel (Horde),nmz:Caverns of Time,nmx:Auchindoun",
+	["Misc.Lockboxes"]="4632:1,6354:1,6712:1,7209:1,16882:1,4633:25,4634:70,6355:70,16883:70,4636:125,4637:175,13875:175,16884:175,4638:225,5758:225,5759:225,5760:225,13918:250,16885:250,12033:275,29569:300,31952:325,43575:350,43622:375,43624:400,45986:400",
+	["Misc.Minipet.Normal"]="4401,8485,8486,8487,8488,8489,8490,8491,8492,8494,8495,8496,8497,8498,8499,8500,8501,10360,10361,10392,10393,10394,10398,10822,11023,11026,11027,11110,11474,11825,11826,12264,12529,13582,13583,13584,15996,18964,19054,19055,19450,19462,20371,20769,21168,21277,21301,21305,21308,21309,22114,22200,22235,22781,23002,23007,23015,23083,23712,23713,25535,27445,29363,29364,29901,29902,29903,29904,29953,29956,29957,29958,29960,30360,31760,32233,32498,32588,32616,32617,32622,33154,33816,33818,33993,34425,34478,34492,34493,34518,34519,34535,34955,35227,35349,35350,35504,37297,37298,37460,38050,38628,38658,39286,39656,39896,39898,39899,39973,40653,41133,43698,44721,44723,44738,44794,44810,44819,44820,44822,44841,44965,44970,44971,44973,44974,44980,44982,44983,44984,44998,45002,45022,45057,45180,45606,45942,46396,46397,46398,46544,46545,46707,46767,46802,46820,46821,46831,48112,48114,48116,48118,48120,48122,48124,48126,49287,49343,49362,49646,49662,49663,49665,49693,49912,50446,53641,54436,54847,56806,63138,63355,63398,64403,64996,65355,65361,65362,65363,65364,65661,65662,66076,67128,67417,67418",
+	["Misc.Minipet.Snowball"]="21301,21305,21308,21309",
+	["Misc.Mount.Ahn'Qiraj"]="21218:100,21321:100,21323:100,21324:100,21176:100",
+	["Misc.Mount.Flying"]="25471:60,25470:60,25472:60,25475:60,25476:60,25474:60,33176:60,34060:60,35225:60,25473:280,25528:280,25529:280,25527:280,25531:280,25533:280,25477:280,25532:280,32857:280,32858:280,32859:280,32860:280,32861:280,32862:280,32314:280,32316:280,32317:280,32318:280,32319:280,33182:280,33999:280,34061:280,35226:280,32458:310,30609:310,37676:310",
+	["Misc.Mount.Normal"]="33189:10,1132:60,2411:60,2414:60,5655:60,5656:60,5665:60,5668:60,5864:60,5872:60,5873:60,8588:60,8563:60,8591:60,8592:60,8595:60,8629:60,8631:60,8632:60,8653:60,13321:60,13322:60,13331:60,13332:60,13333:60,15277:60,15290:60,15292:60,28481:60,29743:60,29744:60,29220:60,29221:60,29222:60,28927:60,33183:60,33976:60,19902:100,8586:100,12302:100,12303:100,12330:100,12351:100,12353:100,12354:100,13086:100,13317:100,13326:100,13327:100,13328:100,13329:100,13334:100,13335:100,15293:100,18241:100,18242:100,18243:100,18244:100,18245:100,18246:100,18247:100,18248:100,18766:100,18767:100,18772:100,18773:100,18774:100,18776:100,18777:100,18778:100,18785:100,18786:100,18787:100,18788:100,18789:100,18790:100,18791:100,18793:100,18794:100,18795:100,18796:100,18797:100,18798:100,18902:100,19029:100,19030:100,19872:100,21176:100,29465:100,29466:100,29467:100,29468:100,29469:100,29470:100,29471:100,29472:100,29745:100,29746:100,29747:100,29223:100,29224:100,28936:100,29102:100,29103:100,29104:100,29105:100,29227:100,29228:100,29229:100,29230:100,28915:100,29231:100,30480:100,31830:100,31832:100,31834:100,31836:100,31829:100,31831:100,31833:100,31835:100,32768:100,33184:100,33225:100,33977:100,33809:100,34129:100,35513:100,35906:100,37719:100,37828:100",
+	["Misc.Openable"]="4632,4633,4634,4636,4637,4638,5335,5523,5524,5738,5758,5759,5760,6307,6351,6352,6353,6354,6355,6356,6357,6643,6645,6647,6715,6755,6827,7190,7209,7870,7973,8049,8366,8484,8647,9265,9276,9363,9539,9540,9541,10456,10479,10569,10695,10752,10773,10834,11024,11107,11422,11423,11568,11617,11883,11887,11912,11937,11938,11955,11966,12033,12122,12339,12849,13874,13875,13881,13891,13918,15102,15103,15699,15874,15876,15902,16783,16882,16883,16884,16885,17685,17726,17727,17962,17963,17964,17965,17969,18636,18804,19035,19150,19151,19152,19153,19154,19155,19296,19297,19298,19422,19425,20228,20229,20230,20231,20233,20236,20393,20469,20601,20602,20603,20708,20766,20767,20768,20805,20808,20809,21042,21113,21131,21132,21133,21150,21156,21162,21164,21191,21216,21228,21266,21270,21271,21310,21315,21327,21363,21386,21509,21510,21511,21512,21513,21528,21640,21740,21741,21742,21743,21746,21812,21975,21979,21980,21981,22137,22154,22155,22156,22157,22158,22159,22160,22161,22162,22163,22164,22165,22166,22167,22168,22169,22170,22171,22172,22178,22320,22568,22648,22649,22650,22746,23022,23846,23921,24336,24402,24476,25419,25422,25423,25424,27446,27481,27511,27513,29569,30260,30320,30650,31408,31522,31800,31952,31955,32064,32462,32624,32625,32626,32627,32628,32629,32630,32631,32724,32777,32835,33045,33844,33857,33926,33928,34077,34119,34426,34583,34584,34585,34587,34592,34593,34594,34595,34846,34863,34871,35232,35286,35313,35348,35512,35792,35945,36781,37168,37586,39418,39883,39903,39904,41426,41888,43346,43347,43504,43556,43575,43622,43624,44113,44142,44161,44163,44475,44663,44700,44718,44751,44943,44951,45072,45328,45724,45875,45878,45909,45986,46007,46110,46740,46809,46810,46812,49294,49631,49909,49926,50160,50161,50301,51316,51999,52000,52001,52002,52003,52004,52005,52006,52676,54535,54536,54537,63349,65513,66943,67248,67250,67414,67443",
+	["Misc.Unlock.Seaforium Charges"]="4367:150,4398:250,18594:300,23819:350",
+	["Misc.Unlock.Skeleton Keys"]="15869:25,15870:125,15871:200,15872:300",
+	["Misc.Usable.BossItem"]="24494:17968,31088:21212,32408:22887,37815,37859,37860,49278",
+	["Misc.Usable.Fun"]="1973,5507,5740,9312,9313,9314,9315,9317,9318,17712,18662,20397,20398,20399,20409,20410,20411,20413,20414,20557,21328,21519,21536,21557,21558,21559,21561,21562,21569,21571,21574,21576,21589,21590,21592,21593,21595,21713,21714,21716,21718,21744,21745,21747,21813,22200,22206,22218,22261,22728,23767,23768,23769,23770,23771,25886,28455,31666,32542,33079,33081,33226,33808,33927,34068,34191,34258,34480,34494,34497,34498,34499,34686,36862,36863,37431,37460,37710,37750,37816,37925,38506,39477,39769,41427,43352,43626,44114,44228,44430,44481,44482,44606,44731,44800,44812,44844,45011,45013,45014,45015,45016,45017,45018,45019,45020,45021,45037,45047,45061,45063,45073,45176,45177,45178,45179,45850,45851,45852,45853,45854,45984,46718,46725,46779,46780,46783,46831,46843,46861,46887,46888,49126,49040,50163",
+	["Misc.Usable.Permanent"]="7148,10684,11590,15846,18232,18587,18645,18660,19697,23821,24140,28111,34008,37829,40768,40769,40772,42546,46735",
+	["Misc.Usable.Quest"]="4823,5021,5251,5411,5415,5416,5456,5462,5638,5692,5693,5694,5695,5867,6196,6635,6636,6637,7207,7247,7308,7667,7733,7866,8584,9189,9241,9263,9319,9328,9437,9439,9442,9466,9530,9606,9618,9619,9620,9621,9978,10327,10687,10688,10689,10690,10699,11132,11141,11169,11231,11243,11412,11445,11522,11569,11570,11682,11804,11833,11914,11948,11953,12284,12284,12288,12472,12565,12566,12627,12807,12815,12891,12906,12922,12928,13536,13892,14644,15002,15454,15766,15908,15911,15913,15914,15915,15916,15917,15919,15920,15921,15922,15923,16114,16974,16991,17310,18597,18598,18752,18904,19036,19183,20387,21711,21829,21833,22259,22473,22693,23268,23337,23358,23361,23394,23417,23480,23485,23645,23654,23669,23680,23691,23693,23697,23702,23703,23749,23751,23788,23792,23818,23875,23876,23877,23995,24084,24278,24289,24318,24355,24428,24467,24470,24474,24498,24501,24502,24560,25458,25465,25552,25555,25658,25770,25771,25853,25889,26002,27317,27479,28038,28106,28132,28292,28336,28351,28352,28353,28369,28452,28547,28550,28607,28634,28651,28725,28962,29018,29027,29101,29207,29226,29324,29429,29443,29445,29447,29473,29478,29482,29513,29618,29737,29778,29795,29803,29817,29818,29912,30094,30175,30353,30462,30479,30481,30527,30561,30614,30616,30618,30638,30639,30651,30652,30653,30654,30656,30657,30672,30704,30719,30721,30742,30756,30803,30811,30818,30847,30850,30852,30853,30854,31088,31108,31121,31122,31128,31129,31141,31146,31300,31310,31344,31346,31347,31350,31360,31372,31373,31386,31403,31463,31495,31517,31518,31606,31610,31652,31663,31668,31678,31702,31736,31739,31754,31763,31769,31772,31807,31808,31809,31810,31815,31825,31828,31880,31881,31946,32315,32321,32406,32446,32456,32467,32503,32576,32602,32657,32680,32696,32698,32741,32825,32834,32912,32915,32917,32918,32919,32920,32960,33072,33088,33091,33095,33098,33101,33108,33113,33119,33129,33418,33164,33190,33221,33238,33278,33282,33306,33310,33311,33321,33323,33335,33336,33339,33340,33341,33342,33343,33344,33346,33349,33441,33450,33472,33477,33486,33554,33563,33581,33606,33607,33613,33614,33615,33618,33621,33627,33634,33637,33774,33778,33779,33780,33796,33806,33819,33865,33960,34013,34023,34024,34026,34027,34032,34051,34076,34082,34083,34111,34121,34124,34127,34420,34598,34599,34624,34669,34691,34692,34710,34711,34715,34772,34779,34781,34782,34806,34811,34812,34830,34833,34844,34862,34869,34870,34871,34897,34913,34915,34920,34954,34968,34971,34973,34975,34978,34979,34981,35116,35121,35125,35127,35224,35230,35237,35272,35278,35281,35288,35293,35352,35401,35479,35491,35671,35688,35690,35704,35718,35734,35736,35739,35792,35797,35813,35828,35837,35838,35850,35907,35908,35943,35944,36732,36734,36738,36747,36751,36764,36771,36774,36775,36777,36779,36786,36787,36796,36815,36818,36827,36834,36835,36847,36859,36864,36865,36873,36935,36936,36956,37006,37045,37063,37071,37125,37129,37173,37187,37198,37202,37259,37287,37300,37304,37306,37307,37314,37381,37438,37445,37459,37465,37539,37542,37568,37570,37577,37581,37604,37621,37661,37665,37708,37716,37727,37877,37881,37887,37888,37923,37932,37933,38083,38149,38302,38323,38324,38330,38332,38380,38467,38510,38512,38515,38519,38544,38564,38573,38607,38619,38621,38622,38623,38624,38627,38657,38659,38676,38684,38689,38696,38697,38699,38701,38709,38731,39041,39154,39157,39158,39164,39165,39187,39206,39238,39268,39305,39313,39314,39315,39316,39566,39571,39572,39574,39615,39645,39651,39664,39695,39696,39697,39700,39737,39739,39747,40390,40397,40551,40587,40600,40676,40686,40730,40731,40917,40946,40970,40971,41058,41130,41131,41161,41179,41265,41340,41366,41372,41390,41430,41431,41505,41612,41615,41776,41988,42164,42246,42419,42424,42441,42442,42479,42480,42481,42499,42624,42679,42732,42733,42769,42781,42797,42837,42840,42894,42918,42928,42986,43059,43153,43159,43166,43206,43214,43229,43243,43315,43524,43564,43289,43494,43608,43670,43968,44010,44048,44127,44186,44212,44222,44246,44251,44301,44304,44307,44433,44450,44459,44460,44461,44476,44477,44478,44479,44480,44576,44653,44704,44784,44802,44818,44950,45000,45067,45080,45083,46069,46070,46106,46362,46396,46397,46693,46893,46954,49655",
+	["Misc.Usable.Replenished"]="17202,44698,32907,33837,33851,33852,4384,11020,21212,21213,24429,24538,28452,32971,33096,33098,33929,33930,33931,33932,33933,34248,34253,34255,34257,34338,34368,34414,34475,34483,34489,34533,35233,34500,35228,35506,37576,38556,38566,38574,39213,39266,39577,39598,39599,39689,39693,39694,39748,41989,42104,42105,42106,42107,42108,42479,42769,42774,43101,43142,43147,43139,44986,45005,45046,45281,45902,46367,46380,46382,46870,46885,47006,47009,47029,47033,47036,49351,49352,49668,49669,49670,50130,50131,50851",
+	["Misc.Usable.StartsQuest"]="1307,1357,1962,1972,2794,2839,2874,3317,3668,3706,3985,4056,4098,4433,4613,4614,4854,4881,4903,4926,5099,5102,5103,5138,5179,5352,5791,5877,6172,6196,6776,7666,8524,8623,8704,8705,9250,9254,9326,9370,10000,10441,10454,10589,10621,11116,11463,11668,11818,12558,12564,12771,12780,12842,13140,13250,13920,14646,14647,14648,14649,14650,14651,16303,16304,16305,16408,16782,16790,17126,18356,18357,18358,18359,18360,18361,18362,18363,18364,18628,18703,18706,18769,18770,18771,18969,18972,18987,19002,19003,19016,19018,19228,19257,19267,19277,19423,19424,19443,19452,19802,20310,20461,20483,20644,20741,20742,20765,20806,20807,20938,20939,20940,20941,20942,20943,20944,20945,20947,20948,20949,21165,21166,21167,21220,21221,21230,21245,21248,21249,21250,21251,21252,21253,21255,21256,21257,21258,21259,21260,21261,21262,21263,21264,21265,21379,21380,21381,21382,21384,21385,21514,21749,21750,21751,21776,22520,22597,22600,22601,22602,22603,22604,22605,22606,22607,22608,22609,22610,22611,22612,22613,22614,22615,22616,22617,22618,22620,22621,22622,22623,22624,22719,22723,22727,22888,22970,22972,22973,22974,22975,22977,23179,23180,23181,23182,23183,23184,23228,23249,23338,23580,23678,23759,23777,23797,23837,23850,23870,23890,23892,23900,23910,24132,24330,24367,24407,24414,24483,24484,24504,24558,24559,25459,28552,29233,29234,29235,29236,29476,29588,29590,29738,30431,30579,30756,31120,31239,31241,31345,31363,31384,31489,31707,31890,31891,31907,31914,32385,32386,32405,32523,32621,32726,33102,33114,33115,33289,33314,33345,33347,33961,33962,33978,34028,34091,34469,34777,34815,34984,35568,35569,35648,35723,36742,36744,36746,36756,36780,36855,36856,36940,36958,37163,37164,37432,37599,37736,37737,37830,37833,38280,38281,38321,38660,38673,39713,40666,41267,41556,42203,42772,43242,43297,43512,44148,44158,44259,44276,44294,44326,44569,44577,44725,45039,45506,45857,46004,46052,46053,46875,46876,46877,46878,46879,46880,46881,46882,46883,46884,46955,47246,48679,49205,49641,49643,49644,49676,50320,50379,50380,51315",
+
+	["Misc.QuestMats.Ahn'Qiraj.Idol.20"]="20866,20867,20868,20869,20870,20871,20872,20873",
+	["Misc.QuestMats.Ahn'Qiraj.Idol.40"]="20874,20875,20876,20877,20878,20879,20881,20882",
+	["Misc.QuestMats.Ahn'Qiraj.Scarab"]="20858,20859,20860,20861,20862,20863,20864,20865",
+	["Misc.QuestMats.Ahn'Qiraj.Token.20"]="20884,20885,20886,20888,20889,20890",
+	["Misc.QuestMats.Ahn'Qiraj.Token.40"]="20926,20927,20928,20929,20930,20931,20932,20933",
+
+	["Misc.QuestMats.Arcanum.Constitution"]="11754,8411,11733,11952",
+	["Misc.QuestMats.Arcanum.Focus"]="18333,18335,14344,12753",
+	["Misc.QuestMats.Arcanum.Protection"]="18334,18335,14344,12735",
+	["Misc.QuestMats.Arcanum.Rapidity"]="18332,18335,14344,12938",
+	["Misc.QuestMats.Arcanum.Resilience"]="11754,11567,11751,11736",
+	["Misc.QuestMats.Arcanum.Rumination"]="11754,11752,8424,11732",
+	["Misc.QuestMats.Arcanum.Tenacity"]="11754,11734,11564,11753",
+	["Misc.QuestMats.Arcanum.Voracity"]="11754,11737,11951,11563",
+
+	["Misc.QuestMats.Darkmoon Faire.Deck.All"]=" 19228,19257,19267,19277,31890,31907,31914,31891,37163,37164,44148,44158,44259,44276,44294,44326",
+
+	["Misc.QuestMats.Darkmoon Faire.Deck.Rogues"]="37140,37143,37156",
+	["Misc.QuestMats.Darkmoon Faire.Deck.Swords"]="37145,37147,37159,37160,37161",
+	["Misc.QuestMats.Darkmoon Faire.Deck.Mages"]="44165,44144,44145,44146,44147",
+	["Misc.QuestMats.Darkmoon Faire.Deck.Demons"]="44143,44154,44155,44156,44157",
+
+	["Misc.QuestMats.Darkmoon Faire.Deck.Beasts"]="19227,19230,19231,19232,19233,19234,19235,19236",
+	["Misc.QuestMats.Darkmoon Faire.Deck.Elementals"]="19268,19269,19270,19271,19272,19273,19274,19275",
+	["Misc.QuestMats.Darkmoon Faire.Deck.Portals"]="19276,19278,19279,19280,19281,19282,19283,19284",
+	["Misc.QuestMats.Darkmoon Faire.Deck.Warlords"]="19258,19259,19260,19261,19262,19263,19264,19265",
+
+	["Misc.QuestMats.Darkmoon Faire.Deck.Blessings"]="31882,31889,31888,31885,31884,31887,31886,31883",
+	["Misc.QuestMats.Darkmoon Faire.Deck.Furies"]="31901,31909,31908,31904,31903,31906,31905,31902",
+	["Misc.QuestMats.Darkmoon Faire.Deck.Lunacy"]="31910,31918,31917,31913,31912,31916,31915,31911",
+	["Misc.QuestMats.Darkmoon Faire.Deck.Storms"]="31892,31900,31899,31895,31894,31898,31896,31893",
+
+	["Misc.QuestMats.Darkmoon Faire.Deck.Chaos"]="44277,44278,44279,44280,44281,44282,44284,44285",
+	["Misc.QuestMats.Darkmoon Faire.Deck.Nobles"]="44268,44269,44270,44271,44272,44273,44274,44275",
+	["Misc.QuestMats.Darkmoon Faire.Deck.Prisms"]="44260,44261,44262,44263,44264,44265,44266,44267",
+	["Misc.QuestMats.Darkmoon Faire.Deck.Undeath"]="44286,44287,44288,44289,44290,44291,44292,44293",
+
+	["Misc.QuestMats.Darkmoon Faire.Turnin.Blacksmithing"]="3240:1,3486:4,3835:8,7945:12,12644:20",
+	["Misc.QuestMats.Darkmoon Faire.Turnin.Engineering"]="4363:1,4375:4,9313:8,11590:12,15994:20",
+	["Misc.QuestMats.Darkmoon Faire.Turnin.Greys"]="4582:5,5117:12,5134:1,11404:20,11407:4,19933:20",
+	["Misc.QuestMats.Darkmoon Faire.Turnin.Leather"]="2309:1,2314:4,5739:8,8185:12,15564:20",
+
+	["Misc.QuestMats.Libram.Burning Steppes"]="11732,11733,11734,11736,11737",
+	["Misc.QuestMats.Libram.Dire Maul"]="18332,18333,18334",
+
+	["Misc.QuestMats.Zul'Gurub.Bijou"]="19707,19708,19709,19710,19711,19712,19713,19714,19715",
+	["Misc.QuestMats.Zul'Gurub.Coin.Set1"]="19698,19699,19700",
+	["Misc.QuestMats.Zul'Gurub.Coin.Set2"]="19701,19702,19703",
+	["Misc.QuestMats.Zul'Gurub.Coin.Set3"]="19704,19705,19706",
+	["Misc.QuestMats.Zul'Gurub.Primal"]="19716,19717,19718,19719,19720,19721,19722,19723,19724",
+
+	["Misc.Reagent.Ammo.Arrow"]="37309:10,67440:24",
+	["Misc.Reagent.Ammo.Bullet"]="67439:106",
+	["Misc.Reagent.Ammo.Thrown"]="25861:16,28979:16,25872:44,29007:44,25873:96,29008:96,25874:119,29584:125,29201:132,25875:168,29009:168,28408:257,32378:257,25876:268,29010:268,29202:290,25878:404,29013:412,29014:412,34419:435,29203:467,25877:480,28972:514,39995:537,40007:537,44644:559,28531:581,28532:595,28533:609,28534:622,28535:636,29212:636,28536:650,28537:676,28538:701,27928:721,27929:721,28539:727,27631:737,28540:752,30227:752,30568:752,30599:752,28541:778,28542:803,29211:816,28543:827,28544:847,32832:875,29204:884,27916:904,28258:933,34783:933,34622:1057,36711:1062,36712:1082,35845:1102,36713:1102,37028:1102,36714:1124,28659:1140,34603:1140,36716:1169,41241:1169,28319:1187,36717:1193,28826:1199,36718:1218,36719:1243,30025:1257,38357:1263,32054:1270,36720:1270,36721:1298,32326:1305,36722:1327,39138:1327,42863:1327,43900:1327,33765:1342,39490:1349,36723:1357,36724:1388,34349:1404,35108:1404,41245:1420,43187:1445,43188:1445,36981:1561,44118:1561,37410:1693,42444:1693,40716:1866,42449:1866,43612:1866,40190:2037,42450:2037,42451:2327,45086:2327,45296:2327,50169:2327,42483:2557,47659:2557,47660:2557,50999:2673,50474:2948,51535:2948,51880:2948",
+	["Misc.Reagent.Class.Death Knight"]="37201",
+	["Misc.Reagent.Class.Druid"]="17021,17026,17034,17035,17036,17037,17038,22147,22148,44605,44614",
+	["Misc.Reagent.Class.Hunter"]="",
+	["Misc.Reagent.Class.Mage"]="17020,17031,17032,17056",
+	["Misc.Reagent.Class.Paladin"]="21177,17033",
+	["Misc.Reagent.Class.Priest"]="17028,17029,17056,44615",
+	["Misc.Reagent.Class.Rogue"]="5140,5530",
+	["Misc.Reagent.Class.Shaman"]="17030,17057,17058,5175,5176,5177,5178",
+	["Misc.Reagent.Class.Warlock"]="5565,6265,16583",
+	["Misc.Reagent.Class.Warrior"]="",
+
+	["Misc.Spell.Mount.Ahn'Qiraj"]="-25953:100,-26056:100,-26054:100,-26055:100",
+	["Misc.Spell.Mount.Flying.Fast"]="-41514",
+	["Misc.Spell.Mount.Flying.Slow"]="-32239",
+	["Misc.Spell.Mount.Ground.Fast"]="-16081,-22718,-22721,-23509,-43688,-51412",
+	["Misc.Spell.Mount.Ground.Slow"]="-32420",
+})
diff --git a/libs/LibPeriodicTable-3.1-Misc/LibPeriodicTable-3.1-Misc.toc b/libs/LibPeriodicTable-3.1-Misc/LibPeriodicTable-3.1-Misc.toc
new file mode 100644
index 0000000..af8ba19
--- /dev/null
+++ b/libs/LibPeriodicTable-3.1-Misc/LibPeriodicTable-3.1-Misc.toc
@@ -0,0 +1,16 @@
+## Interface: 30200
+## LoadOnDemand: 1
+## Title: Lib: PeriodicTable-3.1 [|cffeda55fMisc|r]
+## Notes: PeriodicTable data module.
+## Author: Nymbia
+## Version: 3.1
+## Dependencies: LibPeriodicTable-3.1
+## X-Category: Library
+## X-License: LGPL v2.1
+## X-PeriodicTable-3.1-Module: Misc
+## X-Curse-Packaged-Version: r295
+## X-Curse-Project-Name: LibPeriodicTable-3.1
+## X-Curse-Project-ID: libperiodictable-3-1
+## X-Curse-Repository-ID: wow/libperiodictable-3-1/mainline
+
+LibPeriodicTable-3.1-Misc.lua
diff --git a/libs/LibPeriodicTable-3.1-Tradeskill/LibPeriodicTable-3.1-Tradeskill.lua b/libs/LibPeriodicTable-3.1-Tradeskill/LibPeriodicTable-3.1-Tradeskill.lua
new file mode 100644
index 0000000..e9bdcdc
--- /dev/null
+++ b/libs/LibPeriodicTable-3.1-Tradeskill/LibPeriodicTable-3.1-Tradeskill.lua
@@ -0,0 +1,239 @@
+-- (c) 2007 Nymbia.  see LGPLv2.1.txt for full details.
+--DO NOT MAKE CHANGES TO THIS FILE BEFORE READING THE WIKI PAGE REGARDING CHANGING THESE FILES
+if not LibStub("LibPeriodicTable-3.1", true) then error("PT3 must be loaded before data") end
+LibStub("LibPeriodicTable-3.1"):AddData("Tradeskill", gsub("$Rev: 295 $", "(%d+)", function(n) return n+90000 end), {
+	["Tradeskill.Crafted.Alchemy"]="118:1,2454:1,5997:1,3382:15,2455:25,2456:40,2457:50,2458:50,4596:50,858:55,2459:60,5631:60,6370:80,3383:90,5996:90,6662:90,6051:100,6372:100,929:110,3384:110,3385:120,3386:120,3388:125,3389:130,6371:130,6048:135,45621:135,3390:140,6373:140,3391:150,5634:150,1710:155,3827:160,3823:165,3824:165,6049:165,3825:175,5633:175,3826:180,8949:185,6050:190,6052:190,17708:190,3828:195,8951:195,3829:200,10592:200,6149:205,8956:205,9030:210,9036:210,9061:210,3928:215,4623:215,18294:215,3577:225,6037:225,9144:225,9149:225,9154:230,12190:230,9155:235,9172:235,9179:235,9088:240,9187:240,9197:240,9206:245,9210:245,3387:250,9224:250,9233:250,9264:250,13423:250,21546:250,13442:255,13443:260,13445:265,13447:270,7076:275,7076:275,7078:275,7080:275,7080:275,7082:275,12360:275,12803:275,12808:275,13446:275,13453:275,20002:275,20007:275,13452:280,13455:280,13454:285,13462:285,20008:285,13456:290,13457:290,13458:290,13459:290,13461:290,20004:290,13444:295,7068:300,13506:300,13510:300,13511:300,13512:300,13513:300,18253:300,19931:300,28100:300,28102:300,28103:300,22823:305,22824:305,22825:310,28101:310,32062:310,22826:315,28104:315,22827:320,22828:320,32063:320,32067:320,22829:325,22830:325,31080:325,34440:325,22831:330,32068:330,22871:335,31679:335,22832:340,22833:345,22834:345,31676:345,13503:350,21884:350,21885:350,22451:350,22452:350,22835:350,22836:350,22837:350,22838:350,22839:350,23571:350,25867:350,25868:350,39671:350,22840:355,40068:355,22841:360,22842:360,22844:360,22845:360,22846:360,22847:360,31677:360,40067:360,22848:365,22849:365,40070:365,33208:375,35748:375,35749:375,35750:375,35751:375,40076:375,40079:375,40195:375,44958:375,40081:380,40072:385,40073:385,44939:385,40078:390,39666:395,40093:395,41163:395,44332:395,-60893:400,8827:400,40077:400,40087:400,40097:400,40109:400,40211:400,40212:400,40213:400,40214:400,40215:400,40216:400,40217:400,44322:400,44323:400,44324:400,44325:400,44327:400,44328:400,44329:400,44330:400,44331:400,33447:405,33448:410,43569:410,43570:410,41334:425,47499:425,41266:430,46376:435,46377:435,46378:435,46379:435,36922:450,36925:450,36928:450,36931:450,36934:450,21884:9999,21885:9999,21886:9999,22452:9999,22456:9999,22457:9999,22850:9999,22851:9999,22853:9999,22854:9999,22861:9999,22866:9999,32839:9999,32849:9999,32850:9999,32851:9999,32852:9999,35622:9999,35622:9999,35623:9999,35623:9999,35624:9999,35624:9999,35625:9999,35625:9999,35627:9999,35627:9999,36860:9999,36860:9999,36919:9999",
+	["Tradeskill.Crafted.Blacksmithing.Armorsmith"]="30069:260,30070:260,30074:330,30076:330,23563:350,28483:350,23564:375,23565:375,28484:375,28485:375,41189:415,41190:415",
+	["Tradeskill.Crafted.Blacksmithing.Basic"]="2852:1,2853:1,2862:1,3239:1,10421:1,2844:15,2845:20,3469:20,2847:25,3470:25,7166:30,7955:30,2851:35,3471:35,3488:35,33791:35,3472:40,3473:45,3474:60,2863:65,3240:65,6214:65,2857:70,3489:70,3478:75,2864:80,2854:90,3487:95,6350:95,6338:100,6731:100,15869:100,29201:100,2865:105,2866:105,3848:105,2848:110,3480:110,5540:110,2849:115,2850:120,2868:120,2871:125,3241:125,3481:125,3486:125,3490:125,7956:125,2869:130,3482:130,3491:130,7957:130,3483:135,7958:135,5541:140,2870:145,3484:145,3492:145,3485:150,6042:150,7071:150,11128:150,15870:150,3842:155,3851:155,10423:155,3840:160,3849:160,7913:160,7914:160,3835:165,6043:165,3836:170,3843:170,3852:170,3841:175,3850:175,7915:175,3844:180,3853:180,7916:180,12259:180,3846:185,3855:185,6040:185,7917:185,3837:190,6041:190,12260:190,17704:190,3845:195,3847:200,3854:200,3856:200,7963:200,7964:200,7965:200,7966:200,9060:200,11144:200,15871:200,29202:200,7918:205,7919:205,9366:205,7920:210,7921:210,7941:210,7922:215,7924:215,7967:215,7926:220,7927:220,7942:220,7928:225,7938:225,7943:225,7930:230,7931:230,7945:230,7932:235,7933:235,7954:235,7969:235,7944:240,7934:245,7939:245,7946:245,7961:245,7959:250,12404:250,12405:250,12406:250,12643:250,12644:250,7947:255,12408:255,7960:260,12416:260,30069:260,30070:260,30071:260,30072:260,30073:260,11608:265,12424:265,12428:265,11606:270,12415:270,12425:270,12624:270,11607:275,12645:275,12773:275,12774:275,15872:275,16206:275,11605:280,12409:280,12410:280,12775:280,12776:280,12777:280,11604:285,12418:285,12628:285,12781:285,12419:290,12625:290,12631:290,12782:290,12792:290,19043:290,19051:290,12417:295,12426:295,12427:295,12632:295,16989:295,17014:295,12414:300,12420:300,12422:300,12429:300,12610:300,12611:300,12612:300,12613:300,12614:300,12618:300,12619:300,12620:300,12633:300,12636:300,12639:300,12640:300,12641:300,12783:300,12784:300,12790:300,12794:300,12796:300,12797:300,12798:300,16988:300,17013:300,17015:300,17016:300,17193:300,18262:300,19048:300,19057:300,19148:300,19164:300,19166:300,19167:300,19168:300,19169:300,19170:300,19690:300,19691:300,19692:300,19693:300,19694:300,19695:300,20039:300,20549:300,20550:300,20551:300,22191:300,22194:300,22195:300,22196:300,22197:300,22198:300,22383:300,22384:300,22385:300,22669:300,22670:300,22671:300,22762:300,22763:300,22764:300,23482:300,23493:300,23528:300,25843:300,28420:300,29203:300,23484:305,23491:310,23497:310,23487:315,23488:315,23494:315,23498:315,23490:320,23499:320,23489:325,23502:325,23559:325,23503:330,23504:330,30074:330,30076:330,30077:330,30086:330,30087:330,30088:330,30089:330,30093:330,23505:335,23506:335,23508:335,33185:335,23507:340,23575:340,23515:350,23529:350,23563:350,25521:350,25844:350,28421:350,28425:350,28428:350,28431:350,28434:350,28437:350,28440:350,28483:350,29204:350,39087:350,39088:350,43854:350,23510:355,23511:355,23516:355,23509:360,23514:360,23517:360,23518:360,23523:360,23524:360,23530:360,25845:360,39083:360,40668:360,41974:360,23512:365,23513:365,23519:365,23520:365,23521:365,23525:365,23531:365,23532:365,23533:365,23534:365,23535:365,23536:365,23537:365,23538:365,23539:365,23540:365,23541:365,23542:365,23543:365,23544:365,23546:365,23554:365,23555:365,23556:365,32854:365,33173:365,34377:365,34378:365,34379:365,34380:365,23522:370,23526:370,23527:370,39084:370,39086:370,41975:370,23564:375,23565:375,23576:375,28426:375,28427:375,28429:375,28430:375,28432:375,28433:375,28435:375,28436:375,28438:375,28439:375,28441:375,28442:375,28484:375,28485:375,30031:375,30032:375,30033:375,30034:375,31364:375,31367:375,31368:375,31369:375,31370:375,31371:375,32401:375,32402:375,32403:375,32404:375,32568:375,32570:375,32571:375,32573:375,39085:375,40942:375,40956:375,40957:375,40958:375,40959:375,40949:380,41239:380,41240:380,40950:385,40951:385,41241:385,41242:385,40670:390,40952:390,41117:390,41181:390,41243:390,40669:395,40674:395,40943:395,40953:395,41126:395,41182:395,43860:395,-55641:400,-55628:400,40671:400,40672:400,40954:400,40955:400,41127:400,41183:400,43864:400,40673:405,40675:405,41128:405,41184:405,41245:405,43865:405,41113:410,41116:410,41185:410,42443:410,43871:410,41114:415,41129:415,41186:415,41187:415,41188:415,41189:415,41190:415,41611:415,43870:415,41348:420,41349:420,41351:420,41352:420,41354:420,41355:420,41356:420,41357:420,41745:420,41976:420,42500:420,42723:420,42724:420,42727:420,42729:420,42730:420,43587:420,43588:420,41344:425,41345:425,41346:425,41347:425,41350:425,41353:425,42725:425,42726:425,42728:425,43586:425,43853:430,41257:440,41383:440,41384:440,41386:440,41387:440,41388:440,41391:440,41392:440,41394:440,42435:440,42508:440,45085:440,44936:450,45550:450,45551:450,45552:450,45559:450,45560:450,45561:450,47570:450,47571:450,47572:450,47573:450,47574:450,47575:450,47589:450,47590:450,47591:450,47592:450,47593:450,47594:450,49902:450,49903:450,49904:450,49905:450,49906:450,49907:450,7929:9999,7935:9999,7936:9999,7937:9999,44505:9999",
+	["Tradeskill.Crafted.Blacksmithing.Weaponsmith.Axesmith"]="30087:330,30088:330,28431:350,28434:350,28432:375,28433:375,28435:375,28436:375",
+	["Tradeskill.Crafted.Blacksmithing.Weaponsmith.Basic"]="30071:260,30072:260,30073:260,41186:415,41187:415,41188:415",
+	["Tradeskill.Crafted.Blacksmithing.Weaponsmith.Hammersmith"]="30089:330,30093:330,28437:350,28440:350,28438:375,28439:375,28441:375,28442:375",
+	["Tradeskill.Crafted.Blacksmithing.Weaponsmith.Swordsmith"]="30077:330,30086:330,28425:350,28428:350,28426:375,28427:375,28429:375,28430:375",
+	["Tradeskill.Crafted.Cooking"]="787:1,2679:1,2681:1,6290:1,6888:1,12224:1,13851:1,17197:1,24105:1,27635:1,30816:1,33924:1,44837:1,44837:1,46691:1,2680:10,2888:10,5472:10,5473:20,5474:35,17198:35,6890:40,724:50,733:50,2684:50,4592:50,5095:50,5476:50,5477:50,5525:50,6316:50,27636:50,3220:60,7676:60,22645:60,2683:75,2687:80,3662:80,21072:80,2682:85,6657:85,3663:90,5478:90,5526:90,1017:100,1082:100,4593:100,5479:100,34832:100,44836:100,44836:100,2685:110,3666:110,3726:110,5480:110,3664:120,3727:125,5527:125,12209:125,3665:130,3728:150,20074:150,44840:160,44840:160,3729:175,4457:175,4594:175,6038:175,8364:175,10841:175,12210:175,12212:175,12213:175,12214:175,21217:175,12215:200,12217:200,17222:200,44839:220,44839:220,6887:225,12216:225,12218:225,13927:225,13930:225,16766:225,18045:225,13928:240,13929:240,13931:250,13932:250,35563:250,35565:250,13933:275,13934:275,13935:275,18254:275,44838:280,44838:280,20452:285,21023:300,27651:300,27655:300,27661:300,27662:300,30155:300,33866:300,33867:300,33874:300,27656:310,27663:310,27657:315,27664:320,27665:320,33048:320,27658:325,27659:325,27660:325,27666:325,33825:325,33872:325,34411:325,31672:335,31673:335,27667:350,33052:350,33053:350,34748:350,34749:350,34750:350,34751:350,34752:350,34759:350,34760:350,34761:350,34762:350,34763:350,34764:350,34765:350,39520:350,42942:350,43268:350,43488:350,43490:350,43491:350,43492:350,34753:375,34754:400,34755:400,34756:400,34757:400,34758:400,34766:400,34767:400,34768:400,34769:400,42993:400,42994:400,42995:400,42996:400,42997:400,42998:400,42999:400,43000:400,43001:400,43004:400,43005:400,44953:400,45932:400,43478:425,43480:425,43015:450,33004:9999,34747:9999",
+	["Tradeskill.Crafted.Enchanting"]="-7428:1,-7418:1,6218:1,11287:10,-7420:15,-7443:20,-7426:40,-7454:45,20744:45,-7457:50,-7766:60,-7748:60,11288:70,-7782:80,-7779:80,-7776:80,-7788:90,-7786:90,-7771:90,-7793:100,-7745:100,6339:100,-13378:105,-13419:110,-13380:110,-13464:115,-13421:115,-7859:120,-7857:120,-7867:125,-7863:125,-7861:125,-13501:130,-13485:130,-13522:135,-13538:140,-13536:140,-13503:140,-13620:145,-13617:145,-13612:145,-13607:145,-13529:145,-13626:150,-13622:150,11130:150,20745:150,-13635:155,-13631:155,11289:155,-13640:160,-13637:160,-13642:165,-13648:170,-13646:170,-13644:170,-13657:175,-13655:175,-13653:175,11290:175,-13661:180,-13659:180,-13663:185,-21931:190,-13687:190,-13693:195,-13689:195,-13700:200,-13698:200,-13695:200,11145:200,20746:200,-13794:205,-13746:205,-13822:210,-13817:210,-13815:210,-13841:215,-13836:215,-13858:220,-13846:220,-63746:225,-13890:225,-13887:225,-13882:225,-13868:225,-13917:230,-13915:230,-13905:230,-13935:235,-13933:235,-13931:235,-13939:240,-13937:240,-13945:245,-13943:245,-13941:245,-13948:250,-13947:250,12655:250,12810:250,20747:250,-20008:255,-20020:260,-20017:265,-20014:265,-13898:265,11811:265,-20012:270,-20009:270,-20026:275,-20024:275,20750:275,-20016:280,-20029:285,-20015:285,-27837:290,-23801:290,-23800:290,-23799:290,-20028:290,16207:290,-20033:295,-20030:295,-20023:295,-20013:295,-20010:295,-34002:300,-33991:300,-25086:300,-25084:300,-25083:300,-25082:300,-25081:300,-25080:300,-25079:300,-25078:300,-25074:300,-25073:300,-25072:300,-23804:300,-23803:300,-23802:300,-22750:300,-22749:300,-20036:300,-20035:300,-20034:300,-20032:300,-20031:300,-20025:300,-20011:300,20748:300,20749:300,22448:300,22461:300,-34001:305,-33993:305,-27948:305,-27899:305,-34004:310,-33996:310,-27961:310,-27944:310,22521:310,-27957:315,-27905:315,-33990:320,-27950:320,-27906:320,-34009:325,-34003:325,-27945:325,-27911:325,22460:325,-44383:330,-27962:330,-27913:335,22448:335,22449:335,-33995:340,-27968:340,-27967:340,-27951:340,-27946:340,22522:340,-33992:345,-27960:345,-60609:350,-46578:350,-42620:350,-34010:350,-34006:350,-34005:350,-33999:350,-27975:350,-27972:350,-27971:350,-27958:350,-27914:350,22459:350,22462:350,-60616:360,-46594:360,-44592:360,-34008:360,-34007:360,-33997:360,-33994:360,-28004:360,-28003:360,-27977:360,-27947:360,-27924:360,-27920:360,-27917:360,-44623:370,-27954:370,-27926:370,-71692:375,-60606:375,-47051:375,-44555:375,-44506:375,-42974:375,-27984:375,-27982:375,-27981:375,-27927:375,22449:375,22463:375,-60621:380,-62959:385,-60623:385,-44528:385,-60653:395,-44635:395,-44629:395,-44582:395,-44492:395,-59636:400,-47766:400,-44645:400,-44636:400,-44616:400,-44596:400,-44593:400,-44590:400,-44556:400,-44510:400,-44500:400,-44494:400,-44483:400,-44584:405,-44484:405,-44630:410,-44588:410,-44508:410,-44488:410,-44589:415,-44529:415,-60663:420,-44633:420,-44598:420,-44513:420,-44509:420,-44489:420,-60668:425,-47900:425,-44576:425,-44524:425,44452:425,-60691:430,-47898:430,-47672:430,-44621:430,-44595:430,-44575:430,-60714:435,-60707:435,-44625:435,-44591:435,-60767:440,-60763:440,-60692:440,-59625:440,-59621:440,-59619:440,-47901:440,-47899:440,-44631:440,-69412:445,-64579:450,-64441:450,-62948:450,-62256:450",
+	["Tradeskill.Crafted.Engineering.Basic"]="4357:1,4358:1,4359:30,4360:30,4361:50,4362:50,6219:50,4405:60,4363:65,4364:75,4365:75,4401:75,4366:85,4404:90,4367:100,4368:100,6712:100,6714:100,4369:105,4370:105,4371:105,4406:110,4372:120,4373:120,4374:120,4375:125,4376:125,4377:125,4378:125,7506:125,21557:125,21558:125,21559:125,4379:130,5507:135,4380:140,4381:140,4382:145,4383:145,4384:150,4385:150,6533:150,9312:150,9313:150,9318:150,10558:150,4386:155,4387:160,4388:160,4403:165,7148:165,4389:170,4390:175,4391:175,10498:175,10499:175,10505:175,10507:175,21589:175,21590:175,21592:175,4407:180,4392:185,4393:185,4852:185,4394:190,17716:190,4395:195,10559:195,4396:200,4397:200,4398:200,10560:200,11590:200,18588:200,10500:205,10508:205,10546:210,10514:215,10561:215,10501:220,10510:220,10502:225,10518:225,21569:225,21571:225,21574:225,21576:225,10503:230,10506:230,10562:235,10548:240,10504:245,10576:250,15846:250,15992:250,18641:250,19026:250,21277:250,45631:250,15993:260,15994:260,15995:260,18631:260,18634:260,15996:265,15999:270,7191:275,16000:275,16004:275,16023:275,18594:275,18637:275,21570:275,21714:275,21716:275,21718:275,22728:275,16005:285,16006:285,16008:290,16009:290,18638:290,16007:300,16022:300,16040:300,18168:300,18232:300,18282:300,18283:300,18639:300,19998:300,19999:300,23736:300,23781:300,23782:300,23783:300,34060:300,23821:305,23742:320,23737:325,23767:325,23774:325,23784:325,33092:330,23764:335,23768:335,23771:335,25886:335,32413:335,32423:335,23758:340,23761:340,23785:340,23786:340,23787:340,33093:345,23746:350,23762:350,23819:350,32461:350,32472:350,32473:350,32474:350,32475:350,32476:350,32478:350,32479:350,32480:350,32494:350,32495:350,39681:350,39690:350,40771:350,23824:355,35581:355,23747:360,23763:360,23765:360,34113:360,23748:375,23766:375,32756:375,34061:375,34353:375,34354:375,34355:375,34356:375,34357:375,34847:375,35181:375,35182:375,35183:375,35184:375,35185:375,39682:375,40536:375,40892:375,40893:375,-63765:380,-55002:380,-54793:380,-54736:390,39683:390,44739:390,-63770:400,-54999:400,-54998:400,39688:400,-55016:405,23775:405,44951:405,-67839:410,37567:410,47828:410,42546:415,40767:420,40865:420,41112:420,44740:420,44741:420,44742:420,40768:425,41121:425,41146:425,41167:430,40772:435,48933:435,42549:440,42550:440,42551:440,42552:440,42553:440,42554:440,42555:440,44949:440,41168:450,41508:450,44413:450,44504:450,49040:450,20475:9999,40769:9999",
+	["Tradeskill.Crafted.Engineering.Gnomish"]="10713:205,10716:205,11826:205,10720:210,10724:210,10545:215,10721:215,10725:230,10726:235,10645:240,18660:260,18986:260,18645:265,23841:325,23835:340,23825:350,30544:350,23828:375,23829:375,40895:425",
+	["Tradeskill.Crafted.Engineering.Goblin"]="7189:130,10542:205,10543:205,10577:205,10577:205,10644:205,10646:205,11825:205,10587:230,10586:235,10727:240,10588:245,18984:260,18587:265,23826:325,23827:340,23836:350,30542:350,23838:375,23839:375,42641:425",
+	["Tradeskill.Crafted.First Aid"]="1251:1,2581:40,3530:80,6452:80,3531:115,6453:130,6450:150,6451:180,8544:210,8545:240,14529:260,14530:290,19440:300,21990:300,21991:330,34721:350,34722:400",
+	["Tradeskill.Crafted.Inscription"]="955:1,1180:1,1181:1,37101:1,954:15,3012:15,37118:35,38682:35,39469:35,-61288:75,1711:75,1712:75,2290:75,39774:75,43316:75,43331:75,43332:75,43334:75,43335:75,43338:75,43339:75,43340:75,43342:75,43343:75,43344:75,43350:75,43351:75,43355:75,43356:75,43359:75,43360:75,43361:75,43364:75,43365:75,43366:75,43367:75,43368:75,43369:75,43370:75,43371:75,43372:75,43373:75,43374:75,43376:75,43377:75,43378:75,43379:75,43380:75,43381:75,43385:75,43386:75,43388:75,43389:75,43390:75,43391:75,43392:75,43393:75,43394:75,43395:75,43396:75,43397:75,43398:75,43399:75,43400:75,43535:75,43539:75,43544:75,43671:75,43672:75,43673:75,43674:75,43725:75,44920:75,44922:75,44923:75,49084:75,64670:75,2289:80,40913:80,41096:80,42408:80,42741:80,42907:80,42956:80,1477:85,40922:85,41531:85,42455:85,43115:85,43413:85,40897:90,41095:90,42743:90,42912:90,41537:95,42410:95,42462:95,42960:95,43418:95,40924:100,42898:100,43116:100,48720:100,41106:105,42398:105,42961:105,37168:110,41530:110,42461:110,43423:110,43515:110,40914:115,42735:115,42900:115,41092:120,42400:120,42962:120,67485:120,67487:120,41532:125,42458:125,43117:125,43417:125,43654:125,43655:125,44142:125,40923:130,42737:130,42908:130,41108:135,42402:135,42964:135,41536:140,42465:140,43427:140,40919:150,42910:150,43118:150,67483:150,67486:150,4422:155,41100:155,42738:155,4424:160,42411:160,42966:160,4419:165,41540:165,42467:165,4426:170,40909:170,43422:170,4425:175,42746:175,42897:175,43119:175,43656:175,43657:175,44161:175,41104:180,42415:180,64493:180,41547:185,42970:185,42473:190,43424:190,40902:200,42903:200,43120:200,43850:200,44314:200,10307:205,41099:205,10306:210,42416:210,42972:210,10308:215,41533:215,42466:215,10310:220,40916:220,10309:225,42744:225,42904:225,43121:225,43660:225,43661:225,44163:225,41098:230,42397:230,41535:235,42973:235,42470:240,43414:240,27502:250,43122:250,45622:250,45775:250,50045:250,67482:250,27501:255,45760:255,45768:255,45776:255,27499:260,40901:260,42905:260,27503:265,41103:265,43536:265,27498:270,42399:270,43543:270,41541:275,42468:275,43123:275,43663:275,43664:275,44316:275,45804:275,43546:280,42974:285,43416:285,43541:285,33461:290,43124:290,33460:295,33457:300,41105:300,41527:300,43548:300,33462:305,42963:305,43553:305,33458:310,40903:310,43825:310,42401:315,42911:315,44955:315,43428:320,43826:320,42471:325,43125:325,43666:325,43667:325,44317:325,41542:330,43551:330,67484:330,41094:335,42736:335,42955:340,43827:340,43432:345,43554:345,37093:350,40896:350,42406:350,42453:350,42906:350,43126:350,43549:350,44315:350,45849:350,45854:350,37097:355,37091:360,43465:365,43463:370,41102:375,41539:375,42412:375,42745:375,42909:375,43127:375,43552:375,44928:375,50077:375,-61177:385,40899:385,40900:385,40906:385,40908:385,40912:385,40915:385,40920:385,40921:385,41097:385,41101:385,41107:385,41109:385,41110:385,41517:385,41518:385,41524:385,41526:385,41529:385,41534:385,41538:385,41552:385,42396:385,42403:385,42404:385,42405:385,42407:385,42409:385,42414:385,42417:385,42454:385,42456:385,42457:385,42459:385,42460:385,42463:385,42464:385,42472:385,42739:385,42742:385,42748:385,42751:385,42753:385,42754:385,42899:385,42901:385,42902:385,42913:385,42914:385,42915:385,42917:385,42954:385,42957:385,42958:385,42959:385,42965:385,42967:385,42968:385,42969:385,42971:385,43412:385,43415:385,43419:385,43421:385,43425:385,43430:385,43431:385,43533:385,43534:385,43537:385,43542:385,43547:385,43550:385,43867:385,43868:385,43869:385,44684:385,-61120:400,-61119:400,-61118:400,-61117:400,37094:400,38322:400,42752:400,44210:400,44318:400,37098:405,37092:410,43466:415,43464:420,45601:425,45623:425,49632:440,45602:9999,45603:9999,45604:9999,45625:9999,45731:9999,45732:9999,45733:9999,45734:9999,45735:9999,45736:9999,45737:9999,45738:9999,45739:9999,45740:9999,45741:9999,45742:9999,45743:9999,45744:9999,45745:9999,45746:9999,45747:9999,45753:9999,45755:9999,45756:9999,45757:9999,45758:9999,45761:9999,45762:9999,45764:9999,45766:9999,45767:9999,45769:9999,45770:9999,45771:9999,45772:9999,45777:9999,45778:9999,45779:9999,45780:9999,45781:9999,45782:9999,45783:9999,45785:9999,45789:9999,45790:9999,45792:9999,45793:9999,45794:9999,45795:9999,45797:9999,45799:9999,45800:9999,45806:9999,63481:9999,63539:9999",
+	["Tradeskill.Crafted.Jewelcrafting"]="20816:1,20906:1,21931:1,25498:1,21932:5,25438:20,25439:20,20821:30,21934:30,20817:50,20818:50,20907:50,21933:50,25880:50,20820:60,30804:65,20823:70,30419:75,20827:80,31154:80,20826:90,20828:100,30420:105,20830:110,20909:110,25881:110,20832:120,20950:120,20833:125,20954:125,20955:135,20831:150,20958:150,20963:150,20966:160,20959:170,20960:170,25882:175,20961:180,29157:180,20967:190,21748:200,21756:200,29158:200,45627:200,20964:210,21758:215,21755:220,20969:225,21752:225,21760:225,25883:225,30421:230,21763:235,21764:235,21765:240,21754:245,21753:250,21766:250,21767:260,21769:260,30422:265,21768:275,21774:275,21775:280,21790:280,29159:280,21777:285,21778:285,21791:290,29160:290,21784:300,21789:300,23094:300,23098:300,23103:300,23108:300,23118:300,45054:300,21792:305,23095:305,23099:305,23104:305,23109:305,28595:305,21779:310,24074:310,24075:310,23100:315,23105:315,23115:315,23120:315,24076:320,23101:325,23110:325,23111:325,23114:325,23116:325,23119:325,31079:325,31866:325,31869:325,32772:325,32833:325,32774:330,24077:335,24078:335,32508:340,24087:345,24027:350,24028:350,24030:350,24032:350,24033:350,24035:350,24036:350,24039:350,24048:350,24051:350,24053:350,24054:350,24055:350,24056:350,24058:350,24059:350,24060:350,24061:350,24065:350,24066:350,24067:350,24079:350,31867:350,31868:350,32836:350,33782:350,35315:350,35318:350,35707:350,35945:350,39900:350,39905:350,39907:350,39908:350,39909:350,39910:350,39912:350,39915:350,39917:350,39918:350,39919:350,39927:350,39932:350,39933:350,39934:350,39935:350,39939:350,39940:350,39942:350,39945:350,39947:350,39948:350,39949:350,39950:350,39951:350,39952:350,39954:350,39955:350,39956:350,39957:350,39958:350,39959:350,39965:350,39966:350,39967:350,39968:350,39975:350,39976:350,39977:350,39978:350,39979:350,39980:350,39981:350,39982:350,39983:350,39991:350,39992:350,41367:350,42336:350,42337:350,42420:350,42421:350,42701:350,43244:350,43245:350,43246:350,43247:350,24080:355,24082:355,24088:355,24106:355,24110:355,24085:360,24092:360,24093:360,24095:360,24097:360,24098:360,24114:360,24116:360,30825:360,33131:360,33133:360,33134:360,33135:360,33140:360,33143:360,33144:360,24086:365,24089:365,24117:365,24121:365,25890:365,25893:365,25894:365,25895:365,25896:365,25897:365,25898:365,25899:365,25901:365,32409:365,32410:365,32776:365,34220:365,34358:365,34359:365,34360:365,34361:365,34362:365,34363:365,24122:370,24123:370,24124:370,24125:370,24126:370,24127:370,24128:370,35501:370,35503:370,36767:370,42142:370,42143:370,42144:370,42145:370,42149:370,42150:370,42151:370,42152:370,42154:370,42155:370,42156:370,42158:370,31398:375,31399:375,32193:375,32194:375,32196:375,32198:375,32199:375,32200:375,32201:375,32203:375,32205:375,32206:375,32209:375,32211:375,32212:375,32215:375,32217:375,32218:375,32220:375,32221:375,32222:375,32223:375,32224:375,32225:375,32226:375,35693:375,35694:375,35700:375,35702:375,35703:375,35758:375,35759:375,35760:375,35761:375,42338:380,42339:380,39996:390,39997:390,40000:390,40001:390,40003:390,40008:390,40010:390,40011:390,40013:390,40014:390,40016:390,40017:390,40022:390,40023:390,40025:390,40026:390,40028:390,40032:390,40034:390,40037:390,40038:390,40039:390,40040:390,40041:390,40044:390,40048:390,40049:390,40050:390,40051:390,40052:390,40055:390,40057:390,40058:390,40059:390,40086:390,40088:390,40089:390,40090:390,40091:390,40095:390,40098:390,40100:390,40102:390,40105:390,40106:390,42702:390,43248:390,43249:390,42341:400,42395:400,42413:400,42418:400,44063:400,41285:420,41307:420,41333:420,41335:420,41376:420,41377:420,41378:420,41379:420,41380:420,41382:420,41385:420,41389:420,41395:420,41396:420,41398:420,41400:420,41401:420,42340:420,43250:420,43251:420,43252:420,43253:420,43482:420,43498:420,43582:420,45808:420,45809:420,45812:420,45813:420,44943:425,42642:430,42643:430,42644:430,41339:440,41375:440,41381:440,41397:440,42645:440,42646:440,42647:440,39998:450,40045:450,40111:450,40112:450,40113:450,40115:450,40116:450,40118:450,40119:450,40120:450,40122:450,40124:450,40125:450,40127:450,40128:450,40129:450,40130:450,40133:450,40135:450,40139:450,40141:450,40142:450,40143:450,40144:450,40145:450,40146:450,40147:450,40149:450,40150:450,40152:450,40153:450,40154:450,40155:450,40157:450,40160:450,40162:450,40163:450,40164:450,40165:450,40166:450,40167:450,40168:450,40169:450,40171:450,40173:450,40177:450,40179:450,40180:450,40182:450,49110:450,21780:9999,21793:9999,40159:9999,51951:9999,52081:9999,52082:9999,52083:9999,52084:9999,52085:9999,52086:9999,52087:9999,52088:9999,52089:9999,52090:9999,52091:9999,52092:9999,52093:9999,52094:9999,52095:9999,52096:9999,52097:9999,52098:9999,52099:9999,52100:9999,52101:9999,52102:9999,52103:9999,52104:9999,52105:9999,52106:9999,52107:9999,52108:9999,52109:9999,52110:9999,52111:9999,52112:9999,52113:9999,52114:9999,52115:9999,52116:9999,52117:9999,52118:9999,52119:9999,52120:9999,52121:9999,52122:9999,52123:9999,52124:9999,52125:9999,52126:9999,52127:9999,52128:9999",
+	["Tradeskill.Crafted.Leatherworking.Basic"]="2302:1,2304:1,2318:1,5957:1,7276:1,7277:1,2303:15,4237:25,4231:35,7280:35,2300:40,5081:40,2309:55,4239:55,2310:60,2311:60,7281:70,2312:75,4242:75,4246:80,2308:85,4243:85,2307:90,5780:90,6466:90,6709:90,5781:95,7282:95,2313:100,2315:100,2317:100,2319:100,4233:100,4244:100,7283:100,20575:100,5958:105,6467:105,2316:110,5961:115,6468:115,2314:120,4248:120,4250:120,7284:120,7285:120,4249:125,7348:125,4251:130,4253:135,7349:135,7352:135,4252:140,7358:140,4247:145,7359:145,3719:150,4234:150,4236:150,4254:150,4265:150,18662:150,4255:155,18948:155,4257:160,5962:160,4455:165,4456:165,7373:165,4258:170,5782:170,5963:170,4256:175,5964:175,7374:175,7375:175,4259:180,7377:180,4262:185,5965:185,7378:185,5739:190,5783:190,5966:190,7386:190,17721:190,4260:195,7387:195,4264:200,4304:200,7390:200,7391:200,8172:200,8173:200,8174:200,18238:200,8175:205,8176:205,8187:205,8189:210,8192:210,8198:210,8200:215,8201:220,8203:220,8205:220,8210:220,8204:225,8211:225,8214:225,8345:225,8347:225,8191:230,8193:230,8346:230,8185:235,8197:235,8209:235,8202:240,8207:240,8216:240,8206:245,8213:245,8170:250,8208:250,8212:250,8215:250,8348:250,8349:250,15407:250,15564:250,8367:255,15077:255,15045:260,15083:260,29964:260,29970:260,29971:260,15074:265,15076:265,15084:265,15046:270,15054:270,15061:270,15067:270,15091:270,15057:275,15064:275,15071:275,15073:275,15078:275,15092:275,18258:275,15072:280,15082:280,15086:280,15093:280,20296:280,15048:285,15053:285,15056:285,15060:285,15065:285,15069:285,15079:285,34086:285,15050:290,15063:290,15066:290,15075:290,15087:290,15094:290,19044:290,19052:290,15049:295,15058:295,15070:295,15080:295,16982:295,15047:300,15051:300,15052:300,15055:300,15059:300,15062:300,15068:300,15081:300,15085:300,15088:300,15090:300,15095:300,15096:300,15138:300,16983:300,16984:300,18251:300,18504:300,18506:300,18508:300,18509:300,18510:300,18511:300,19049:300,19058:300,19149:300,19157:300,19162:300,19163:300,19685:300,19686:300,19687:300,19688:300,19689:300,20295:300,20380:300,20476:300,20477:300,20478:300,20479:300,20480:300,20481:300,21278:300,21887:300,22661:300,22662:300,22663:300,22664:300,22665:300,22666:300,22759:300,22760:300,22761:300,25650:300,25654:300,25662:300,25669:300,25673:300,25679:300,34482:300,25655:310,25661:310,25674:310,25670:315,25656:320,25668:320,25675:320,23793:325,25651:325,25652:325,25660:325,29540:325,25671:330,25676:330,29973:330,29974:330,29975:330,25657:335,25659:335,29533:335,29534:335,25685:340,25692:340,25694:340,29483:340,29485:340,29486:340,29487:340,29488:340,29528:340,29530:345,25653:350,25680:350,25681:350,25682:350,25683:350,25686:350,25687:350,25693:350,25695:350,29489:350,29490:350,29491:350,29492:350,29493:350,29494:350,29495:350,29496:350,29497:350,29498:350,29499:350,29500:350,29531:350,33568:350,34207:350,34330:350,38375:350,25690:355,25691:355,25689:360,25696:360,25697:360,33122:360,34490:360,29502:365,29503:365,29504:365,29505:365,29506:365,29507:365,29508:365,29509:365,29510:365,29511:365,29512:365,29514:365,29529:365,29535:365,29536:365,33204:365,34369:365,34370:365,34371:365,34372:365,34373:365,34374:365,34375:365,34376:365,29532:370,38400:370,38404:370,38409:370,38410:370,38412:370,38416:370,38421:370,38422:370,29515:375,29516:375,29517:375,29519:375,29520:375,29521:375,29522:375,29523:375,29524:375,29525:375,29526:375,29527:375,30039:375,30040:375,30041:375,30042:375,30043:375,30044:375,30045:375,30046:375,32393:375,32394:375,32395:375,32396:375,32397:375,32398:375,32399:375,32400:375,32574:375,32575:375,32577:375,32579:375,32580:375,32581:375,32582:375,32583:375,38401:375,38403:375,38407:375,38408:375,38414:375,38418:375,38420:375,38424:375,38402:380,38405:380,38406:380,38411:380,38413:380,38415:380,38417:380,38419:380,38441:380,38433:385,38434:385,38435:385,38436:385,38437:385,38438:385,38439:385,38440:385,38425:390,38590:390,38376:395,38591:395,38592:395,41238:395,44436:395,44437:395,44440:395,44441:395,44443:395,44444:395,-60584:400,-57701:400,-57699:400,-57696:400,-57694:400,-57692:400,-57691:400,-57690:400,-57683:400,38372:400,44438:400,44442:400,44445:400,-60583:405,38371:405,38347:415,38399:415,44446:415,43130:420,43131:420,43133:420,43255:420,43256:420,43258:420,43260:420,43261:420,43262:420,43263:420,43264:420,43433:420,43434:420,43435:420,43444:420,43445:420,43447:420,43449:420,43452:420,43453:420,43455:420,43457:420,43591:420,43592:420,43594:420,43595:420,38373:425,38374:425,42731:425,43129:425,43132:425,43257:425,43265:425,43266:425,43271:425,43273:425,43436:425,43437:425,43438:425,43439:425,43442:425,43443:425,43446:425,43448:425,43450:425,43451:425,43454:425,43456:425,43590:425,43593:425,44963:425,43458:440,43459:440,43461:440,43469:440,43481:440,43484:440,43495:440,43502:440,43565:440,43566:440,44930:440,44931:440,45553:450,45554:450,45555:450,45556:450,45562:450,45563:450,45564:450,45565:450,47576:450,47577:450,47579:450,47580:450,47581:450,47582:450,47583:450,47584:450,47595:450,47596:450,47597:450,47598:450,47599:450,47600:450,47601:450,47602:450,49633:450,49634:450,49894:450,49895:450,49896:450,49897:450,49898:450,49899:450,49900:450,49901:450,34105:9999",
+	["Tradeskill.Crafted.Leatherworking.Dragonscale"]="29971:260,29975:330,29515:375,29516:375,29517:375,29519:375,29520:375,29521:375",
+	["Tradeskill.Crafted.Leatherworking.Elemental"]="29964:260,29973:330,29525:375,29526:375,29527:375",
+	["Tradeskill.Crafted.Leatherworking.Tribal"]="29970:260,29974:330,29522:375,29523:375,29524:375",
+	["Tradeskill.Crafted.Smelting"]="2840:1,2841:65,3576:65,2842:75,3575:125,3577:155,3859:165,3860:175,6037:230,11371:230,12359:230,12655:250,23445:275,17771:300,22573:300,22574:300,23446:325,23447:350,23448:350,36916:350,23449:375,23573:375,35128:375,36913:400,37663:450,41163:450",
+	["Tradeskill.Crafted.Specialization"]="m,Tradeskill.Crafted.Blacksmithing.Armorsmith,Tradeskill.Crafted.Blacksmithing.Weaponsmith.Axesmith,Tradeskill.Crafted.Blacksmithing.Weaponsmith.Basic,Tradeskill.Crafted.Blacksmithing.Weaponsmith.Hammersmith,Tradeskill.Crafted.Blacksmithing.Weaponsmith.Swordsmith,Tradeskill.Crafted.Engineering.Gnomish,Tradeskill.Crafted.Engineering.Goblin,Tradeskill.Crafted.Leatherworking.Dragonscale,Tradeskill.Crafted.Leatherworking.Elemental,Tradeskill.Crafted.Leatherworking.Tribal,Tradeskill.Crafted.Tailoring.Mooncloth,Tradeskill.Crafted.Tailoring.Shadoweave,Tradeskill.Crafted.Tailoring.Spellfire",
+	["Tradeskill.Crafted.Tailoring.Basic"]="2570:1,2576:1,2996:1,4344:1,10045:1,2568:10,7026:15,10046:20,4343:30,6238:30,6241:30,4307:35,2572:40,2575:40,2577:40,6786:40,4238:45,6239:55,6240:55,2580:60,4308:60,2569:65,2578:70,2579:70,4309:70,5762:70,6242:70,2584:75,2997:75,10047:75,4240:80,4312:80,2582:85,4310:85,5542:90,2583:95,4241:95,4313:95,2587:100,4311:100,6263:100,2585:105,4314:110,4316:110,4330:110,6787:110,5763:115,6264:115,4315:120,6384:120,6385:120,10048:120,4305:125,4317:125,4320:125,4331:125,45626:125,4318:130,4332:135,5766:135,4321:140,7046:140,4319:145,7047:145,7048:145,4245:150,4324:150,5770:150,7049:150,4333:155,6795:160,7050:160,4322:165,7065:165,4323:170,4334:170,7051:170,4325:175,4339:175,5764:175,6796:175,7052:175,7053:175,7055:175,4328:180,7056:180,7057:180,4326:185,4335:185,5765:185,7058:185,7054:190,7059:190,7060:190,17723:190,7061:195,7062:195,4327:200,4329:200,4336:200,7063:205,9998:205,9999:205,7064:210,10001:210,10002:210,10003:215,10004:215,10007:215,10008:215,10009:215,10056:215,10052:220,10018:225,10019:225,10021:225,10023:225,10042:225,10050:225,22246:225,10024:230,10026:230,10027:230,10054:230,10028:235,10029:235,10051:235,10053:235,10055:235,10030:240,10031:240,10033:240,10034:240,10025:245,10035:245,10044:245,38278:245,6836:250,10036:250,10040:250,10041:250,14048:250,14342:250,21154:250,21542:250,34085:250,34087:250,38277:250,13856:255,13868:255,13869:255,13857:260,13858:260,14042:260,14046:260,21340:260,13860:265,13870:265,14143:265,14043:270,14100:270,14101:270,14142:270,13863:275,14044:275,14103:275,14107:275,14132:275,14134:275,14141:275,18258:275,22248:275,22251:275,13864:280,13871:280,14045:280,21341:280,13865:285,14108:285,14136:285,14104:290,14111:290,14137:290,14144:290,15802:290,19047:290,19056:290,13866:295,13867:300,14106:300,14112:300,14128:300,14130:300,14138:300,14139:300,14140:300,14146:300,14152:300,14153:300,14154:300,14155:300,14156:300,16979:300,16980:300,18263:300,18405:300,18407:300,18408:300,18409:300,18413:300,18486:300,19050:300,19059:300,19156:300,19165:300,19682:300,19683:300,19684:300,20537:300,20538:300,20539:300,21342:300,21840:300,22249:300,22252:300,22652:300,22654:300,22655:300,22658:300,22660:300,22756:300,22757:300,22758:300,24268:300,44554:300,21849:310,21850:310,21841:315,21851:320,21842:325,21852:325,21853:335,24273:335,24275:335,21843:340,21854:340,21859:340,24270:340,21844:345,21855:345,21845:350,21860:350,21866:350,24249:350,24250:350,24251:350,24252:350,24253:350,24254:350,24271:350,24272:350,30831:350,30837:350,41510:350,41512:350,41513:350,21846:355,21863:355,21869:355,21873:355,21861:360,21862:360,21867:360,30838:360,41509:360,41515:360,44211:360,21847:365,21864:365,21870:365,21874:365,24255:365,24256:365,24257:365,24258:365,24259:365,24260:365,34364:365,34365:365,34366:365,34367:365,21868:370,30839:370,41522:370,21848:375,21858:375,21865:375,21871:375,21872:375,21875:375,21876:375,24261:375,24262:375,24263:375,24264:375,24266:375,24267:375,24274:375,24276:375,30035:375,30036:375,30037:375,30038:375,32389:375,32390:375,32391:375,32392:375,32420:375,32584:375,32585:375,32586:375,32587:375,38225:375,41520:375,41519:380,41521:380,41523:385,41528:385,41525:390,41607:390,41543:395,41546:395,41548:395,41608:395,41248:400,41249:400,41250:400,41251:400,41252:400,41253:400,41254:400,41255:400,41511:400,41551:400,41601:400,41603:400,45811:400,-56039:405,-56034:405,41545:405,41549:405,45810:405,41544:410,41550:410,41599:410,41553:415,41555:415,41593:415,41594:415,41595:415,41609:415,43969:415,43974:415,-55777:420,-55769:420,-55642:420,41516:420,41554:420,41610:420,43584:420,43585:420,43970:420,43971:420,43972:420,43973:420,43975:420,41984:425,41985:425,41986:425,42093:425,42095:425,42096:425,43583:425,44558:425,41602:430,41604:430,41597:435,45773:435,41598:440,42103:440,42111:440,42113:440,41600:445,42100:450,42101:450,42102:450,45557:450,45558:450,45566:450,45567:450,47585:450,47586:450,47587:450,47588:450,47603:450,47604:450,47605:450,47606:450,49890:450,49891:450,49892:450,49893:450,30459:9999,30460:9999,30461:9999",
+	["Tradeskill.Crafted.Tailoring.Mooncloth"]="21873:355,21874:365,21875:375",
+	["Tradeskill.Crafted.Tailoring.Shadoweave"]="21869:355,21870:365,21871:375",
+	["Tradeskill.Crafted.Tailoring.Spellfire"]="21846:355,21847:365,21848:375",
+
+	["Tradeskill.Gather.Disenchant"]="10938,10939,10940,10978,10998,11082,11083,11084,11134,11135,11137,11138,11139,11174,11175,11176,11177,11178,14343,14344,16202,16203,16204,20725,22445,22446,22447,22448,22449,22450,34052,34053,34054,34056,34057",
+	["Tradeskill.Gather.Fishing"]="118,858,929,1467,1710,2455,3371,3372,3385,3671,3820,3827,3857,3928,4603,4875,5569,6149,6289,6291,6292,6294,6297,6299,6301,6303,6307,6308,6309,6310,6311,6317,6351,6352,6353,6354,6355,6356,6357,6358,6359,6361,6362,6455,6456,6457,6458,6470,6522,6717,6718,7078,7080,7973,8365,12238,13422,13443,13446,13754,13755,13756,13757,13758,13759,13760,13874,13875,13876,13885,13886,13888,13889,13890,13893,13901,13902,13905,13918,16967,16968,16969,16970,19807,19975,20708,20709,21071,21113,21114,21150,21151,21153,21228,22578,24476,25447,27422,27425,27429,27435,27437,27438,27439,27441,27442,27443,27481,27511,27513,27515,27516,33823,33824,34864,34865,34867,34868,35285,35286,35287,35313,35314,36781,36794,37705,39552,40199,41802,41803,41805,41806,41807,41808,41809,41810,41812,41813,41814,43571,43572,43644,43645,43646,43647,43652,43653,43658,43659,43676,43677,43681,43682,43685,43686,43694,43695,43696,43710,43711,43712,43714,43715,43716,43720,44475,44756,45188,45189,45190,45191,45194,45195,45196,45198,45199,45200,45201,45202,45328,45902,45903,45904,45905,45907,45909",
+	["Tradeskill.Gather.Herbalism"]="765,785,2447,2449,2450,2452,2453,3355,3356,3357,3358,3369,3818,3819,3820,3821,4625,5056,8153,8831,8836,8838,8839,8845,8846,11514,11979,11980,11992,12005,12016,12017,12027,12036,12048,12058,13463,13464,13465,13466,13467,13468,22575,22576,22710,22785,22786,22787,22788,22789,22790,22791,22792,22793,22794,22795,22797,24401,25813,27859,29453,32468,32506,33452,35229,35947,36901,36902,36903,36904,36905,36906,36907,36908,37704,37921,39220,39516,39969,39970",
+	["Tradeskill.Gather.Milling"]="4605,39151,39334,39338,39339,39340,39341,39342,39343,43103,43104,43105,43106,43107,43108,43109",
+	["Tradeskill.Gather.Mining"]="774,818,1206,1210,1529,1705,2770,2771,2772,2775,2776,2798,2835,2836,2838,3340,3858,3864,4278,5075,5833,7076,7909,7910,7911,7912,9262,10620,11370,11382,11513,11754,12361,12363,12364,12365,12799,12800,19774,21929,22202,22203,22573,22574,23077,23079,23107,23112,23117,23424,23425,23426,23427,23436,23437,23438,23439,23440,23441,24189,32227,32228,32229,32230,32231,32249,32464,32506,34907,35229,35624,35627,36725,36728,36909,36910,36912,36917,36918,36920,36921,36923,36924,36926,36927,36929,36930,36932,36933,37359,37700,37701,37702,37703,37705,39220,41614",
+	["Tradeskill.Gather.Pickpocketing"]="117,118,414,422,730,774,818,858,929,1179,1205,1206,1210,1468,1529,1645,1705,1707,1708,1710,1711,1712,2070,2287,2406,2407,2408,2409,2553,2555,2589,2592,2598,2676,2881,3419,3421,3609,3610,3770,3771,3864,3927,3928,4292,4293,4306,4338,4345,4346,4408,4409,4536,4537,4538,4539,4540,4541,4542,4544,4599,4601,4602,4603,4604,4605,4606,4607,4608,5373,5375,5376,5377,5427,5428,5429,5430,5431,5432,5433,5435,5498,5500,5523,5524,5784,6150,6271,6289,6303,6308,6342,6344,6362,6580,6716,7208,7288,7675,7682,7684,7737,7909,7910,8072,8151,8179,8444,8932,8948,8950,8952,8953,8959,9241,9470,10113,10457,10760,11602,12840,12841,13446,14047,14148,14540,15212,16882,16883,16884,16885,17057,17124,19775,20023,20030,21877,21929,22526,22829,23077,23079,23107,23112,23117,23436,23437,23438,23439,23440,23441,23686,24231,27854,27855,27856,27858,27859,29448,29450,29569,29570,29571,29572,29575,29576,30458,30610,33447,33449,33452,33454,33470,35188,35947,35948,35950,35952,35953,36671,36862,36863,37121,37350,37452,37467,38260,38261,38263,38264,38266,38268,38269,38273,38274,40202,43575,43576,43577,54291",
+	["Tradeskill.Gather.Prospecting"]="774,818,1206,1210,1529,1705,3864,7909,7910,12361,12364,12799,12800,21929,23077,23079,23107,23112,23117,23436,23437,23438,23439,23440,23441,24243,36917,36918,36919,36920,36921,36922,36923,36924,36925,36926,36927,36928,36929,36930,36931,36932,36933,36934",
+	["Tradeskill.Gather.Skinning"]="783,2318,2319,2592,2934,4232,4234,4235,4304,4539,6470,6471,7286,7287,7392,7428,8154,8165,8167,8169,8170,8171,8368,8973,11512,12366,12607,12731,15408,15410,15412,15414,15415,15416,15417,15419,15422,15423,17012,17057,18947,19767,19768,20381,20498,20499,20500,20501,21887,22573,22575,22785,22786,22787,22789,23677,24189,24401,25649,25699,25700,25707,25708,25813,29453,29539,29547,29548,32470,33447,33452,33567,33568,35229,35947,36729,36901,36902,36903,36904,36905,36906,36907,37701,37704,38269,38557,38558,38561,39220,39516,39681,39682,39684,39685,39690,41337,41338,42510,42542,44128,44687",
+
+	["Tradeskill.Gather.GemsInNodes.Adamantite Deposit"]="21929,23077,23079,23107,23112,23117",
+	["Tradeskill.Gather.GemsInNodes.Copper Vein"]="774,818,1210",
+	["Tradeskill.Gather.GemsInNodes.Dark Iron Deposit"]="11382",
+	["Tradeskill.Gather.GemsInNodes.Fel Iron Deposit"]="21929,23077,23079,23107,23112,23117",
+	["Tradeskill.Gather.GemsInNodes.Gold Vein"]="1529,1705,3864",
+	["Tradeskill.Gather.GemsInNodes.Hakkari Thorium Vein"]="7910,12361,12363,12364,12799,12800,19774",
+	["Tradeskill.Gather.GemsInNodes.Iron Deposit"]="1529,1705,3864,7909",
+	["Tradeskill.Gather.GemsInNodes.Khorium Vein"]="12363,21929,23077,23079,23107,23112,23117,23436,23437,23438,23439,23440,23441",
+	["Tradeskill.Gather.GemsInNodes.Mithril Deposit"]="3864,7909,7910",
+	["Tradeskill.Gather.GemsInNodes.Rich Adamantite Deposit"]="21929,23077,23079,23107,23112,23117",
+	["Tradeskill.Gather.GemsInNodes.Rich Thorium Vein"]="7910,12361,12363,12364,12799,12800",
+	["Tradeskill.Gather.GemsInNodes.Silver Vein"]="1206,1210,1705",
+	["Tradeskill.Gather.GemsInNodes.Small Thorium Vein"]="7910,12361,12363,12364,12799,12800",
+	["Tradeskill.Gather.GemsInNodes.Tin Vein"]="1206,1210,1529,1705",
+	["Tradeskill.Gather.GemsInNodes.Truesilver Deposit"]="3864,7909,7910",
+	["Tradeskill.Gather.GemsInNodes.Cobalt Deposit"]="36917,36920,36926,36929,36932",
+	["Tradeskill.Gather.GemsInNodes.Rich Cobalt Deposit"]="36917,36920,36923,36926,36929,36932",
+	["Tradeskill.Gather.GemsInNodes.Saronite Deposit"]="36917,36920,36923,36926,36929,36932",
+	["Tradeskill.Gather.GemsInNodes.Rich Saronite Deposit"]="36917,36920,36923,36926,36929,36930,36932",
+	["Tradeskill.Gather.GemsInNodes.Titanium Vein"]="36917,36918,36920,36921,36923,36924,36926,36927,36929,36930,36932,36933",
+
+	["Tradeskill.Gem.Red"]="23077,23094,23095,23096,23097,23113,23436,24027,24028,24029,24030,24031,24036,24047,27777,27812,28118,28360,28361,28362,28458,28459,28460,28461,28462,28466,28595,30571,30598,32193,32194,32195,32196,32197,32199,32204,32227,32735,33131,33132,33133,33134,33139,35487,35488,35489,36766,36917,36918,36919,38545,38549,39900,39905,39906,39908,39910,39911,39912,39996,39997,39998,39999,40001,40003,40012,40111,40112,40113,40114,40116,40118,40123,41432,41433,41434,41435,41437,41438,41444,42142,42143,42144,42148,42152,42154,45862,45879,45882,45883,52081,52082,52083,52084,52085,52177,63696,63697",
+	["Tradeskill.Gem.Blue"]="23116,23117,23118,23119,23120,23121,23438,24033,24035,24037,24039,24051,28463,28464,28465,28468,31860,31861,32200,32201,32202,32203,32206,32210,32228,33135,33137,33141,34256,34831,36767,36923,36924,36925,39915,39919,39920,39927,39932,40008,40009,40010,40011,40014,40119,40120,40121,40122,40125,41440,41441,41442,41443,41447,42145,42146,42155,42156,45880,45881,45987,52086,52087,52088,52178",
+	["Tradeskill.Gem.Yellow"]="23112,23114,23115,23440,24032,24048,24050,24052,24053,27679,28119,28120,28290,28467,28469,28470,32198,32205,32207,32208,32209,32229,33138,33140,33142,33143,33144,34627,35315,35761,36920,36921,36922,38546,38550,39907,39909,39914,39916,39917,39918,40000,40002,40013,40015,40016,40017,40115,40117,40124,40126,40127,40128,41436,41439,41445,41446,41448,41449,42149,42150,42151,42153,42157,42158,44066,52090,52092,52094,52179",
+	["Tradeskill.Gem.Green"]="23079,23103,23104,23105,23437,24062,24066,24067,27785,27786,27809,27820,30548,30550,30560,30563,30565,30575,30590,30592,30594,30601,30602,30605,30606,30608,32223,32224,32226,32249,32639,33782,35318,35707,35758,35759,36932,36933,36934,39933,39938,39974,39975,39976,39977,39978,39980,39981,39982,39983,39985,39986,39988,39989,39990,39991,39992,40031,40033,40086,40088,40089,40090,40091,40095,40096,40098,40099,40100,40101,40102,40103,40104,40105,40106,40138,40140,40165,40166,40167,40168,40169,40171,40172,40173,40174,40176,40177,40178,40179,40180,40181,40182,41456,41458,41464,41465,41466,41467,41468,41469,41470,41471,41472,41474,41475,41476,41477,41478,41480,41481,52119,52120,52121,52122,52124,52126,52127,52128,52182",
+	["Tradeskill.Gem.Purple"]="23100,23106,23107,23108,23109,23110,23111,23441,24054,24055,24056,24057,24061,24065,30546,30549,30552,30553,30555,30556,30559,30564,30566,30572,30573,30574,30583,30586,30589,30600,30603,31116,31117,31118,31862,31863,31864,31865,31866,31867,32211,32212,32213,32214,32215,32216,32220,32221,32225,32230,32634,32635,32636,32833,32836,36926,36927,36928,37503,39934,39935,39936,39937,39939,39940,39941,39942,39943,39944,39945,39948,39953,39957,39961,39966,39968,39979,39984,40022,40023,40024,40025,40026,40027,40028,40029,40030,40032,40034,40038,40044,40049,40053,40058,40085,40092,40094,40129,40130,40131,40132,40133,40134,40135,40136,40137,40139,40141,40143,40148,40151,40153,40157,40162,40164,40170,40175,41450,41451,41452,41453,41454,41455,41457,41459,41460,41461,41462,41463,41473,41479,41482,41488,41491,41494,41496,41502,52095,52098,52104,52105,52180",
+	["Tradeskill.Gem.Orange"]="21929,23098,23099,23101,23439,24058,24059,24060,28123,28363,30547,30551,30554,30558,30581,30582,30584,30585,30587,30588,30591,30593,30604,30607,31868,31869,32217,32218,32219,32222,32231,32637,32638,35316,35760,36929,36930,36931,38547,38548,39946,39947,39949,39950,39951,39952,39954,39955,39956,39958,39959,39960,39962,39963,39964,39965,39967,40037,40039,40040,40041,40043,40045,40046,40047,40048,40050,40051,40052,40054,40055,40056,40057,40059,40142,40144,40145,40146,40147,40149,40150,40152,40154,40155,40156,40158,40159,40160,40161,40163,41429,41483,41484,41485,41486,41487,41489,41490,41492,41493,41495,41497,41498,41499,41500,41501,52109,52113,52114,52117,52118,52181",
+	["Tradeskill.Gem.Meta"]="25867,25868,25890,25893,25894,25895,25896,25897,25898,25899,25901,28556,28557,32409,32410,32640,32641,34220,35501,35503,41266,41285,41307,41333,41334,41335,41339,41375,41376,41377,41378,41379,41380,41381,41382,41385,41389,41395,41396,41397,41398,41400,41401,44076,44078,44081,44082,44084,44087,44088,44089",
+	["Tradeskill.Gem.Prismatic"]="22459,22460,34142,34143,42225,42701,42702,45054,49110",
+
+	["Tradeskill.Gem.Cut"]="21929:23098;23099;23100;23101;31866;31869,22449:22460,22450:22459,23077:23094;23095;23096;23097;28595,23079:23103;23104;23105;23106,23107:23108;23109;23110;23111;31862;31864,23112:23113;23113;23114;23115;23116;28290;31860,23117:23118;23119;23120;23121,23436:24027;24028;24029;24030;24031;24032;24036;33131;33133;33134,23437:24062;24065;24066;24067;33782;35318,23438:24033;24035;24037;24039;33135,23439:24058;24059;24060;24061;31867;31868;35316,23440:24047;24048;24050;24051;24052;24053;31861;33140;33143;33144;35315,23441:24054;24055;24056;24057;31863;31865;35707,24478:32833,24479:32836,25867:25896;25897;25898;25899;25901;32409;35501,25868:25890;25893;25894;25895;32410;34220;35503,32227:32193;32194;32195;32196;32197;32198;32199,32228:32200;32201;32202;32203,32229:32204;32205;32206;32207;32208;32209;32210;35761,32230:32211;32212;32213;32214;32215;32216;37503,32231:32217;32218;32219;32220;32221;32222;35760,32249:32223;32224;32225;32226;35758;35759,34054:42701;42702;49110,36783:42701,36784:42702,36917:39900;39905;39906;39907;39908;39909;39910;39911,36918:39996;39997;39998;39999;40000;40001;40002;40003,36919:40111;40112;40113;40114;40115;40116;40117;40118,36920:39912;39914;39915;39916;39917;39918,36921:40012;40013;40014;40015;40016;40017,36922:40123;40124;40125;40126;40127;40128,36923:39919;39920;39927;39932,36924:40008;40009;40010;40011,36925:40119;40120;40121;40122,36926:39933;39934;39935;39936;39937;39938;39939;39940;39941;39942;39943;39944;39945,36927:40022;40023;40024;40025;40026;40027;40028;40029;40030;40031;40032;40033;40034,36928:40129;40130;40131;40132;40133;40134;40135;40136;40137;40138;40139;40140;40141,36929:39946;39947;39948;39949;39950;39951;39952;39953;39954;39955;39956;39957;39958;39959;39960;39961;39962;39963;39964;39965;39966;39967,36930:40037;40038;40039;40040;40041;40043;40044;40045;40046;40047;40048;40049;40050;40051;40052;40053;40054;40055;40056;40057;40058;40059,36931:40142;40143;40144;40145;40146;40147;40148;40149;40150;40151;40152;40153;40154;40155;40156;40157;40158;40159;40160;40161;40162;40163,36932:39968;39974;39975;39976;39977;39978;39979;39980;39981;39982;39983;39984;39985;39986;39988;39989;39990;39991;39992,36933:40085;40086;40088;40089;40090;40091;40092;40094;40095;40096;40098;40099;40100;40101;40102;40103;40104;40105;40106,36934:40164;40165;40166;40167;40168;40169;40170;40171;40172;40173;40174;40175;40176;40177;40178;40179;40180;40181;40182,41266:41285;41307;41333;41335;41339;41375;41376;41377;41378;41379;41400,41334:41380;41381;41382;41385;41389;41395;41396;41397;41398;41401,42225:36766;36767;42142;42143;42144;42145;42146;42148;42149;42150;42151;42152;42153;42154;42155;42156;42157;42158;49110",
+
+	["Tradeskill.Mat.ByProfession.Alchemy"]="118,765,785,1288,2447,2449,2450,2452,2453,3164,3355,3356,3357,3358,3369,3371,3372,3575,3818,3819,3820,3821,3824,3858,3860,4342,4402,4625,5635,5637,6358,6359,6370,6371,6522,7067,7068,7070,7076,7077,7078,7080,7082,7972,8153,8831,8836,8838,8839,8845,8846,8925,9149,9260,9262,10286,10620,11176,12359,12363,12803,12804,12808,12938,13422,13423,13463,13464,13465,13466,13467,13468,13503,18256,19943,21884,21885,21886,21929,22451,22452,22456,22457,22573,22574,22578,22785,22786,22787,22789,22790,22791,22792,22793,22794,23077,23079,23107,23112,23117,23571,23782,25867,25868,30183,33447,33448,35622,35623,35624,35625,35627,36860,36901,36903,36904,36905,36906,36907,36908,36913,36917,36918,36921,36923,36924,36927,36929,36930,36932,36933,37701,37702,37703,37704,37705,37921,39970,40195,40199,40411,41814,44958",
+	["Tradeskill.Mat.ByProfession.Blacksmithing.Armorsmith"]="3860,7075,7081,21885,22451,22452,22456,22457,23446,23447,23448,23449,23563,23564,23571,23572,23573,28483,28484,30183,36913,37701",
+	["Tradeskill.Mat.ByProfession.Blacksmithing.Basic"]="774,818,1206,1210,1529,1705,2318,2319,2321,2459,2589,2592,2605,2835,2836,2838,2840,2841,2842,2880,3391,3466,3470,3478,3486,3575,3577,3823,3824,3829,3859,3860,3864,4234,4255,4304,4306,4338,5498,5500,5635,5637,5966,6037,7067,7068,7069,7070,7075,7076,7077,7078,7080,7081,7909,7910,7912,7966,7971,7972,8153,8170,11371,11382,11754,12359,12360,12361,12364,12365,12644,12655,12662,12753,12799,12800,12803,12804,12808,12809,12810,12811,13510,13512,14047,15417,17010,17011,17012,17203,19726,19774,20520,20725,21877,21884,21885,21886,21887,22202,22203,22445,22449,22450,22451,22452,22456,22457,22573,22682,22824,22831,23445,23446,23447,23448,23449,23563,23564,23571,23572,23573,23793,27503,28425,28426,28428,28429,28431,28432,28434,28435,28437,28438,28440,28441,28483,28484,30183,32428,34054,34664,35128,35622,35623,35624,35625,35627,36860,36913,36916,36925,37663,37700,37701,37702,37703,37705,41163,41245,41355,43102,45087,47556,49908,52186",
+	["Tradeskill.Mat.ByProfession.Blacksmithing.Weaponsmith.Axesmith"]="21885,22451,22452,22456,22457,23446,23447,23448,23571,23572,23573,28431,28432,28434,28435,30183",
+	["Tradeskill.Mat.ByProfession.Blacksmithing.Weaponsmith.Basic"]="3860,7075,7077,7081,36913,37702",
+	["Tradeskill.Mat.ByProfession.Blacksmithing.Weaponsmith.Hammersmith"]="21884,21885,22451,22452,22457,23446,23447,23449,23571,23572,23573,28437,28438,28440,28441,30183",
+	["Tradeskill.Mat.ByProfession.Blacksmithing.Weaponsmith.Swordsmith"]="22451,22452,22456,22457,23446,23448,23449,23571,23572,23573,28425,28426,28428,28429,30183",
+	["Tradeskill.Mat.ByProfession.Cooking"]="159,723,729,730,731,769,785,1015,1080,1081,1179,1468,2251,2452,2593,2594,2596,2672,2673,2674,2675,2677,2678,2886,2924,3172,3173,3174,3404,3667,3685,3712,3730,3731,3821,4402,4603,4655,5051,5465,5466,5467,5468,5469,5470,5471,5503,5504,6289,6291,6303,6308,6317,6361,6362,6522,6889,7974,8150,8365,9061,12037,12184,12202,12203,12204,12205,12206,12207,12208,12223,12808,13754,13755,13756,13757,13758,13759,13760,13888,13889,13893,17194,17196,18255,20424,21024,21071,21153,22577,22644,23676,24477,27422,27425,27429,27435,27437,27438,27439,27515,27516,27668,27669,27671,27674,27676,27677,27678,27681,27682,30816,30817,31670,31671,33823,33824,34412,34736,35562,35948,35949,36782,41800,41801,41802,41803,41805,41806,41807,41808,41809,41810,41812,41813,43007,43009,43010,43011,43012,43013,43501,44834,44835,44853,44854,44855,46784,46793,46796,46797",
+	["Tradeskill.Mat.ByProfession.Enchanting"]="2772,3356,3371,3372,3819,3829,4470,4625,5500,5637,6037,6048,6217,6218,6338,6339,6370,6371,7067,7068,7075,7076,7077,7078,7079,7080,7081,7082,7392,7909,7971,7972,8153,8170,8831,8838,8925,9224,10938,10939,10940,10978,10998,11082,11083,11084,11128,11130,11134,11135,11137,11138,11139,11144,11145,11174,11175,11176,11177,11178,11291,12359,12803,12808,12811,13444,13446,13467,13926,14343,14344,16202,16203,16204,16206,16207,17034,18256,20725,21884,21885,21886,22445,22446,22447,22448,22449,22450,22451,22452,22456,22457,22461,22462,22463,22572,22573,22574,22578,22791,22792,22794,22824,23427,23571,25843,25844,25845,34052,34054,34055,34056,34057,35622,35623,35624,35625,35627,36860,36918,37663,37705,41163,41745,44958",
+	["Tradeskill.Mat.ByProfession.Engineering.Basic"]="159,774,814,818,1206,1210,1529,1705,2318,2319,2589,2592,2605,2835,2836,2838,2840,2841,2842,2880,2901,3575,3577,3829,3859,3860,3864,4234,4304,4306,4338,4339,4342,4357,4359,4361,4363,4364,4368,4371,4375,4377,4382,4385,4387,4389,4399,4400,4402,4404,4470,4611,5956,6037,6530,7005,7067,7068,7069,7076,7077,7078,7079,7080,7082,7191,7909,7910,7912,8150,8153,8170,9060,9061,10285,10286,10500,10502,10505,10546,10558,10559,10560,10561,10576,10592,11291,11371,12359,12360,12361,12364,12365,12799,12800,12803,12804,12808,12810,13467,14047,14227,15407,15992,15994,16000,16006,17010,17011,17202,18232,18631,19726,20816,21840,21877,21884,21885,21886,21887,21929,22445,22448,22449,22451,22452,22456,22457,22573,22574,22829,22832,23077,23079,23112,23436,23437,23438,23439,23440,23441,23445,23446,23448,23449,23571,23572,23573,23781,23782,23783,23784,23785,23786,23787,23793,32423,32461,32472,32473,32474,32475,32476,32478,32479,32480,32494,32495,33470,33568,34113,34249,35128,35622,35623,35624,35625,35627,36860,36913,36916,36918,36920,36921,36922,36924,36927,36930,36933,37663,37700,37701,37702,37705,38425,39681,39682,39683,39684,39690,40533,40769,41146,41163,43102,44128,44499,44500,44501",
+	["Tradeskill.Mat.ByProfession.Engineering.Gnomish"]="1529,3860,3864,4234,4337,4338,4389,6037,7075,7079,7191,7387,7909,7910,7972,8151,9060,10026,10285,10500,10505,10558,10559,10560,10561,10647,10648,12359,12808,15994,16006,18631,21884,21885,21886,22445,22449,22451,22452,22456,23436,23437,23781,23782,23783,23784,23785,23786,23787,23793,24271,34052,39681,41163",
+	["Tradeskill.Mat.ByProfession.Engineering.Goblin"]="3860,3864,4234,4338,4394,4407,6037,7067,7068,7077,7191,7910,9061,10026,10505,10507,10543,10558,10559,10560,10561,10577,10586,10647,10648,14227,15994,16006,17020,18631,21877,21884,22451,22452,22457,23573,23781,23782,23783,23784,23785,23786,23787,23826,24272,36913,39690",
+	["Tradeskill.Mat.ByProfession.First Aid"]="1288,1475,2589,2592,4306,4338,14047,19441,21877,33470",
+	["Tradeskill.Mat.ByProfession.Inscription"]="10648,21886,35625,35627,37101,39151,39334,39338,39339,39340,39341,39342,39343,39354,39469,39501,39502,39774,43102,43103,43104,43105,43106,43107,43108,43109,43115,43116,43117,43118,43119,43120,43121,43122,43123,43124,43125,43126,43127",
+	["Tradeskill.Mat.ByProfession.Jewelcrafting"]="774,818,1206,1210,1529,1705,2835,2836,2838,2840,2841,2842,3391,3575,3577,3824,3827,3860,3864,5498,5637,6037,6149,7067,7070,7075,7076,7077,7078,7079,7081,7082,7909,7910,7912,7971,8151,8152,10286,11083,11137,11178,11371,11382,11754,12359,12360,12361,12363,12364,12365,12662,12799,12800,12803,12804,12808,12938,18335,20816,20817,20963,21752,21884,21885,21886,21929,22451,22452,22456,22457,22578,23077,23079,23107,23112,23117,23436,23437,23438,23439,23440,23441,23445,23446,23447,23448,23449,23571,23572,23573,24243,24478,24479,25867,25868,27860,31079,32227,32228,32229,32230,32231,32249,34052,34054,34664,35128,35622,35623,35624,35625,35627,36783,36784,36860,36917,36918,36919,36920,36921,36922,36923,36924,36925,36926,36927,36928,36929,36930,36931,36932,36933,36934,37701,41163,41266,41334,42225,43102,51950,52177,52178,52179,52180,52181,52182",
+	["Tradeskill.Mat.ByProfession.Leatherworking.Basic"]="783,1206,1529,2318,2319,2320,2321,2324,2325,2457,2459,2604,2605,2840,2934,2997,3182,3356,3383,3389,3390,3824,3864,4096,4231,4232,4233,4234,4235,4236,4243,4246,4289,4291,4304,4305,4337,4338,4340,4342,4461,5082,5373,5498,5500,5633,5637,5784,5785,6470,6471,7067,7070,7071,7075,7076,7077,7078,7079,7080,7081,7082,7286,7287,7392,7971,8150,8151,8152,8153,8154,8165,8167,8169,8170,8171,8172,8343,10285,11754,12607,12753,12803,12804,12809,12810,14044,14047,14048,14227,14256,14341,14342,15407,15408,15409,15410,15412,15414,15415,15416,15417,15419,17010,17011,17012,17056,18240,18512,19726,19767,19768,20381,20498,20500,20501,21844,21884,21885,21886,21887,22445,22448,22450,22451,22452,22456,22457,22682,23571,23572,23793,25649,25699,25700,25707,25708,29539,29547,29548,30183,32428,33567,33568,34055,34057,34664,35622,35623,35624,35625,35627,36860,37700,37703,37705,38425,38557,38558,38561,43102,44128,45087,47556,49908",
+	["Tradeskill.Mat.ByProfession.Leatherworking.Dragonscale"]="8165,8170,8172,14341,15416,21884,22451,22456,22457,23572,23793,29548",
+	["Tradeskill.Mat.ByProfession.Leatherworking.Elemental"]="7081,8170,8172,14341,22451,22452,23571,23572,23793",
+	["Tradeskill.Mat.ByProfession.Leatherworking.Tribal"]="8153,8170,8172,14341,17056,21886,22451,23571,23572,23793,25699,29547",
+	["Tradeskill.Mat.ByProfession.Smelting"]="2770,2771,2772,2775,2776,2840,3575,3576,3857,3858,7911,10620,11176,11370,12359,12360,17010,18562,18567,21884,22452,23424,23425,23426,23427,23445,23446,23447,23449,23573,35624,35627,36860,36909,36910,36912,41163",
+	["Tradeskill.Mat.ByProfession.Tailoring.Basic"]="929,1529,2318,2319,2320,2321,2324,2325,2589,2592,2604,2605,2996,2997,3182,3383,3577,3824,3827,3829,3864,4234,4291,4304,4305,4306,4337,4338,4339,4340,4341,4342,4589,4625,5498,5500,6037,6048,6260,6261,6371,7067,7068,7069,7070,7071,7072,7076,7077,7078,7079,7080,7082,7910,7971,7972,8153,8170,8343,8831,9210,10285,10286,10290,11040,11137,11176,12360,12364,12662,12800,12803,12804,12808,12809,12810,12811,13468,13926,14047,14048,14227,14256,14341,14342,14344,16203,17010,17011,17012,18240,19726,20520,21840,21842,21844,21845,21877,21881,21882,21884,21885,21886,21887,22445,22446,22450,22451,22452,22456,22457,22682,22794,23112,23571,23572,24271,24272,30183,32428,33470,34052,34054,34664,35622,35624,35625,35627,36783,36784,36860,36908,36919,36922,36925,36930,36934,37701,37702,37704,38425,38426,41510,41511,41593,41594,41595,42253,43102,45087,47556,49908",
+	["Tradeskill.Mat.ByProfession.Tailoring.Mooncloth"]="21845,21881,21886,22457",
+	["Tradeskill.Mat.ByProfession.Tailoring.Shadoweave"]="21881,21885,24272",
+	["Tradeskill.Mat.ByProfession.Tailoring.Spellfire"]="21881,21884,24271",
+
+	--!!Add to miner
+	["Tradeskill.Mat.BySource.Drop"]="15420,1475,17011,3730,3667,3731,5465,1080,5466,5784,5467,5785,5468,5469,1081,5470,13926,5471,3164,1288,12662,4589,12037,8146,4337,4655,12804,4402,12809,8151,7072,18512,2251,3172,3712,12184,729,3173,17010,1015,3174,6889,4096,1468,14227,7971,19441,5051,5373,730,7974,5498,12204,12205,12206,4611,12208,8168,769,9260,12203,5503,2672,5504,723,731,2673,2675,19943,17203,3182,5635,8152,18240,12607,5637,12202,3685,12223,19726,2924,2886,2677,15410,5116,10285,12753,2674,3404,5500,6470,12207,814,12811,42253,14277",
+	["Tradeskill.Mat.BySource.Gather"]="m,Tradeskill.Gather",
+	["Tradeskill.Mat.BySource.Vendor"]="8923,4289,8924,8925,4291,8150,11291,1179,6261,4340,2320,4341,2596,2604,4342,159,2880,2321,3857,18567,4470,2692,18256,8343,5173,2894,2665,2928,2605,4536,6530,10647,2930,10648,3713,17020,17194,2324,3466,6260,2678,14341,3372,15409,17196,2325,4400,10290,3371,40411,38426,39502,39501,30817,17034,17035,39354",
+
+	--!!Add to miner
+	["Tradeskill.Mat.ByType.Bar"]="2840,2841,2842,3575,3576,3577,3859,3860,6037,11371,12359,12360,12655,17771,23445,23446,23447,23448,23449,23573,36913,36916,37663,41163",
+	["Tradeskill.Mat.ByType.Bolt"]="4305,2997,14048,4339,2996,21840,21842,21844,41510,41511",
+	["Tradeskill.Mat.ByType.Cloth"]="2589,2592,4306,4338,14047,14256,14342,21845,21877,24271,24272,33470,41593,41594,41595",
+	["Tradeskill.Mat.ByType.Crystal"]="30183,23572,22450,20725,34057,43102",
+	["Tradeskill.Mat.ByType.Crystallized"]="37700,37701,37702,37703,37704,37705",
+	["Tradeskill.Mat.ByType.Dust"]="22445,11083,16204,11137,11176,10940,34054",
+	["Tradeskill.Mat.ByType.Dye"]="2325,2604,6260,6261,4342,10290,4340,2605,2324,4341,9210",
+	["Tradeskill.Mat.ByType.Elemental"]="7070,12808,7078,7082,7067,7075,7079,12803,7068,7076,7080,10286,7069,7972,7077,7081",
+	["Tradeskill.Mat.ByType.Essence"]="22447,22446,11174,10938,11135,11175,16202,11134,16203,10998,11082,10939,34055,34056",
+	["Tradeskill.Mat.ByType.Eternal"]="35622,35623,35624,35625,35627,36860",
+	["Tradeskill.Mat.ByType.Flux"]="2880,3466,18567",
+	["Tradeskill.Mat.ByType.Gem"]="12799,818,12800,11382,1206,774,1705,1210,12361,9262,1529,12363,11754,12364,7910,3864,19774,7909,32227,32228,32229,32230,32231,32249,36784,36917,36918,36920,36921,36923,36924,36926,36927,36929,36930,36932,36933,41266,41334,42225",
+	["Tradeskill.Mat.ByType.Grinding Stone"]="3470,3478,7966,12644,3486",
+	["Tradeskill.Mat.ByType.Herb"]="3819,8153,3355,22789,2452,8838,3820,765,22787,8831,13466,2447,22792,22791,13465,22793,785,3357,3356,3358,13467,8846,3369,13464,3821,8845,22788,4625,22785,22794,3818,2449,22786,13463,2453,2450,8839,8836,22790,19726,13468,36901,36902,36903,36904,36905,36906,36907,36908,37921",
+	["Tradeskill.Mat.ByType.Hide"]="783,4231,4232,4233,4235,4236,4461,7428,8169,8171,8172,8368,15407,25707",
+	["Tradeskill.Mat.ByType.Ink"]="10647,37101,39469,39774,43115,43116,43117,43118,43119,43120,43121,43122,43123,43124,43125,43126,43127",
+	["Tradeskill.Mat.ByType.Leather"]="2318,2319,2934,4234,4304,5082,8170,12810,15417,15419,15422,15423,17012,19767,19768,21887,23793,25649,25699,25708,33568,38425,44128",
+	["Tradeskill.Mat.ByType.Mote"]="22572,22573,22574,22575,22576,22577,22578",
+	["Tradeskill.Mat.ByType.Oil"]="6371,6370,3829,9061,3824,13423,8956",
+	["Tradeskill.Mat.ByType.Ore"]="23426,23427,23424,23425,2775,2776,18562,2770,3858,2771,11370,2772,7911,10620,36909,36910,36912",
+	["Tradeskill.Mat.ByType.Parchment"]="10648,39354,39501,39502",
+	["Tradeskill.Mat.ByType.Part"]="4361,10560,4404,10576,10561,15994,10546,10647,7191,4363,4394,10648,18631,4359,9060,4400,4371,4375,10507,16000,4387,4399,16006,10558,4382,4407,4389,10559,10586,39681,39682,39683,39684,39690,40533,44499,44500,44501,39354,39502,39501",
+	["Tradeskill.Mat.ByType.Pearl"]="24479,24478,5498,4611,13926,5500,7971,36783",
+	["Tradeskill.Mat.ByType.Pigment"]="39151,39334,39338,39339,39340,39341,39342,39343,43103,43104,43105,43106,43107,43108,43109",
+	["Tradeskill.Mat.ByType.Poison"]="8924,3818,2928,8923,8925,18256,2930,5173,3372,3371,2931",
+	["Tradeskill.Mat.ByType.Powder"]="10505,4377,4357,15992,4364",
+	["Tradeskill.Mat.ByType.Primal"]="23571,23572,22451,22452,21884,21886,22457,22456,21885",
+	["Tradeskill.Mat.ByType.Rod"]="16206,6338,11144,11128,6217,41745",
+	["Tradeskill.Mat.ByType.Salt"]="15409,4289,8150",
+	["Tradeskill.Mat.ByType.Scale"]="5784,5785,6470,6471,7286,7287,7392,8154,8165,8167,12607,15408,15410,15412,15414,15415,15416,20381,20498,25700,29539,29547,29548,38557,38558,38561",
+	["Tradeskill.Mat.ByType.Shard"]="22449,22448,11084,14343,11139,10978,11177,14344,11138,11178,34052,34053",
+	["Tradeskill.Mat.ByType.Spice"]="2665,2678,2692,3713,17194,43007",
+	["Tradeskill.Mat.ByType.Spider Silk"]="4337,3182,10285,21881,14227,42253",
+	["Tradeskill.Mat.ByType.Stone"]="2835,7912,2836,2838,12365",
+	["Tradeskill.Mat.ByType.Thread"]="2320,2321,4291,8343,14341,38426",
+	["Tradeskill.Mat.ByType.Vial"]="3371,18256,8925,3372,40411",
+
+	["Tradeskill.Tool.Alchemy"]="9149,13503,31080,35748,35749,35750,35751,44322,44323,44324",
+	["Tradeskill.Tool.Blacksmithing"]="5956,40772,40892",
+	["Tradeskill.Tool.Cooking"]="4471,40772",
+	["Tradeskill.Tool.Enchanting"]="6218,6339,11130,11145,16207,22461,22462,22463",
+	["Tradeskill.Tool.Engineering"]="5956,6219,10498,40772",
+	["Tradeskill.Tool.Fishing.Gear"]="19969:5,7996:5,19972:5,33820:5,50287:5",
+	["Tradeskill.Tool.Fishing.Lure"]="6529:25,6530:50,6811:50,6532:75,7307:75,33820:75,6533:100,34861:100,46006:100",
+	["Tradeskill.Tool.Fishing.Other"]="34832:10",
+	["Tradeskill.Tool.Fishing.Tool"]="6256:0,12225:3,6367:20,6365:5,25978:20,19022:25,45858:25,44050:30,45991:30,45992:30,19970:35",
+	["Tradeskill.Tool.Inscription"]="39505",
+	["Tradeskill.Tool.Jewelcrafting"]="20815,31080",
+	["Tradeskill.Tool.Mining"]="756,778,1819,1893,1959,2901,9465,20723,30855,40772,40892,40893",
+	["Tradeskill.Tool.Skinning"]="7005,12709,19901,40772,40893",
+
+	["Tradeskill.Recipe.Crafted"]="m,Tradeskill.Recipe.Alchemy.Crafted,Tradeskill.Recipe.Blacksmithing.Crafted,Tradeskill.Recipe.Cooking.Crafted,Tradeskill.Recipe.Enchanting.Crafted,Tradeskill.Recipe.Engineering.Crafted,Tradeskill.Recipe.First Aid.Crafted,Tradeskill.Recipe.Fishing.Crafted,Tradeskill.Recipe.Jewelcrafting.Crafted,Tradeskill.Recipe.Leatherworking.Crafted,Tradeskill.Recipe.Tailoring.Crafted",
+	["Tradeskill.Recipe.Drop"]="m,Tradeskill.Recipe.Alchemy.Drop,Tradeskill.Recipe.Blacksmithing.Drop,Tradeskill.Recipe.Cooking.Drop,Tradeskill.Recipe.Enchanting.Drop,Tradeskill.Recipe.Engineering.Drop,Tradeskill.Recipe.First Aid.Drop,Tradeskill.Recipe.Fishing.Drop,Tradeskill.Recipe.Jewelcrafting.Drop,Tradeskill.Recipe.Leatherworking.Drop,Tradeskill.Recipe.Tailoring.Drop",
+	["Tradeskill.Recipe.Other"]="m,Tradeskill.Recipe.Alchemy.Other,Tradeskill.Recipe.Blacksmithing.Other,Tradeskill.Recipe.Cooking.Other,Tradeskill.Recipe.Enchanting.Other,Tradeskill.Recipe.Engineering.Other,Tradeskill.Recipe.First Aid.Other,Tradeskill.Recipe.Fishing.Other,Tradeskill.Recipe.Jewelcrafting.Other,Tradeskill.Recipe.Leatherworking.Other,Tradeskill.Recipe.Tailoring.Other",
+	["Tradeskill.Recipe.Quest"]="m,Tradeskill.Recipe.Alchemy.Quest,Tradeskill.Recipe.Blacksmithing.Quest,Tradeskill.Recipe.Cooking.Quest,Tradeskill.Recipe.Enchanting.Quest,Tradeskill.Recipe.Engineering.Quest,Tradeskill.Recipe.First Aid.Quest,Tradeskill.Recipe.Fishing.Quest,Tradeskill.Recipe.Jewelcrafting.Quest,Tradeskill.Recipe.Leatherworking.Quest,Tradeskill.Recipe.Tailoring.Quest",
+	["Tradeskill.Recipe.Vendor"]="m,Tradeskill.Recipe.Alchemy.Vendor,Tradeskill.Recipe.Blacksmithing.Vendor,Tradeskill.Recipe.Cooking.Vendor,Tradeskill.Recipe.Enchanting.Vendor,Tradeskill.Recipe.Engineering.Vendor,Tradeskill.Recipe.First Aid.Vendor,Tradeskill.Recipe.Fishing.Vendor,Tradeskill.Recipe.Jewelcrafting.Vendor,Tradeskill.Recipe.Leatherworking.Vendor,Tradeskill.Recipe.Tailoring.Vendor",
+
+	["Tradeskill.Recipe.Alchemy.Crafted"]="10644:210",
+	["Tradeskill.Recipe.Alchemy.Drop"]="2553:50,2555:60,6663:90,3393:110,3394:120,3396:140,6211:150,3830:175,3831:180,3832:195,9293:210,9294:225,9295:235,9296:240,9297:240,9298:245,3395:250,21547:250,13476:255,13479:270,13486:275,13487:275,13488:275,13489:275,13490:280,13491:280,13492:285,13493:285,13494:290,13495:290,13496:290,13497:290,13499:290,13501:295,13518:300,13519:300,13520:300,13521:300,13522:300,18257:300,22903:320,22904:325,31680:335,31681:345,22912:350,22913:350,22914:350,35295:350,22919:355,22920:360,22921:360,22923:360,22924:360,22925:360,31682:360,22926:365,22927:365,35294:365,44564:400,44565:400,44566:400,44567:400,44568:400",
+	["Tradeskill.Recipe.Alchemy.Other"]="44508:0,17709:190,13477:260,13480:275,13481:275",
+	["Tradeskill.Recipe.Alchemy.Quest"]="4597:50,4624:215",
+	["Tradeskill.Recipe.Alchemy.Vendor"]="5640:60,6053:100,6054:135,5642:150,6055:165,6068:165,5643:175,6056:190,6057:190,14634:200,9303:225,9304:225,9305:225,9302:245,9300:250,9301:250,13478:265,12958:275,13482:275,13483:275,13484:275,13485:275,20011:275,20012:275,20013:285,20014:290,13501:295,20761:300,31354:300,31355:300,31356:300,31357:300,22900:305,22901:315,22902:320,32070:320,22905:330,24001:330,32071:330,22906:335,22907:340,22908:345,22909:345,13517:350,22910:350,22911:350,22915:350,22916:350,22917:350,22918:350,23574:350,25869:350,25870:350,29232:350,30443:350,22922:360,33209:375,35752:375,35753:375,35754:375,35755:375",
+	["Tradeskill.Recipe.Blacksmithing.Crafted"]="10713:200",
+	["Tradeskill.Recipe.Blacksmithing.Drop"]="3609:35,3610:60,2881:80,2882:125,2883:125,5578:130,5543:140,3608:145,3611:145,3612:150,6044:150,10424:155,3870:160,6045:165,3867:170,3872:170,3866:175,3871:175,3874:185,6046:190,12261:190,3873:195,3868:200,3869:200,3875:200,7975:210,7976:215,7992:220,8029:225,7989:235,7991:235,7993:240,7990:245,8028:245,12682:250,12683:250,12684:255,12685:260,11610:265,11614:270,12689:270,12691:270,11611:275,12692:275,12693:280,12694:280,11612:285,12695:285,12697:290,12698:290,12828:290,12830:290,12702:295,12703:295,12704:300,12706:300,12707:300,12711:300,12713:300,12714:300,12716:300,12717:300,12718:300,12719:300,12720:300,12728:300,12833:300,12834:300,12835:300,12836:300,12837:300,12838:300,12839:300,18264:300,22220:300,22222:300,22388:300,22389:300,22390:300,33186:335,35296:335,23605:360,23606:360,23608:360,23609:360,23607:365,23610:365,23611:365,23612:365,23620:365,23621:365,23622:365,23623:365,23624:365,23625:365,23626:365,23627:365,23628:365,23629:365,23630:365,23631:365,23632:365,23633:365,23634:365,23635:365,23636:365,23637:365,33174:365,33954:365,35208:365,35209:365,35210:365,35211:365,23613:370,23615:370,23617:370,23639:375,30321:375,30322:375,30323:375,30324:375,32736:375,32737:375,32738:375,32739:375,41120:375,41122:375,41123:375,41124:375,45088:450,45089:450,45090:450,45091:450,45092:450,45093:450,47622:450,47623:450,47624:450,47625:450,47626:450,47627:450,47640:450,47641:450,47642:450,47643:450,47644:450,47645:450",
+	["Tradeskill.Recipe.Blacksmithing.Other"]="17706:190,11615:280,12827:285,20553:300,20554:300,20555:300",
+	["Tradeskill.Recipe.Blacksmithing.Quest"]="33792:35,6735:100,7978:160,7979:160,7980:175,7981:180,7982:185,9367:205,7983:220,7984:220,7985:225,12687:265,12688:265,12690:270,12821:275,12824:280,12825:280,12696:285,12699:290,12700:295,12701:295,12705:300,12715:300,12725:300,12726:300,12727:300,18592:300",
+	["Tradeskill.Recipe.Blacksmithing.Vendor"]="10858:155,12162:160,12163:180,12164:185,6047:190,7995:215,8030:255,12819:275,12823:280,19202:290,19203:290,12703:295,17049:295,17051:295,17052:300,17053:300,17059:300,17060:300,19204:300,19205:300,19206:300,19207:300,19208:300,19209:300,19210:300,19211:300,19212:300,19776:300,19777:300,19778:300,19779:300,19780:300,19781:300,20040:300,22209:300,22214:300,22219:300,22221:300,22766:300,22767:300,22768:300,23590:325,23591:330,23592:330,23593:335,23594:335,23595:335,23596:340,23638:340,23601:350,23618:350,25526:350,25846:350,28632:350,23597:355,23598:355,23602:355,23599:360,23603:360,23619:360,24002:360,25847:360,23600:365,23604:365,31390:375,31391:375,31392:375,31393:375,31394:375,31395:375,32441:375,32442:375,32443:375,32444:375,44937:450,44938:450,49969:450,49970:450,49971:450,49972:450,49973:450,49974:450",
+	["Tradeskill.Recipe.Cooking.Crafted"]="",
+	["Tradeskill.Recipe.Cooking.Drop"]="6325:1,6328:50,2698:85,6661:85,6330:100,2700:110,18267:275,43507:350,43508:350,43509:350,43510:350",
+	["Tradeskill.Recipe.Cooking.Other"]="33925:1,44860:1,46803:1,7678:60,34834:100,44862:100,46804:100,16072:125,44858:160,46805:160,44859:220,46806:220,44861:280,46807:280,27736:300,33869:300,33871:300,33875:300,33870:325,33873:325,34126:350,39692:350,39644:375",
+	["Tradeskill.Recipe.Cooking.Quest"]="27686:1,2889:10,5482:10,728:50,2697:50,5486:50,3679:60,18160:60,22647:60,3678:80,3680:90,5487:90,2699:100,2701:100,3683:110,3734:110,3681:120,3735:125,3682:130,3736:150,3737:175,4609:175,21025:300,27684:300,31674:335,31675:335",
+	["Tradeskill.Recipe.Cooking.Vendor"]="6325:1,6326:1,12226:1,17200:1,27685:1,46710:1,2889:10,5483:20,5484:35,17201:35,6892:40,728:50,2697:50,5485:50,5486:50,6328:50,6329:50,6368:50,27687:50,3679:60,18160:60,22647:60,3678:80,21099:80,2698:85,3680:90,5528:90,44977:90,2699:100,2701:100,5488:100,6330:100,2700:110,3683:110,3734:110,5489:110,3681:120,3735:125,12227:125,3682:130,20075:150,4609:175,6039:175,6369:175,12228:175,12229:175,12231:175,12232:175,12233:175,17062:175,21219:175,12239:200,12240:200,13939:225,13940:225,13941:225,16110:225,16111:225,16767:225,18046:225,13942:240,13943:240,13945:250,13946:250,35564:250,35566:250,13947:275,13948:275,13949:275,27688:300,27694:300,27695:300,30156:300,27689:310,27696:310,27690:315,27697:320,27698:320,27691:325,27692:325,27693:325,27699:325,34413:325,31674:335,31675:335,27700:350,43018:400,43019:400,43020:400,43021:400,43022:400,43023:400,43024:400,43025:400,43026:400,43027:400,43028:400,43029:400,43030:400,43031:400,43032:400,43033:400,43034:400,43035:400,43036:400,43037:400,44954:400,43505:425,43506:425,43017:450",
+	["Tradeskill.Recipe.Enchanting.Crafted"]="",
+	["Tradeskill.Recipe.Enchanting.Drop"]="6342:20,6344:60,6347:80,6348:90,11038:110,11039:110,11081:115,6375:120,11098:135,11150:145,11151:145,11152:145,11164:175,11165:175,11167:190,11168:195,11166:200,11202:210,11203:215,11204:220,11205:225,11206:225,11208:230,11224:235,11225:245,11226:250,16214:255,16215:260,11207:265,11813:265,16216:265,45050:265,16218:270,16219:270,16220:275,16222:280,16223:285,16242:290,16244:295,16245:295,16246:295,16247:295,16248:295,16249:300,16250:300,16251:300,16252:300,16253:300,16254:300,16255:300,18259:300,18260:300,20726:300,20727:300,20728:300,20729:300,20730:300,20731:300,20734:300,20735:300,20736:300,22542:305,35298:305,22530:320,22543:320,22548:330,22532:335,22540:340,22544:340,22551:340,28270:345,22533:350,22553:350,22554:350,22555:350,28276:350,28277:350,22534:360,22541:360,22556:360,22557:360,22558:360,28279:360,28280:360,35297:360,35299:360,22545:370,22559:375,22560:375,22561:375,33307:375,35756:375,50406:375,37330:400,37331:400,37332:400,37333:400,37334:400,46027:450,46348:450",
+	["Tradeskill.Recipe.Enchanting.Other"]="17725:190,35498:350,37335:400,37338:410,37348:425",
+	["Tradeskill.Recipe.Enchanting.Quest"]="",
+	["Tradeskill.Recipe.Enchanting.Vendor"]="20758:45,6346:80,6349:100,11039:110,6377:125,11101:140,20752:150,11163:170,20753:200,11223:235,20754:250,16217:265,16221:275,20755:275,16224:285,16243:290,19444:290,19445:290,19446:290,22392:290,19447:300,19448:300,19449:300,20732:300,20733:300,20756:300,20757:300,33148:300,33149:300,33150:300,33151:300,33152:300,33153:300,22562:310,22531:325,22539:325,24000:325,28274:325,28282:325,22565:335,22552:340,22563:340,22547:345,24003:345,25848:350,28273:350,28281:350,33165:350,22535:360,22536:360,28271:360,28272:360,35500:360,22537:370,22538:375,25849:375,34872:375,37340:410,37344:425,44494:425,37339:430,44471:430,44472:430,44473:430,44483:430,44484:430,37347:435,44485:435,44486:435,44487:435,37349:440,44488:440,44489:440,44490:440,44491:440,44492:440,44495:440,44496:440,44498:440,44944:450,45059:450",
+	["Tradeskill.Recipe.Engineering.Drop"]="4408:75,4409:100,6716:100,4410:120,4411:125,7560:125,4412:145,4413:160,4414:165,7561:165,10601:175,4415:185,6672:185,4416:195,4417:200,7742:200,11827:205,11828:205,10603:220,10604:220,10605:225,10606:225,10608:240,16043:260,18661:260,16044:265,18653:265,18654:265,16045:270,16048:275,16049:285,16051:285,16052:290,16053:290,18657:290,16054:300,16055:300,16056:300,18290:300,18291:300,18292:300,18658:300,23810:325,23883:330,35310:330,25887:335,33804:335,23804:340,23884:345,35311:345,23887:355,35582:355,23800:360,23806:360,23808:360,34114:360,23802:375,23809:375,35186:375,35187:375,35189:375,35190:375,35191:375,35192:375,35193:375,35194:375,35195:375,35196:375,35197:375,49050:450",
+	["Tradeskill.Recipe.Engineering.Other"]="21724:125,21725:125,21726:125,21727:175,21728:175,21729:175,17720:190,21730:225,21731:225,21732:225,21738:225,16041:260,16042:260,18651:260,16047:275,18655:275,21733:275,21734:275,21735:275,21737:275,23885:335",
+	["Tradeskill.Recipe.Engineering.Quest"]="6672:185,22729:275,23888:305",
+	["Tradeskill.Recipe.Engineering.Vendor"]="13309:120,7560:125,14639:140,18647:150,18648:150,18649:150,13308:155,7561:165,13310:180,7742:200,13311:200,18650:200,10602:210,44919:225,10607:230,10609:250,19027:250,18652:260,16046:275,18656:275,22729:275,32381:275,44918:275,16050:285,16054:300,20000:300,20001:300,23816:325,23807:335,23811:335,23814:335,23815:335,23803:340,23799:350,23805:350,23874:350,23817:405,44502:450,44503:450,52022:450,52023:450",
+	["Tradeskill.Recipe.First Aid.Crafted"]="",
+	["Tradeskill.Recipe.First Aid.Drop"]="39153:0,6454:130,39152:400",
+	["Tradeskill.Recipe.First Aid.Other"]="16084:125,16112:180,16085:200,16113:210",
+	["Tradeskill.Recipe.First Aid.Quest"]="",
+	["Tradeskill.Recipe.First Aid.Vendor"]="19442:300,22012:300,21992:330,21993:360",
+	["Tradeskill.Recipe.Fishing.Crafted"]="",
+	["Tradeskill.Recipe.Fishing.Drop"]="",
+	["Tradeskill.Recipe.Fishing.Other"]="16083:125",
+	["Tradeskill.Recipe.Fishing.Quest"]="",
+	["Tradeskill.Recipe.Fishing.Vendor"]="27532:275",
+	["Tradeskill.Recipe.Inscription.Crafted"]="",
+	["Tradeskill.Recipe.Inscription.Drop"]="",
+	["Tradeskill.Recipe.Inscription.Other"]="",
+	["Tradeskill.Recipe.Inscription.Quest"]="",
+	["Tradeskill.Recipe.Inscription.Vendor"]="",
+	["Tradeskill.Recipe.Jewelcrafting.Crafted"]="",
+	["Tradeskill.Recipe.Jewelcrafting.Drop"]="20974:160,20976:190,21940:200,21944:235,21945:245,21947:250,21949:260,21953:285,21955:300,21956:300,23154:315,31870:325,31871:325,31872:325,31873:325,31874:325,24163:345,24158:350,24192:350,24193:350,24194:350,24195:350,24196:350,24197:350,24198:350,24199:350,24200:350,24201:350,24202:350,24203:350,24204:350,24205:350,24206:350,24207:350,24209:350,24210:350,24211:350,24212:350,24213:350,24214:350,24215:350,24216:350,24217:350,24218:350,24219:350,24220:350,31875:350,31876:350,31877:350,31878:350,31879:350,35304:350,35305:350,35306:350,35307:350,24159:355,24160:355,24164:355,24166:355,24167:355,24161:360,24168:360,24169:360,24162:365,24165:365,24170:365,24171:365,25905:365,25906:365,25907:365,25909:365,32411:365,34221:365,34689:365,35198:365,35199:365,35200:365,35201:365,35202:365,35203:365,24172:370,24173:370,32285:375,32289:375,32295:375,32296:375,32297:375,32298:375,32303:375,32307:375,41777:390,41778:390,41779:390,41780:390,41781:390,41782:390,41783:390,41784:390,41785:390,41789:390,41790:390,41791:390,41792:390,41793:390,41794:390,41795:390,41796:390,41817:390,41818:390,41819:390,41820:390,41786:420,41787:420,41788:420,41797:420,41799:420",
+	["Tradeskill.Recipe.Jewelcrafting.Other"]="23130:300,23135:300,23140:300,23144:300,23148:300,23152:300,23131:305,23141:305,23153:305,28596:305,23137:315,23147:325,23151:325,28291:325,32412:365,41798:420",
+	["Tradeskill.Recipe.Jewelcrafting.Quest"]="",
+	["Tradeskill.Recipe.Jewelcrafting.Vendor"]="20854:110,20970:120,20855:125,20971:125,20856:150,20973:150,20975:170,21941:215,21942:225,21943:225,21948:250,21952:275,21954:285,21957:305,23136:305,23145:305,23149:305,23133:315,23142:315,23146:315,23150:315,31359:315,23134:325,23138:325,23143:325,23155:325,24208:350,33783:350,35322:350,35323:350,35325:350,35708:350,41559:350,41560:350,41561:350,41562:350,41563:350,41564:350,41565:350,41566:350,41567:350,41568:350,41569:350,41570:350,41571:350,41572:350,41573:350,41574:350,41575:350,24174:360,24175:360,24176:360,24177:360,24178:360,30826:360,33155:360,33156:360,33157:360,33158:360,33159:360,33160:360,33305:360,25902:365,25903:365,25904:365,25908:365,25910:365,33622:365,24179:370,24180:370,24181:370,24182:370,24183:370,31358:370,35502:370,35505:370,42298:370,42299:370,42300:370,42301:370,42302:370,42303:370,42304:370,42305:370,42306:370,42307:370,42308:370,42309:370,42310:370,42311:370,42312:370,42313:370,42314:370,42315:370,31401:375,31402:375,32274:375,32277:375,32281:375,32282:375,32283:375,32284:375,32286:375,32287:375,32288:375,32290:375,32291:375,32292:375,32293:375,32294:375,32299:375,32300:375,32301:375,32302:375,32304:375,32305:375,32306:375,32308:375,32309:375,32310:375,32311:375,32312:375,35238:375,35239:375,35240:375,35241:375,35242:375,35243:375,35244:375,35245:375,35246:375,35247:375,35248:375,35249:375,35250:375,35251:375,35252:375,35253:375,35254:375,35255:375,35256:375,35257:375,35258:375,35259:375,35260:375,35261:375,35262:375,35263:375,35264:375,35265:375,35266:375,35267:375,35268:375,35269:375,35270:375,35271:375,35695:375,35696:375,35697:375,35698:375,35699:375,35762:375,35763:375,35764:375,35765:375,35766:375,35767:375,35768:375,35769:375,37504:375,41576:390,41577:390,41578:390,41579:390,41580:390,41581:390,41582:390,41686:390,41687:390,41688:390,41689:390,41690:390,41692:390,41693:390,41694:390,41696:390,41697:390,41698:390,41699:390,41701:390,41702:390,41703:390,41718:390,41719:390,41720:390,41721:390,41722:390,41723:390,41724:390,41725:390,41726:390,41727:390,41728:390,41730:390,41732:390,41733:390,41734:390,41735:390,41736:390,41737:390,41738:390,41739:390,41740:390,41747:390,42138:390,41704:420,41705:420,41706:420,41707:420,41708:420,41709:420,41710:420,41711:420,41742:420,41743:420,41744:420,43317:420,43318:420,43319:420,43320:420,43485:420,43497:420,43597:420,42648:430,42649:430,42650:430,42651:440,42652:440,42653:440,46897:450,46898:450,46899:450,46900:450,46901:450,46902:450,46903:450,46904:450,46905:450,46906:450,46907:450,46908:450,46909:450,46910:450,46911:450,46912:450,46913:450,46914:450,46915:450,46916:450,46917:450,46918:450,46919:450,46920:450,46921:450,46922:450,46923:450,46924:450,46925:450,46926:450,46927:450,46928:450,46929:450,46930:450,46931:450,46932:450,46933:450,46934:450,46935:450,46936:450,46937:450,46938:450,46939:450,46940:450,46941:450,46942:450,46943:450,46944:450,46945:450,46946:450,46947:450,46948:450,46949:450,46950:450,46951:450,46952:450,46953:450,46956:450,47007:450,47008:450,47010:450,47011:450,47012:450,47015:450,47016:450,47017:450,47018:450,47019:450,47020:450,47021:450,47022:450,47023:450,49112:450",
+	["Tradeskill.Recipe.Leatherworking.Crafted"]="",
+	["Tradeskill.Recipe.Leatherworking.Drop"]="7288:35,2407:60,2408:75,2406:90,5786:90,5787:95,2409:100,4293:100,5972:105,4294:120,7360:120,4296:140,7363:140,7364:145,4297:150,7449:165,4298:170,5788:170,4299:175,7450:175,5974:185,5789:190,4300:195,4301:200,7452:200,7453:200,8384:200,8385:205,8386:215,8387:220,8395:220,8397:220,8398:225,8399:235,8389:240,8390:240,8400:240,8401:245,8402:250,15727:265,15728:265,15731:270,15732:270,15733:270,15737:275,15738:275,15739:275,15742:275,15743:280,15744:280,15745:280,15746:280,15747:285,15748:285,15749:285,15752:285,15753:285,15754:285,15755:290,15757:290,15760:290,15761:295,15763:295,15764:295,15730:300,15765:300,15768:300,15770:300,15771:300,15772:300,15773:300,15774:300,15775:300,15776:300,15777:300,15779:300,15781:300,18252:300,18515:300,21548:300,29669:340,29672:340,29673:340,29674:340,29675:340,29718:345,25728:350,25729:350,25730:350,25731:350,29714:350,34491:360,29723:365,29724:365,29725:365,29726:365,29727:365,29728:365,29729:365,29730:365,29731:365,29732:365,29733:365,29734:365,35212:365,35213:365,35214:365,35215:365,35216:365,35217:365,35218:365,35219:365,35300:365,35301:365,35302:365,35303:365,30301:375,30302:375,30303:375,30304:375,30305:375,30306:375,30307:375,30308:375,32744:375,32745:375,32746:375,32747:375,32748:375,32749:375,32750:375,32751:375,45094:450,45095:450,45096:450,45097:450,45098:450,45099:450,45100:450,45101:450,47628:450,47629:450,47630:450,47631:450,47632:450,47633:450,47634:450,47635:450,47646:450,47647:450,47648:450,47649:450,47650:450,47651:450,47652:450,47653:450",
+	["Tradeskill.Recipe.Leatherworking.Other"]="17722:190,15756:290,18514:300,18516:300,18517:300,18518:300,18519:300,25720:325",
+	["Tradeskill.Recipe.Leatherworking.Quest"]="5083:40,6710:90,6476:115,8403:220,8404:225,8405:225,8406:245,8407:250,8408:250",
+	["Tradeskill.Recipe.Leatherworking.Vendor"]="5786:90,6474:90,5787:95,7289:100,20576:100,6475:105,7290:120,7361:135,7362:135,18731:150,7613:155,18949:155,13287:165,13288:165,5788:170,5973:170,14635:185,5789:190,7451:190,18239:200,8385:205,8409:210,15724:255,15725:260,15726:260,15729:265,15734:270,15735:270,15740:275,15741:275,20253:275,15751:285,20254:285,34262:285,15758:290,15759:290,19326:290,19328:290,15762:295,17022:295,17023:300,17025:300,19327:300,19329:300,19330:300,19331:300,19332:300,19333:300,19769:300,19770:300,19771:300,19772:300,19773:300,20382:300,20506:300,20507:300,20508:300,20509:300,20510:300,20511:300,22769:300,22770:300,22771:300,25726:300,25721:325,25722:325,29664:325,30444:325,29719:335,29720:335,31361:335,25732:340,25741:340,25742:340,29217:340,29219:340,34172:345,34173:345,25725:350,25733:350,25734:350,25738:350,25743:350,29213:350,29218:350,29677:350,29682:350,29684:350,29689:350,29691:350,29693:350,29698:350,29700:350,29701:350,29702:350,29703:350,29704:350,34174:350,34175:350,34200:350,34201:350,34218:350,25736:355,25737:355,25735:360,25739:360,25740:360,29214:360,29215:360,33124:360,29717:365,29721:365,29722:365,31362:365,33205:365,29713:370,32429:375,32430:375,32431:375,32432:375,32433:375,32434:375,32435:375,32436:375,44509:415,44510:415,44511:415,44512:415,44513:420,44514:420,44515:420,44516:420,44521:420,44522:420,44523:420,44524:420,44530:420,44531:420,44532:420,44533:420,44538:420,44539:420,44540:420,44541:420,44585:420,44586:420,44588:420,44589:420,44517:425,44518:425,44519:425,44520:425,44525:425,44526:425,44527:425,44528:425,44534:425,44535:425,44536:425,44537:425,44542:425,44543:425,44544:425,44545:425,44584:425,44587:425,44546:440,44547:440,44548:440,44549:440,44550:440,44551:440,44552:440,44553:440,44932:440,44933:440,49957:450,49958:450,49959:450,49961:450,49962:450,49963:450,49965:450,49966:450",
+	["Tradeskill.Recipe.Tailoring.Crafted"]="",
+	["Tradeskill.Recipe.Tailoring.Drop"]="2598:40,6270:55,6271:55,5771:70,4292:95,4345:95,4346:100,2601:105,5772:115,4347:120,6390:120,6391:120,10316:120,4348:125,4349:125,4350:140,7092:145,5773:150,7091:150,7090:165,4351:170,4352:175,5774:175,4353:180,4354:185,5775:185,7084:190,7085:190,7086:195,4356:200,10300:215,10301:215,10302:215,10312:225,10315:235,10320:240,14466:255,14467:255,14470:260,14471:260,14473:265,14474:265,14476:270,14477:270,14478:270,14479:270,14480:275,14482:275,14484:275,14485:275,14486:275,14489:280,14490:280,14491:285,14492:285,14493:285,14494:290,14495:290,14496:290,14497:290,14498:295,14499:300,14500:300,14501:300,14504:300,14505:300,14506:300,14507:300,14508:300,14509:300,14510:300,14511:300,14512:300,14513:300,14514:300,18265:300,21371:300,22309:300,43876:325,21905:350,24296:350,24297:350,24298:350,24299:350,24300:350,24301:350,35308:350,21906:360,21903:365,24302:365,24303:365,24304:365,24305:365,24306:365,24307:365,35204:365,35205:365,35206:365,35207:365,35309:365,21907:370,21904:375,21911:375,21915:375,21919:375,24308:375,24309:375,24310:375,24311:375,24312:375,24313:375,30280:375,30281:375,30282:375,30283:375,32752:375,32753:375,32754:375,32755:375,42172:400,42173:400,42175:400,42176:400,42177:400,42178:400,45102:450,45103:450,45104:450,45105:450,47636:450,47637:450,47638:450,47639:450,47654:450,47655:450,47656:450,47657:450",
+	["Tradeskill.Recipe.Tailoring.Other"]="17724:190,21722:250,21723:250,14481:275,14488:280,18414:300,18415:300,18416:300,18417:300,18418:300,20546:300,20547:300,20548:300",
+	["Tradeskill.Recipe.Tailoring.Quest"]="10463:245",
+	["Tradeskill.Recipe.Tailoring.Vendor"]="6270:55,5771:70,6272:70,6274:100,5772:115,6275:115,14627:135,7114:145,6401:155,14630:165,7089:175,7087:180,4355:200,10728:200,7088:205,10311:220,22307:225,10314:230,10317:235,10318:240,10321:240,10323:245,38328:245,10325:250,10326:250,14526:250,34261:250,34319:250,37915:250,38327:250,44916:250,44917:250,14468:260,14469:260,21358:260,14472:265,14483:275,22308:275,22310:275,19215:290,19216:290,17017:300,17018:300,18487:300,19217:300,19218:300,19219:300,19220:300,19764:300,19765:300,19766:300,22312:300,22683:300,22772:300,22773:300,22774:300,21892:325,24292:335,24293:335,21893:340,21896:340,21898:340,24314:340,21894:345,21897:345,21895:350,21899:350,24316:350,30483:350,30833:350,30842:350,21902:355,21908:355,21912:355,21916:355,21900:360,21901:360,30843:360,21909:365,21914:365,21918:365,30844:370,21910:375,21911:375,21913:375,21915:375,21917:375,21919:375,24294:375,24295:375,32437:375,32438:375,32439:375,32440:375,32447:375,38229:375,54798:425,42187:430,42188:430,42183:435,45774:435,42185:440,42184:445,49953:450,49954:450,49955:450,49956:450",
+
+	["Tradeskill.RecipeLinks.Alchemy"]="-60893:-60893,-2330:118,-2337:858,-3447:929,-7181:1710,-2329:2454,-2331:2455,-2332:2456,-3230:2457,-2334:2458,-2335:2459,-3170:3382,-3171:3383,-3172:3384,-3173:3385,-3174:3386,-3175:3387,-3176:3388,-3177:3389,-2333:3390,-3188:3391,-11479:3577,-3448:3823,-3449:3824,-3450:3825,-3451:3826,-3452:3827,-3453:3828,-3454:3829,-11457:3928,-4508:4596,-4942:4623,-6617:5631,-6618:5633,-6624:5634,-7179:5996,-7183:5997,-11480:6037,-7256:6048,-7257:6049,-7258:6050,-7255:6051,-7259:6052,-11448:6149,-7836:6370,-7837:6371,-7841:6372,-7845:6373,-8240:6662,-25146:7068,-17565:7076,-17560:7076,-17559:7078,-17563:7080,-17561:7080,-17562:7082,-62410:8827,-11449:8949,-11450:8951,-11451:8956,-11452:9030,-11453:9036,-11456:9061,-11466:9088,-11458:9144,-11459:9149,-11460:9154,-11461:9155,-11464:9172,-11465:9179,-11467:9187,-11468:9197,-11472:9206,-11473:9210,-11477:9224,-11478:9233,-11476:9264,-12609:10592,-15833:12190,-17187:12360,-17566:12803,-17564:12808,-17551:13423,-17552:13442,-17553:13443,-17580:13444,-17554:13445,-17556:13446,-17555:13447,-17571:13452,-17557:13453,-17573:13454,-17570:13455,-17575:13456,-17574:13457,-17576:13458,-17578:13459,-17577:13461,-17572:13462,-17632:13503,-17634:13506,-17635:13510,-17636:13511,-17637:13512,-17638:13513,-21923:17708,-22732:18253,-22808:18294,-24266:19931,-24366:20002,-24368:20004,-24365:20007,-24367:20008,-26277:21546,-28582:21884,-28566:21884,-28580:21885,-28567:21885,-28585:21886,-28569:22451,-28584:22452,-28568:22452,-28581:22456,-28583:22457,-28543:22823,-28544:22824,-28545:22825,-28546:22826,-28549:22827,-28550:22828,-28551:22829,-28552:22830,-28553:22831,-28555:22832,-28556:22833,-28557:22834,-28558:22835,-28562:22836,-28563:22837,-28564:22838,-28565:22839,-28570:22840,-28571:22841,-28572:22842,-28573:22844,-28575:22845,-28576:22846,-28577:22847,-28578:22848,-28579:22849,-28586:22850,-28587:22851,-28588:22853,-28589:22854,-28590:22861,-28591:22866,-28554:22871,-29688:23571,-32765:25867,-32766:25868,-33732:28100,-33733:28101,-33738:28102,-33740:28103,-33741:28104,-38070:31080,-38962:31676,-38961:31677,-38960:31679,-39636:32062,-39637:32063,-39638:32067,-39639:32068,-41458:32839,-41500:32849,-41501:32850,-41502:32851,-41503:32852,-42736:33208,-53836:33447,-53837:33448,-45061:34440,-53776:35622,-53774:35622,-53783:35623,-53781:35623,-53779:35624,-53777:35624,-53780:35625,-53775:35625,-53782:35627,-53771:35627,-47046:35748,-47048:35749,-47049:35750,-47050:35751,-53784:36860,-53773:36860,-66659:36919,-66660:36922,-66663:36925,-66662:36928,-66658:36931,-66664:36934,-53840:39666,-53838:39671,-53839:40067,-53841:40068,-53842:40070,-53847:40072,-54218:40073,-53848:40076,-53895:40077,-53898:40078,-53899:40079,-53900:40081,-53904:40087,-53905:40093,-54220:40097,-56519:40109,-53812:40195,-54221:40211,-54222:40212,-53936:40213,-53939:40214,-53937:40215,-53942:40216,-53938:40217,-60350:41163,-57425:41266,-57427:41334,-58871:43569,-58868:43570,-60396:44322,-60403:44323,-60405:44324,-60354:44325,-60355:44327,-60356:44328,-60357:44329,-60365:44330,-60366:44331,-60367:44332,-62213:44939,-62409:44958,-63732:45621,-53901:46376,-53903:46377,-54213:46378,-53902:46379,-67025:47499",
+	["Tradeskill.RecipeLinks.Blacksmithing.Armorsmith"]="",
+	["Tradeskill.RecipeLinks.Blacksmithing.Basic"]="-55641:-55641,-55628:-55628,-2737:2844,-2738:2845,-2739:2847,-2740:2848,-2741:2849,-2742:2850,-2661:2851,-2662:2852,-2663:2853,-2664:2854,-2666:2857,-2660:2862,-2665:2863,-2667:2864,-2668:2865,-2670:2866,-2672:2868,-2673:2869,-2675:2870,-2674:2871,-3115:3239,-3116:3240,-3117:3241,-3319:3469,-3320:3470,-3321:3471,-3323:3472,-3324:3473,-3325:3474,-3326:3478,-3328:3480,-3330:3481,-3331:3482,-3333:3483,-3334:3484,-3336:3485,-3337:3486,-3292:3487,-3293:3488,-3294:3489,-3295:3490,-3296:3491,-3297:3492,-3501:3835,-3502:3836,-3503:3837,-3504:3840,-3505:3841,-3506:3842,-3507:3843,-3508:3844,-3511:3845,-3513:3846,-3515:3847,-3491:3848,-3492:3849,-3493:3850,-3494:3851,-3495:3852,-3496:3853,-3497:3854,-3498:3855,-3500:3856,-6517:5540,-6518:5541,-7223:6040,-7224:6041,-7221:6042,-7222:6043,-7408:6214,-7818:6338,-7817:6350,-8367:6731,-8768:7071,-8880:7166,-9811:7913,-9813:7914,-9814:7915,-9818:7916,-9820:7917,-9926:7918,-9928:7919,-9931:7920,-9933:7921,-9935:7922,-9937:7924,-9945:7926,-9950:7927,-9952:7928,-9957:7929,-9959:7930,-9961:7931,-9966:7932,-9968:7933,-9970:7934,-9972:7935,-9979:7936,-9980:7937,-9954:7938,-9974:7939,-9993:7941,-9995:7942,-9997:7943,-10005:7944,-10001:7945,-10009:7946,-10013:7947,-10003:7954,-9983:7955,-9985:7956,-9986:7957,-9987:7958,-10011:7959,-10015:7960,-10007:7961,-9916:7963,-9918:7964,-9921:7965,-9920:7966,-9939:7967,-9964:7969,-11454:9060,-11643:9366,-12260:10421,-12259:10423,-14379:11128,-14380:11144,-15296:11604,-15295:11605,-15293:11606,-15294:11607,-15292:11608,-15972:12259,-15973:12260,-16641:12404,-16642:12405,-16643:12406,-16644:12408,-16652:12409,-16653:12410,-16662:12414,-16648:12415,-16645:12416,-16659:12417,-16654:12418,-16656:12419,-16725:12420,-16663:12422,-16647:12424,-16649:12425,-16657:12426,-16658:12427,-16646:12428,-16730:12429,-16664:12610,-16665:12611,-16726:12612,-16731:12613,-16732:12614,-16745:12618,-16744:12619,-16742:12620,-16650:12624,-16660:12625,-16667:12628,-16655:12631,-16661:12632,-16724:12633,-16728:12636,-16741:12639,-16729:12640,-16746:12641,-16640:12643,-16639:12644,-16651:12645,-16969:12773,-16970:12774,-16971:12775,-16973:12776,-16978:12777,-16983:12781,-16985:12782,-16995:12783,-16994:12784,-16990:12790,-16984:12792,-16993:12794,-16988:12796,-16992:12797,-16991:12798,-19666:15869,-19667:15870,-19668:15871,-19669:15872,-20201:16206,-20873:16988,-20872:16989,-20876:17013,-20874:17014,-20890:17015,-20897:17016,-21161:17193,-21913:17704,-22757:18262,-23628:19043,-23629:19048,-23632:19051,-23633:19057,-23636:19148,-23637:19164,-23638:19166,-23639:19167,-23652:19168,-23653:19169,-23650:19170,-24136:19690,-24137:19691,-24138:19692,-24139:19693,-24140:19694,-24141:19695,-24399:20039,-24912:20549,-24914:20550,-24913:20551,-27590:22191,-27589:22194,-27588:22195,-27587:22196,-27585:22197,-27586:22198,-27832:22383,-27830:22384,-27829:22385,-28242:22669,-28243:22670,-28244:22671,-28461:22762,-28462:22763,-28463:22764,-29545:23482,-29547:23484,-29548:23487,-29549:23488,-29550:23489,-29556:23490,-29552:23491,-29551:23493,-29553:23494,-29557:23497,-29558:23498,-29565:23499,-29566:23502,-29568:23503,-29569:23504,-29571:23505,-29603:23506,-29606:23507,-29605:23508,-29610:23509,-29608:23510,-29611:23511,-29613:23512,-29617:23513,-29616:23514,-29614:23515,-29615:23516,-29619:23517,-29620:23518,-29621:23519,-29642:23520,-29643:23521,-29645:23522,-29629:23523,-29628:23524,-29630:23525,-29648:23526,-29649:23527,-29654:23528,-29656:23529,-29657:23530,-29658:23531,-29622:23532,-29662:23533,-29663:23534,-29664:23535,-29668:23536,-29669:23537,-29671:23538,-29672:23539,-29692:23540,-29693:23541,-29694:23542,-29695:23543,-29696:23544,-29697:23546,-29698:23554,-29699:23555,-29700:23556,-32284:23559,-34529:23563,-34530:23564,-36256:23565,-29728:23575,-29729:23576,-32285:25521,-32655:25843,-32656:25844,-32657:25845,-34607:28420,-34608:28421,-34535:28425,-34537:28426,-36258:28427,-34538:28428,-34540:28429,-36259:28430,-34541:28431,-34542:28432,-36260:28433,-34543:28434,-34544:28435,-36261:28436,-34545:28437,-34546:28438,-36262:28439,-34547:28440,-34548:28441,-36263:28442,-34533:28483,-34534:28484,-36257:28485,-34979:29201,-34981:29202,-34982:29203,-34983:29204,-36392:30031,-36390:30032,-36391:30033,-36389:30034,-36122:30069,-36124:30070,-36125:30071,-36126:30072,-36128:30073,-36129:30074,-36130:30076,-36131:30077,-36133:30086,-36134:30087,-36135:30088,-36136:30089,-36137:30093,-38473:31364,-38475:31367,-38476:31368,-38477:31369,-38478:31370,-38479:31371,-40036:32401,-40033:32402,-40034:32403,-40035:32404,-41132:32568,-41133:32570,-41134:32571,-41135:32573,-43846:32854,-42662:33173,-42688:33185,-43549:33791,-46144:34377,-46141:34378,-46142:34379,-46140:34380,-52572:39083,-52571:39084,-52570:39085,-52567:39086,-52568:39087,-52569:39088,-54550:40668,-54551:40669,-54557:40670,-54552:40671,-54553:40672,-54555:40673,-54554:40674,-54556:40675,-54917:40942,-54947:40943,-54918:40949,-54941:40950,-54944:40951,-54945:40952,-54946:40953,-54948:40954,-54949:40955,-54978:40956,-54979:40957,-54980:40958,-54981:40959,-55014:41113,-55015:41114,-55017:41116,-55013:41117,-55055:41126,-55056:41127,-55057:41128,-55058:41129,-55174:41181,-55177:41182,-55179:41183,-55181:41184,-55182:41185,-55183:41186,-55184:41187,-55185:41188,-55186:41189,-55187:41190,-55200:41239,-55201:41240,-55202:41241,-55203:41242,-55204:41243,-55206:41245,-55369:41257,-55302:41344,-55303:41345,-55304:41346,-55310:41347,-55308:41348,-55309:41349,-55312:41350,-55306:41351,-55307:41352,-55311:41353,-55305:41354,-55298:41355,-55300:41356,-55301:41357,-55370:41383,-55371:41384,-55372:41386,-55373:41387,-55374:41388,-55375:41391,-55376:41392,-55377:41394,-55656:41611,-55732:41745,-55834:41974,-55835:41975,-55839:41976,-56234:42435,-56280:42443,-56357:42500,-56400:42508,-56549:42723,-56553:42724,-56555:42725,-56554:42726,-56550:42727,-56556:42728,-56551:42729,-56552:42730,-61008:43586,-61009:43587,-61010:43588,-59406:43853,-59405:43854,-59436:43860,-59438:43864,-59440:43865,-59441:43870,-59442:43871,-85531:44505,-62202:44936,-63182:45085,-63187:45550,-63191:45551,-63189:45552,-63188:45559,-63192:45560,-63190:45561,-67092:47570,-67131:47571,-67094:47572,-67133:47573,-67096:47574,-67135:47575,-67093:47589,-67132:47590,-67091:47591,-67130:47592,-67095:47593,-67134:47594,-70562:49902,-70565:49903,-70567:49904,-70563:49905,-70566:49906,-70568:49907",
+	["Tradeskill.RecipeLinks.Blacksmithing.Weaponsmith.Axesmith"]="",
+	["Tradeskill.RecipeLinks.Blacksmithing.Weaponsmith.Basic"]="",
+	["Tradeskill.RecipeLinks.Blacksmithing.Weaponsmith.Hammersmith"]="",
+	["Tradeskill.RecipeLinks.Blacksmithing.Weaponsmith.Swordsmith"]="",
+	["Tradeskill.RecipeLinks.Cooking"]="-2542:724,-2543:733,-7752:787,-2549:1017,-2547:1082,-2538:2679,-2539:2680,-2540:2681,-2545:2682,-2544:2683,-2541:2684,-2548:2685,-2546:2687,-2795:2888,-3371:3220,-3370:3662,-3372:3663,-3373:3664,-3376:3665,-3377:3666,-3397:3726,-3398:3727,-3399:3728,-3400:3729,-4094:4457,-7753:4592,-7755:4593,-7828:4594,-7827:5095,-6412:5472,-6413:5473,-6414:5474,-6415:5476,-6416:5477,-6417:5478,-6418:5479,-6419:5480,-6499:5525,-6501:5526,-6500:5527,-7213:6038,-7751:6290,-7754:6316,-8238:6657,-18238:6887,-8604:6888,-8607:6890,-9513:7676,-20916:8364,-13028:10841,-15853:12209,-15855:12210,-15861:12212,-15863:12213,-15865:12214,-15910:12215,-15915:12216,-15906:12217,-15933:12218,-15935:12224,-15856:13851,-18239:13927,-18240:13928,-18242:13929,-18241:13930,-18243:13931,-18244:13932,-18245:13933,-18246:13934,-18247:13935,-20626:16766,-21143:17197,-21144:17198,-21175:17222,-22480:18045,-22761:18254,-24418:20074,-24801:20452,-25659:21023,-25704:21072,-25954:21217,-28267:22645,-33277:24105,-33276:27635,-33278:27636,-33279:27651,-33284:27655,-33285:27656,-33286:27657,-33287:27658,-33288:27659,-33289:27660,-33290:27661,-33291:27662,-33292:27663,-33293:27664,-33294:27665,-33295:27666,-33296:27667,-36210:30155,-37836:30816,-38867:31672,-38868:31673,-64054:33004,-42296:33048,-42302:33052,-42305:33053,-43707:33825,-43758:33866,-43761:33867,-43765:33872,-43772:33874,-43779:33924,-45022:34411,-57421:34747,-45549:34748,-45550:34749,-45551:34750,-45552:34751,-45553:34752,-45554:34753,-45555:34754,-45556:34755,-45557:34756,-45558:34757,-45559:34758,-45560:34759,-45561:34760,-45562:34761,-45563:34762,-45564:34763,-45565:34764,-45566:34765,-45567:34766,-45568:34767,-45571:34768,-45570:34769,-45695:34832,-46684:35563,-46688:35565,-53056:39520,-45569:42942,-57433:42993,-57434:42994,-57436:42995,-57437:42996,-57438:42997,-57439:42998,-57441:42999,-57442:43000,-57443:43001,-57435:43004,-57440:43005,-57423:43015,-58065:43268,-58527:43478,-58528:43480,-58521:43488,-58512:43490,-58523:43491,-58525:43492,-66036:44836,-62044:44836,-66038:44837,-62050:44837,-66037:44838,-62045:44838,-66034:44839,-62051:44839,-66035:44840,-62049:44840,-62350:44953,-64358:45932,-65454:46691",
+	["Tradeskill.RecipeLinks.Enchanting"]="-71692:-71692,-69412:-69412,-64579:-64579,-64441:-64441,-63746:-63746,-62959:-62959,-62948:-62948,-62256:-62256,-60767:-60767,-60763:-60763,-60714:-60714,-60707:-60707,-60692:-60692,-60691:-60691,-60668:-60668,-60663:-60663,-60653:-60653,-60623:-60623,-60621:-60621,-60616:-60616,-60609:-60609,-60606:-60606,-59636:-59636,-59625:-59625,-59621:-59621,-59619:-59619,-47901:-47901,-47900:-47900,-47899:-47899,-47898:-47898,-47766:-47766,-47672:-47672,-47051:-47051,-46594:-46594,-46578:-46578,-44645:-44645,-44636:-44636,-44635:-44635,-44633:-44633,-44631:-44631,-44630:-44630,-44629:-44629,-44625:-44625,-44623:-44623,-44621:-44621,-44616:-44616,-44598:-44598,-44596:-44596,-44595:-44595,-44593:-44593,-44592:-44592,-44591:-44591,-44590:-44590,-44589:-44589,-44588:-44588,-44584:-44584,-44582:-44582,-44576:-44576,-44575:-44575,-44556:-44556,-44555:-44555,-44529:-44529,-44528:-44528,-44524:-44524,-44513:-44513,-44510:-44510,-44509:-44509,-44508:-44508,-44506:-44506,-44500:-44500,-44494:-44494,-44492:-44492,-44489:-44489,-44488:-44488,-44484:-44484,-44483:-44483,-44383:-44383,-42974:-42974,-42620:-42620,-34010:-34010,-34009:-34009,-34008:-34008,-34007:-34007,-34006:-34006,-34005:-34005,-34004:-34004,-34003:-34003,-34002:-34002,-34001:-34001,-33999:-33999,-33997:-33997,-33996:-33996,-33995:-33995,-33994:-33994,-33993:-33993,-33992:-33992,-33991:-33991,-33990:-33990,-28004:-28004,-28003:-28003,-27984:-27984,-27982:-27982,-27981:-27981,-27977:-27977,-27975:-27975,-27972:-27972,-27971:-27971,-27968:-27968,-27967:-27967,-27962:-27962,-27961:-27961,-27960:-27960,-27958:-27958,-27957:-27957,-27954:-27954,-27951:-27951,-27950:-27950,-27948:-27948,-27947:-27947,-27946:-27946,-27945:-27945,-27944:-27944,-27927:-27927,-27926:-27926,-27924:-27924,-27920:-27920,-27917:-27917,-27914:-27914,-27913:-27913,-27911:-27911,-27906:-27906,-27905:-27905,-27899:-27899,-27837:-27837,-25086:-25086,-25084:-25084,-25083:-25083,-25082:-25082,-25081:-25081,-25080:-25080,-25079:-25079,-25078:-25078,-25074:-25074,-25073:-25073,-25072:-25072,-23804:-23804,-23803:-23803,-23802:-23802,-23801:-23801,-23800:-23800,-23799:-23799,-22750:-22750,-22749:-22749,-21931:-21931,-20036:-20036,-20035:-20035,-20034:-20034,-20033:-20033,-20032:-20032,-20031:-20031,-20030:-20030,-20029:-20029,-20028:-20028,-20026:-20026,-20025:-20025,-20024:-20024,-20023:-20023,-20020:-20020,-20017:-20017,-20016:-20016,-20015:-20015,-20014:-20014,-20013:-20013,-20012:-20012,-20011:-20011,-20010:-20010,-20009:-20009,-20008:-20008,-13948:-13948,-13947:-13947,-13945:-13945,-13943:-13943,-13941:-13941,-13939:-13939,-13937:-13937,-13935:-13935,-13933:-13933,-13931:-13931,-13917:-13917,-13915:-13915,-13905:-13905,-13898:-13898,-13890:-13890,-13887:-13887,-13882:-13882,-13868:-13868,-13858:-13858,-13846:-13846,-13841:-13841,-13836:-13836,-13822:-13822,-13817:-13817,-13815:-13815,-13794:-13794,-13746:-13746,-13700:-13700,-13698:-13698,-13695:-13695,-13693:-13693,-13689:-13689,-13687:-13687,-13663:-13663,-13661:-13661,-13659:-13659,-13657:-13657,-13655:-13655,-13653:-13653,-13648:-13648,-13646:-13646,-13644:-13644,-13642:-13642,-13640:-13640,-13637:-13637,-13635:-13635,-13631:-13631,-13626:-13626,-13622:-13622,-13620:-13620,-13617:-13617,-13612:-13612,-13607:-13607,-13538:-13538,-13536:-13536,-13529:-13529,-13522:-13522,-13503:-13503,-13501:-13501,-13485:-13485,-13464:-13464,-13421:-13421,-13419:-13419,-13380:-13380,-13378:-13378,-7867:-7867,-7863:-7863,-7861:-7861,-7859:-7859,-7857:-7857,-7793:-7793,-7788:-7788,-7786:-7786,-7782:-7782,-7779:-7779,-7776:-7776,-7771:-7771,-7766:-7766,-7748:-7748,-7745:-7745,-7457:-7457,-7454:-7454,-7443:-7443,-7428:-7428,-7426:-7426,-7420:-7420,-7418:-7418,-7421:6218,-7795:6339,-13628:11130,-13702:11145,-14293:11287,-14807:11288,-14809:11289,-14810:11290,-15596:11811,-17180:12655,-17181:12810,-20051:16207,-25124:20744,-25125:20745,-25126:20746,-25127:20747,-25130:20748,-25129:20749,-25128:20750,-42615:22448,-42613:22448,-45765:22449,-28022:22449,-28028:22459,-28027:22460,-32664:22461,-32665:22462,-32667:22463,-28016:22521,-28019:22522,-60619:44452",
+	["Tradeskill.RecipeLinks.Engineering.Basic"]="-67839:-67839,-63770:-63770,-63765:-63765,-55016:-55016,-55002:-55002,-54999:-54999,-54998:-54998,-54793:-54793,-54736:-54736,-3918:4357,-3919:4358,-3922:4359,-3923:4360,-3924:4361,-3925:4362,-3926:4363,-3929:4364,-3931:4365,-3932:4366,-3933:4367,-3934:4368,-3936:4369,-3937:4370,-3938:4371,-3939:4372,-3940:4373,-3941:4374,-3942:4375,-3944:4376,-3945:4377,-3946:4378,-3949:4379,-3950:4380,-3952:4381,-3953:4382,-3954:4383,-3955:4384,-3956:4385,-3957:4386,-3958:4387,-3959:4388,-3961:4389,-3962:4390,-3963:4391,-3965:4392,-3966:4393,-3967:4394,-3968:4395,-3969:4396,-3971:4397,-3972:4398,-3928:4401,-3960:4403,-3973:4404,-3977:4405,-3978:4406,-3979:4407,-8243:4852,-6458:5507,-7430:6219,-9271:6533,-8334:6712,-8339:6714,-9273:7148,-39895:7191,-9269:7506,-23067:9312,-23068:9313,-23066:9318,-12590:10498,-12587:10499,-12594:10500,-12607:10501,-12615:10502,-12618:10503,-12622:10504,-12585:10505,-12617:10506,-12586:10507,-12595:10508,-12614:10510,-12603:10514,-12616:10518,-12597:10546,-12620:10548,-12584:10558,-12589:10559,-12591:10560,-12599:10561,-12619:10562,-12624:10576,-15255:11590,-19567:15846,-19788:15992,-19790:15993,-19791:15994,-19792:15995,-19793:15996,-19794:15999,-19795:16000,-19796:16004,-19799:16005,-19815:16006,-19833:16007,-19825:16008,-19819:16009,-19830:16022,-19814:16023,-19831:16040,-21940:17716,-22797:18168,-22704:18232,-22795:18282,-22793:18283,-23069:18588,-23080:18594,-23071:18631,-23077:18634,-23079:18637,-23081:18638,-23082:18639,-23070:18641,-23507:19026,-24357:19998,-24356:19999,-43676:20475,-26011:21277,-26418:21557,-26416:21558,-26417:21559,-26442:21569,-26443:21570,-26423:21571,-26424:21574,-26425:21576,-26420:21589,-26421:21590,-26422:21592,-26426:21714,-26427:21716,-26428:21718,-28327:22728,-30310:23736,-30311:23737,-30312:23742,-30313:23746,-30314:23747,-30315:23748,-30316:23758,-30317:23761,-30318:23762,-30325:23763,-30329:23764,-30332:23765,-30334:23766,-30337:23767,-30341:23768,-30344:23771,-30348:23774,-30349:23775,-30303:23781,-30304:23782,-30305:23783,-30306:23784,-30307:23785,-30308:23786,-30309:23787,-30547:23819,-30548:23821,-30556:23824,-32814:25886,-39973:32413,-39971:32423,-40274:32461,-41311:32472,-41312:32473,-41314:32474,-41316:32475,-41315:32476,-41317:32478,-41318:32479,-41319:32480,-41320:32494,-41321:32495,-41307:32756,-30551:33092,-30552:33093,-44155:34060,-44157:34061,-44391:34113,-46116:34353,-46114:34354,-46112:34355,-46113:34356,-46115:34357,-46111:34847,-46108:35181,-46109:35182,-46106:35183,-46110:35184,-46107:35185,-46697:35581,-56476:37567,-56349:39681,-56464:39682,-56471:39683,-54353:39688,-53281:39690,-56463:40536,-56466:40767,-56472:40768,-55252:40769,-56460:40771,-56462:40772,-56467:40865,-56459:40892,-56461:40893,-56465:41112,-56469:41121,-56470:41146,-56478:41167,-56479:41168,-60866:41508,-56477:42546,-56480:42549,-56481:42550,-56574:42551,-56483:42552,-56484:42553,-56486:42554,-56487:42555,-60867:44413,-60874:44504,-61471:44739,-61481:44740,-61482:44741,-61483:44742,-62271:44949,-56468:44951,-63750:45631,-67326:47828,-67920:48933,-68067:49040",
+	["Tradeskill.RecipeLinks.Engineering.Gnomish"]="-12897:10545,-12759:10645,-12895:10713,-12899:10716,-12902:10720,-12903:10721,-12905:10724,-12906:10725,-12907:10726,-15633:11826,-23096:18645,-23129:18660,-23489:18986,-30570:23825,-30574:23828,-30575:23829,-30569:23835,-30568:23841,-36955:30544,-56473:40895",
+	["Tradeskill.RecipeLinks.Engineering.Goblin"]="-8895:7189,-12717:10542,-12718:10543,-13240:10577,-12716:10577,-12754:10586,-12755:10587,-12758:10588,-12715:10644,-12760:10646,-12908:10727,-15628:11825,-23078:18587,-23486:18984,-30558:23826,-30560:23827,-30563:23836,-30565:23838,-30566:23839,-36954:30542,-56514:42641",
+	["Tradeskill.RecipeLinks.First Aid"]="-3275:1251,-3276:2581,-3277:3530,-3278:3531,-7928:6450,-7929:6451,-7934:6452,-7935:6453,-10840:8544,-10841:8545,-18629:14529,-18630:14530,-23787:19440,-27032:21990,-27033:21991,-45545:34721,-45546:34722",
+	["Tradeskill.RecipeLinks.Inscription"]="-61288:-61288,-61177:-61177,-61120:-61120,-61119:-61119,-61118:-61118,-61117:-61117,-58484:954,-48114:955,-45382:1180,-48116:1181,-58473:1477,-50612:1711,-50605:1712,-58485:2289,-50598:2290,-58472:3012,-50599:4419,-50614:4422,-50606:4424,-58476:4425,-58486:4426,-50607:10306,-50616:10307,-50600:10308,-58478:10309,-58487:10310,-58480:27498,-50601:27499,-50608:27501,-50617:27502,-58488:27503,-58481:33457,-50602:33458,-50609:33460,-50618:33461,-58489:33462,-50603:37091,-50604:37092,-50619:37093,-50620:37094,-50610:37097,-50611:37098,-52738:37101,-48248:37118,-48247:37168,-59497:38322,-52739:38682,-52843:39469,-53462:39774,-56943:40896,-56961:40897,-56944:40899,-56950:40900,-56957:40901,-56956:40902,-56952:40903,-56960:40906,-56947:40908,-56953:40909,-56954:40912,-56955:40913,-56945:40914,-56949:40915,-56959:40916,-56948:40919,-56946:40920,-56958:40921,-56963:40922,-56951:40923,-48121:40924,-57030:41092,-57033:41094,-57027:41095,-57022:41096,-57028:41097,-57024:41098,-57023:41099,-57032:41100,-57019:41101,-57036:41102,-57025:41103,-57020:41104,-57026:41105,-57029:41106,-57021:41107,-57031:41108,-57035:41109,-57034:41110,-57232:41517,-57233:41518,-57234:41524,-57235:41526,-57236:41527,-57237:41529,-57238:41530,-57239:41531,-57240:41532,-57242:41533,-57243:41534,-57244:41535,-57245:41536,-57246:41537,-57247:41538,-57248:41539,-57249:41540,-57251:41541,-57252:41542,-57241:41547,-57250:41552,-57181:42396,-57183:42397,-57184:42398,-57185:42399,-57186:42400,-57187:42401,-57188:42402,-57189:42403,-57190:42404,-57191:42405,-57192:42406,-57193:42407,-57194:42408,-57195:42409,-57196:42410,-57197:42411,-57198:42412,-57199:42414,-57200:42415,-57201:42416,-57202:42417,-57257:42453,-57258:42454,-57259:42455,-57260:42456,-57261:42457,-57262:42458,-57263:42459,-57264:42460,-57265:42461,-57266:42462,-57267:42463,-57268:42464,-57269:42465,-57270:42466,-57271:42467,-57272:42468,-57274:42470,-57275:42471,-57276:42472,-57277:42473,-56971:42735,-56972:42736,-56973:42737,-56974:42738,-56975:42739,-56976:42741,-56977:42742,-56978:42743,-56979:42744,-56980:42745,-56981:42746,-56983:42748,-56986:42751,-56987:42752,-56988:42753,-56989:42754,-56994:42897,-56995:42898,-56996:42899,-56997:42900,-56998:42901,-56999:42902,-57000:42903,-57001:42904,-57002:42905,-57003:42906,-57004:42907,-57005:42908,-57006:42909,-57007:42910,-57008:42911,-57009:42912,-57010:42913,-57011:42914,-57012:42915,-57014:42917,-57112:42954,-57113:42955,-57114:42956,-57115:42957,-57116:42958,-57117:42959,-57119:42960,-57120:42961,-57121:42962,-57122:42963,-57123:42964,-57124:42965,-57125:42966,-57126:42967,-57127:42968,-57128:42969,-57129:42970,-57130:42971,-57131:42972,-57132:42973,-57133:42974,-57703:43115,-57704:43116,-57706:43117,-57707:43118,-57708:43119,-57709:43120,-57710:43121,-57711:43122,-57712:43123,-57713:43124,-57714:43125,-57715:43126,-57716:43127,-58286:43316,-58288:43331,-58289:43332,-58287:43334,-58296:43335,-58299:43338,-58303:43339,-58314:43340,-58317:43342,-58326:43343,-58331:43344,-58301:43350,-58302:43351,-58297:43355,-58298:43356,-58306:43359,-58307:43360,-58310:43361,-58308:43364,-58311:43365,-58312:43366,-58313:43367,-58315:43368,-58316:43369,-58319:43370,-58318:43371,-58321:43372,-58320:43373,-58322:43374,-58324:43376,-58325:43377,-58327:43378,-58323:43379,-58328:43380,-58329:43381,-58330:43385,-58332:43386,-58333:43388,-58336:43389,-58337:43390,-58340:43391,-58338:43392,-58339:43393,-58341:43394,-58342:43395,-58343:43396,-58344:43397,-58345:43398,-58346:43399,-58347:43400,-57153:43412,-57162:43413,-57154:43414,-57155:43415,-57156:43416,-57157:43417,-57158:43418,-57159:43419,-57160:43421,-57161:43422,-57163:43423,-57165:43424,-57152:43425,-57167:43427,-57168:43428,-57164:43430,-57170:43431,-57172:43432,-58482:43463,-58483:43464,-58490:43465,-58491:43466,-58565:43515,-57207:43533,-57208:43534,-57209:43535,-57210:43536,-57211:43537,-57215:43539,-57213:43541,-57214:43542,-57216:43543,-57217:43544,-57219:43546,-57220:43547,-57221:43548,-57222:43549,-57223:43550,-57224:43551,-57225:43552,-57226:43553,-57227:43554,-59475:43654,-59478:43655,-59484:43656,-59486:43657,-59489:43660,-59490:43661,-59493:43663,-59494:43664,-59495:43666,-59496:43667,-57229:43671,-57230:43672,-57228:43673,-59315:43674,-59326:43725,-59338:43825,-59339:43826,-59340:43827,-59387:43850,-59559:43867,-59560:43868,-59561:43869,-59480:44142,-59487:44161,-59491:44163,-59498:44210,-60336:44314,-60337:44315,-59502:44316,-59503:44317,-59504:44318,-61677:44684,-56990:44920,-56965:44922,-57253:44923,-62162:44928,-56991:44955,-64268:45601,-64270:45602,-64313:45603,-64307:45604,-64258:45622,-64256:45623,-64271:45625,-64273:45731,-64304:45732,-64253:45733,-64249:45734,-64246:45735,-64274:45736,-64275:45737,-64276:45738,-64314:45739,-64257:45740,-64277:45741,-64278:45742,-64279:45743,-64308:45744,-64305:45745,-64254:45746,-64251:45747,-64280:45753,-64281:45755,-64282:45756,-64309:45757,-64283:45758,-64259:45760,-64284:45761,-64285:45762,-64286:45764,-64315:45766,-64310:45767,-64260:45768,-64303:45769,-64287:45770,-64288:45771,-64289:45772,-64261:45775,-64262:45776,-64316:45777,-64247:45778,-64291:45779,-64318:45780,-64294:45781,-64317:45782,-64311:45783,-64248:45785,-64250:45789,-64295:45790,-64296:45792,-64255:45793,-64312:45794,-64302:45795,-64252:45797,-64297:45799,-64298:45800,-64266:45804,-64300:45806,-64053:45849,-64051:45854,-67600:48720,-68166:49084,-69385:49632,-71101:50045,-71102:50077,-89815:63481,-94000:63539,-92579:64493,-92026:64670,-94406:67482,-94405:67483,-94402:67484,-94403:67485,-94404:67486,-94401:67487",
+	["Tradeskill.RecipeLinks.Jewelcrafting"]="-25255:20816,-25278:20817,-25280:20818,-25284:20820,-25283:20821,-25287:20823,-25305:20826,-25317:20827,-25318:20828,-25339:20830,-25320:20831,-25321:20832,-25323:20833,-25493:20906,-25490:20907,-25498:20909,-25610:20950,-25612:20954,-25613:20955,-25617:20958,-25619:20959,-25620:20960,-25621:20961,-25615:20963,-26874:20964,-25618:20966,-25622:20967,-26878:20969,-26872:21748,-26880:21752,-26896:21753,-26887:21754,-26876:21755,-26873:21756,-26875:21758,-26881:21760,-26882:21763,-26883:21764,-26885:21765,-26897:21766,-26902:21767,-26903:21768,-26900:21769,-26906:21774,-26907:21775,-26909:21777,-26910:21778,-26916:21779,-26920:21780,-26912:21784,-26914:21789,-26908:21790,-26911:21791,-26915:21792,-26918:21793,-26925:21931,-26926:21932,-26927:21933,-26928:21934,-28903:23094,-28905:23095,-28910:23098,-28912:23099,-28914:23100,-28915:23101,-28916:23103,-28917:23104,-28918:23105,-28925:23108,-28927:23109,-28933:23110,-28936:23111,-28944:23114,-28947:23115,-28948:23116,-28950:23118,-28953:23119,-28955:23120,-31084:24027,-31085:24028,-31088:24030,-31090:24032,-31092:24033,-31149:24035,-31091:24036,-31095:24039,-31097:24048,-31098:24051,-31101:24053,-31102:24054,-31103:24055,-31104:24056,-31106:24058,-31107:24059,-31108:24060,-31109:24061,-31112:24065,-31111:24066,-31113:24067,-31048:24074,-31049:24075,-31050:24076,-31051:24077,-31052:24078,-31053:24079,-31054:24080,-31055:24082,-31056:24085,-31057:24086,-31058:24087,-31060:24088,-31061:24089,-31062:24092,-31063:24093,-31064:24095,-31065:24097,-31066:24098,-31067:24106,-31068:24110,-31070:24114,-31071:24116,-31072:24117,-31076:24121,-31077:24122,-31078:24123,-31079:24124,-31080:24125,-31081:24126,-31082:24127,-31083:24128,-32178:25438,-32179:25439,-32259:25498,-32801:25880,-32807:25881,-32808:25882,-32809:25883,-32871:25890,-32872:25893,-32873:25894,-32874:25895,-32866:25896,-32867:25897,-32868:25898,-32869:25899,-32870:25901,-34590:28595,-34955:29157,-34959:29158,-34960:29159,-34961:29160,-36523:30419,-36524:30420,-36525:30421,-36526:30422,-37818:30804,-37855:30825,-38068:31079,-38175:31154,-38503:31398,-38504:31399,-39466:31866,-39470:31867,-39471:31868,-39467:31869,-39705:32193,-39706:32194,-39711:32196,-39713:32198,-39714:32199,-39715:32200,-39716:32201,-39718:32203,-39720:32205,-39721:32206,-39724:32209,-39727:32211,-39728:32212,-39731:32215,-39733:32217,-39734:32218,-39736:32220,-39737:32221,-39738:32222,-39739:32223,-39740:32224,-39741:32225,-39742:32226,-39961:32409,-39963:32410,-40514:32508,-41414:32772,-41415:32774,-41418:32776,-41420:32833,-41429:32836,-42589:33131,-42558:33133,-42588:33134,-42590:33135,-42592:33140,-42591:33143,-42593:33144,-43493:33782,-44794:34220,-46127:34358,-46125:34359,-46126:34360,-46124:34361,-46122:34362,-46123:34363,-46403:35315,-46405:35318,-46597:35501,-46601:35503,-46775:35693,-46776:35694,-46777:35700,-46778:35702,-46779:35703,-46803:35707,-47054:35758,-47053:35759,-47055:35760,-47056:35761,-47280:35945,-56086:36767,-53831:39900,-53832:39905,-53843:39907,-53844:39908,-53845:39909,-54017:39910,-53852:39912,-53854:39915,-53857:39917,-53856:39918,-53934:39919,-53941:39927,-53943:39932,-53870:39933,-53859:39934,-53860:39935,-53869:39939,-53871:39940,-53861:39942,-53865:39945,-53872:39947,-53873:39948,-53874:39949,-53875:39950,-53876:39951,-53877:39952,-53879:39954,-53880:39955,-53882:39956,-53883:39957,-53884:39958,-53885:39959,-53891:39965,-53892:39966,-53893:39967,-53894:39968,-53917:39975,-53918:39976,-53919:39977,-53920:39978,-53921:39979,-53922:39980,-53923:39981,-53924:39982,-53925:39983,-53932:39991,-53933:39992,-53830:39996,-53945:39997,-53946:39998,-53948:40000,-53949:40001,-53951:40003,-53952:40008,-53954:40010,-53955:40011,-53957:40013,-53958:40014,-53960:40016,-53961:40017,-53962:40022,-53963:40023,-53965:40025,-53966:40026,-53968:40028,-53972:40032,-53974:40034,-53975:40037,-53976:40038,-53977:40039,-53978:40040,-54019:40041,-53980:40044,-53981:40045,-53984:40048,-53985:40049,-53986:40050,-53987:40051,-53988:40052,-53991:40055,-53993:40057,-53994:40058,-54023:40059,-53996:40086,-53997:40088,-53998:40089,-54000:40090,-54001:40091,-54003:40095,-54012:40098,-54009:40100,-54005:40102,-54011:40105,-54014:40106,-66447:40111,-66448:40112,-66446:40113,-66452:40115,-66453:40116,-66450:40118,-66497:40119,-66498:40120,-66499:40122,-66502:40124,-66501:40125,-66505:40127,-66506:40128,-66554:40129,-66557:40130,-66556:40133,-66562:40135,-66560:40139,-66561:40141,-66567:40142,-66572:40143,-66579:40144,-66582:40145,-66583:40146,-66568:40147,-66585:40149,-66584:40150,-66569:40152,-66570:40153,-66571:40154,-66574:40155,-66573:40157,-66587:40159,-66581:40160,-66576:40162,-66586:40163,-66432:40164,-66431:40165,-66429:40166,-66338:40167,-66428:40168,-66434:40169,-66435:40171,-66445:40173,-66439:40177,-66442:40179,-66441:40180,-66443:40182,-55389:41285,-55390:41307,-55392:41333,-55393:41335,-55394:41339,-56205:41367,-55386:41375,-55407:41376,-55384:41377,-55387:41378,-55388:41379,-55401:41380,-55402:41381,-55403:41382,-55404:41385,-55405:41389,-55397:41395,-55398:41396,-55399:41397,-55400:41398,-55395:41400,-55396:41401,-56049:42142,-56052:42143,-56053:42144,-56087:42145,-56085:42149,-56083:42150,-56055:42151,-56056:42152,-56081:42154,-56088:42155,-56084:42156,-56079:42158,-56193:42336,-56194:42337,-56195:42338,-56196:42339,-56197:42340,-56199:42341,-56201:42395,-56202:42413,-56203:42418,-56206:42420,-56208:42421,-56496:42642,-56497:42643,-56498:42644,-56499:42645,-56500:42646,-56501:42647,-56530:42701,-56531:42702,-58141:43244,-58142:43245,-58143:43246,-58144:43247,-58145:43248,-58146:43249,-58147:43250,-58148:43251,-58149:43252,-58150:43253,-58492:43482,-58507:43498,-58954:43582,-59759:44063,-62242:44943,-62941:45054,-63743:45627,-64727:45808,-64728:45809,-64725:45812,-64726:45813,-68253:49110,-72793:51951,-73222:52081,-73223:52082,-73224:52083,-73225:52084,-73226:52085,-73227:52086,-73228:52087,-73229:52088,-73230:52089,-73231:52090,-73232:52091,-73233:52092,-73234:52093,-73239:52094,-73240:52095,-73241:52096,-73242:52097,-73243:52098,-73244:52099,-73245:52100,-73246:52101,-73247:52102,-73248:52103,-73249:52104,-73250:52105,-73258:52106,-73259:52107,-73260:52108,-73262:52109,-73263:52110,-73264:52111,-73265:52112,-73266:52113,-73267:52114,-73268:52115,-73269:52116,-73270:52117,-73271:52118,-73272:52119,-73273:52120,-73274:52121,-73275:52122,-73276:52123,-73277:52124,-73278:52125,-73279:52126,-73280:52127,-73281:52128",
+	["Tradeskill.RecipeLinks.Leatherworking.Basic"]="-60584:-60584,-60583:-60583,-57701:-57701,-57699:-57699,-57696:-57696,-57694:-57694,-57692:-57692,-57691:-57691,-57690:-57690,-57683:-57683,-2160:2300,-2149:2302,-2153:2303,-2152:2304,-2158:2307,-2159:2308,-2161:2309,-2162:2310,-2163:2311,-2164:2312,-2165:2313,-2166:2314,-2167:2315,-2168:2316,-2169:2317,-2881:2318,-20648:2319,-3760:3719,-3816:4231,-3817:4233,-20649:4234,-3818:4236,-3753:4237,-3756:4239,-3759:4242,-3761:4243,-3762:4244,-3763:4246,-3764:4247,-3765:4248,-3766:4249,-3767:4250,-3768:4251,-3769:4252,-3770:4253,-3771:4254,-3772:4255,-3773:4256,-3774:4257,-3775:4258,-3776:4259,-3777:4260,-3778:4262,-3779:4264,-3780:4265,-20650:4304,-4096:4455,-4097:4456,-5244:5081,-6661:5739,-6702:5780,-6703:5781,-6704:5782,-6705:5783,-7126:5957,-7133:5958,-7135:5961,-7147:5962,-7149:5963,-7151:5964,-7153:5965,-7156:5966,-7953:6466,-7954:6467,-7955:6468,-8322:6709,-9058:7276,-9059:7277,-9064:7280,-9065:7281,-9068:7282,-9070:7283,-9072:7284,-9074:7285,-9145:7348,-9146:7349,-9147:7352,-9148:7358,-9149:7359,-9195:7373,-9196:7374,-9197:7375,-9198:7377,-9201:7378,-9202:7386,-9206:7387,-9207:7390,-9208:7391,-22331:8170,-10482:8172,-10487:8173,-10490:8174,-10499:8175,-10507:8176,-10556:8185,-10509:8187,-10511:8189,-10552:8191,-10516:8192,-10548:8193,-10558:8197,-10518:8198,-10520:8200,-10531:8201,-10560:8202,-10525:8203,-10542:8204,-10533:8205,-10568:8206,-10564:8207,-10570:8208,-10554:8209,-10529:8210,-10544:8211,-10572:8212,-10566:8213,-10546:8214,-10574:8215,-10562:8216,-10621:8345,-10630:8346,-10619:8347,-10632:8348,-10647:8349,-10650:8367,-19050:15045,-19060:15046,-19054:15047,-19077:15048,-19089:15049,-19085:15050,-19094:15051,-19107:15052,-19076:15053,-19059:15054,-19101:15055,-19079:15056,-19067:15057,-19090:15058,-19095:15059,-19078:15060,-19061:15061,-19097:15062,-19084:15063,-19068:15064,-19080:15065,-19086:15066,-19062:15067,-19104:15068,-19074:15069,-19087:15070,-19066:15071,-19073:15072,-19063:15073,-19053:15074,-19081:15075,-19051:15076,-19048:15077,-19064:15078,-19075:15079,-19088:15080,-19100:15081,-19070:15082,-19049:15083,-19052:15084,-19098:15085,-19071:15086,-19083:15087,-19092:15088,-19102:15090,-19055:15091,-19065:15092,-19072:15093,-19082:15094,-19091:15095,-19103:15096,-19093:15138,-19047:15407,-19058:15564,-20853:16982,-20854:16983,-20855:16984,-21943:17721,-22711:18238,-22727:18251,-22815:18258,-22921:18504,-22922:18506,-22923:18508,-22926:18509,-22927:18510,-22928:18511,-23190:18662,-23399:18948,-23703:19044,-23704:19049,-23705:19052,-23706:19058,-23707:19149,-23708:19157,-23709:19162,-23710:19163,-24121:19685,-24122:19686,-24123:19687,-24124:19688,-24125:19689,-24654:20295,-24655:20296,-24703:20380,-24849:20476,-24850:20477,-24851:20478,-24848:20479,-24847:20480,-24846:20481,-24940:20575,-26279:21278,-32454:21887,-28219:22661,-28220:22662,-28221:22663,-28222:22664,-28224:22665,-28223:22666,-28472:22759,-28473:22760,-28474:22761,-32455:23793,-32456:25650,-32457:25651,-32458:25652,-32461:25653,-32462:25654,-32463:25655,-32464:25656,-32465:25657,-32469:25659,-32468:25660,-32467:25661,-32466:25662,-32472:25668,-32470:25669,-32471:25670,-32473:25671,-32478:25673,-32479:25674,-32480:25675,-32481:25676,-32482:25679,-32485:25680,-32487:25681,-32489:25682,-32488:25683,-32490:25685,-32493:25686,-32494:25687,-32495:25689,-32496:25690,-32497:25691,-32502:25692,-32503:25693,-32501:25694,-32498:25695,-32500:25696,-32499:25697,-35520:29483,-35521:29485,-35522:29486,-35523:29487,-35524:29488,-35525:29489,-35526:29490,-35527:29491,-35529:29492,-35528:29493,-35531:29494,-35532:29495,-35533:29496,-35534:29497,-35535:29498,-35536:29499,-35537:29500,-35558:29502,-35559:29503,-35560:29504,-35561:29505,-35562:29506,-35563:29507,-35564:29508,-35568:29509,-35572:29510,-35573:29511,-35567:29512,-35574:29514,-35575:29515,-35576:29516,-35577:29517,-35580:29519,-35582:29520,-35584:29521,-35585:29522,-35588:29523,-35587:29524,-35589:29525,-35590:29526,-35591:29527,-35540:29528,-35543:29529,-35544:29530,-35539:29531,-35538:29532,-35549:29533,-35555:29534,-35554:29535,-35557:29536,-35530:29540,-36074:29964,-36075:29970,-36076:29971,-36077:29973,-36078:29974,-36079:29975,-36357:30039,-36351:30040,-36355:30041,-36349:30042,-36359:30043,-36353:30044,-36358:30045,-36352:30046,-40006:32393,-40003:32394,-40004:32395,-40005:32396,-40002:32397,-39997:32398,-52733:32399,-40001:32400,-41161:32574,-41162:32575,-41163:32577,-41164:32579,-41158:32580,-41160:32581,-41156:32582,-41157:32583,-42546:33122,-42731:33204,-64661:33568,-44953:34086,-44359:34105,-44770:34207,-44970:34330,-46138:34369,-46134:34370,-46136:34371,-46132:34372,-46137:34373,-46133:34374,-46139:34375,-46135:34376,-45100:34482,-45117:34490,-50971:38347,-50964:38371,-50966:38372,-50965:38373,-50967:38374,-50962:38375,-50963:38376,-50970:38399,-50944:38400,-50945:38401,-50946:38402,-50947:38403,-50948:38404,-50949:38405,-50943:38406,-50942:38407,-50938:38408,-50941:38409,-50939:38410,-50940:38411,-50955:38412,-50954:38413,-50950:38414,-50953:38415,-50951:38416,-50958:38417,-50961:38418,-50960:38419,-50956:38420,-50959:38421,-50957:38422,-50952:38424,-50936:38425,-51571:38433,-60607:38434,-60622:38435,-60599:38436,-51572:38437,-60608:38438,-60624:38439,-60600:38440,-60631:38441,-51568:38590,-51569:38591,-51570:38592,-55199:41238,-60660:42731,-60649:43129,-60651:43130,-60652:43131,-60655:43132,-60658:43133,-60665:43255,-60666:43256,-60669:43257,-60671:43258,-60697:43260,-60715:43261,-60716:43262,-60718:43263,-60720:43264,-60721:43265,-60723:43266,-60725:43271,-60727:43273,-60702:43433,-60703:43434,-60704:43435,-60705:43436,-60706:43437,-60711:43438,-60712:43439,-60734:43442,-60737:43443,-60731:43444,-60730:43445,-60732:43446,-60728:43447,-60735:43448,-60729:43449,-60750:43450,-60752:43451,-60748:43452,-60747:43453,-60749:43454,-60743:43455,-60751:43456,-60746:43457,-60754:43458,-60755:43459,-60756:43461,-60757:43469,-60758:43481,-60759:43484,-60760:43495,-60761:43502,-60640:43565,-60637:43566,-60996:43590,-60997:43591,-60998:43592,-60999:43593,-61000:43594,-61002:43595,-60601:44436,-60604:44437,-60605:44438,-60611:44440,-60613:44441,-60620:44442,-60627:44443,-60629:44444,-60630:44445,-60643:44446,-62176:44930,-62177:44931,-62448:44963,-63194:45553,-63196:45554,-63198:45555,-63200:45556,-63195:45562,-63197:45563,-63199:45564,-63201:45565,-67083:47576,-67143:47577,-67081:47579,-67137:47580,-67087:47581,-67139:47582,-67085:47583,-67141:47584,-67082:47595,-67138:47596,-67080:47597,-67136:47598,-67086:47599,-67142:47600,-67140:47601,-67084:47602,-69386:49633,-69388:49634,-70555:49894,-70557:49895,-70559:49896,-70561:49897,-70554:49898,-70556:49899,-70558:49900,-70560:49901",
+	["Tradeskill.RecipeLinks.Leatherworking.Dragonscale"]="",
+	["Tradeskill.RecipeLinks.Leatherworking.Elemental"]="",
+	["Tradeskill.RecipeLinks.Leatherworking.Tribal"]="",
+	["Tradeskill.RecipeLinks.Smelting"]="-2657:2840,-2659:2841,-2658:2842,-3307:3575,-3304:3576,-3308:3577,-3569:3859,-10097:3860,-10098:6037,-14891:11371,-16153:12359,-70524:12655,-22967:17771,-35750:22573,-35751:22574,-29356:23445,-29358:23446,-29359:23447,-29360:23448,-29361:23449,-29686:23573,-46353:35128,-49258:36913,-49252:36916,-55208:37663,-55211:41163",
+	["Tradeskill.RecipeLinks.Tailoring.Basic"]="-56039:-56039,-56034:-56034,-55777:-55777,-55769:-55769,-55642:-55642,-2385:2568,-2386:2569,-2387:2570,-2389:2572,-2392:2575,-2393:2576,-2394:2577,-2395:2578,-2396:2579,-2397:2580,-2399:2582,-2401:2583,-2402:2584,-2403:2585,-2406:2587,-2963:2996,-2964:2997,-3755:4238,-3757:4240,-3758:4241,-3813:4245,-3839:4305,-3840:4307,-3841:4308,-3842:4309,-3843:4310,-3844:4311,-3845:4312,-3847:4313,-3848:4314,-3849:4315,-3850:4316,-3851:4317,-3852:4318,-3854:4319,-3855:4320,-3856:4321,-3857:4322,-3858:4323,-3859:4324,-3860:4325,-3861:4326,-3862:4327,-3863:4328,-3864:4329,-3866:4330,-3868:4331,-3869:4332,-3870:4333,-3871:4334,-3872:4335,-3873:4336,-3865:4339,-3914:4343,-3915:4344,-6521:5542,-6686:5762,-6688:5763,-6693:5764,-6695:5765,-6690:5766,-6692:5770,-7623:6238,-7629:6239,-7630:6240,-7624:6241,-7633:6242,-7639:6263,-7643:6264,-7892:6384,-7893:6385,-8465:6786,-8467:6787,-8483:6795,-8489:6796,-49677:6836,-8776:7026,-8758:7046,-8780:7047,-8760:7048,-8782:7049,-8762:7050,-8764:7051,-8766:7052,-8786:7053,-8770:7054,-8772:7055,-8789:7056,-8774:7057,-8791:7058,-8793:7059,-8795:7060,-8797:7061,-8799:7062,-8802:7063,-8804:7064,-8784:7065,-12048:9998,-12049:9999,-12050:10001,-12052:10002,-12053:10003,-12055:10004,-12056:10007,-12059:10008,-12060:10009,-12066:10018,-12067:10019,-12070:10021,-12071:10023,-12072:10024,-12086:10025,-12073:10026,-12074:10027,-12076:10028,-12078:10029,-12081:10030,-12082:10031,-12084:10033,-12085:10034,-12089:10035,-12093:10036,-12091:10040,-12092:10041,-12069:10042,-12088:10044,-12044:10045,-12045:10046,-12046:10047,-12047:10048,-12065:10050,-12079:10051,-12064:10052,-12077:10053,-12075:10054,-12080:10055,-12061:10056,-18402:13856,-18407:13857,-18406:13858,-18409:13860,-18417:13863,-18423:13864,-18438:13865,-18444:13866,-18449:13867,-18404:13868,-18403:13869,-18411:13870,-18424:13871,-18408:14042,-18412:14043,-18418:14044,-18434:14045,-18405:14046,-18401:14048,-18414:14100,-18415:14101,-18420:14103,-18439:14104,-18451:14106,-18419:14107,-18437:14108,-18442:14111,-18453:14112,-18446:14128,-18450:14130,-18421:14132,-18422:14134,-18436:14136,-18440:14137,-18447:14138,-18448:14139,-18452:14140,-18416:14141,-18413:14142,-18410:14143,-18441:14144,-18454:14146,-18457:14152,-18458:14153,-18456:14154,-18445:14155,-18455:14156,-18560:14342,-19435:15802,-20849:16979,-20848:16980,-21945:17723,-22813:18258,-22759:18263,-22866:18405,-22867:18407,-22868:18408,-22869:18409,-22870:18413,-22902:18486,-23662:19047,-23663:19050,-23664:19056,-23665:19059,-23666:19156,-23667:19165,-24091:19682,-24092:19683,-24093:19684,-24903:20537,-24901:20538,-24902:20539,-26403:21154,-26085:21340,-26086:21341,-26087:21342,-26407:21542,-26745:21840,-26746:21841,-26747:21842,-26749:21843,-26750:21844,-26751:21845,-26752:21846,-26753:21847,-26754:21848,-26764:21849,-26765:21850,-26770:21851,-26771:21852,-26772:21853,-26773:21854,-26774:21855,-26755:21858,-26775:21859,-26776:21860,-26777:21861,-26778:21862,-26779:21863,-26780:21864,-26781:21865,-26782:21866,-26783:21867,-26784:21868,-26756:21869,-26757:21870,-26758:21871,-26759:21872,-26760:21873,-26761:21874,-26762:21875,-26763:21876,-27658:22246,-27659:22248,-27660:22249,-27724:22251,-27725:22252,-28207:22652,-28205:22654,-28209:22655,-28208:22658,-28210:22660,-28480:22756,-28481:22757,-28482:22758,-31434:24249,-31435:24250,-31437:24251,-31438:24252,-31440:24253,-31441:24254,-31442:24255,-31443:24256,-31444:24257,-31448:24258,-31449:24259,-31450:24260,-31451:24261,-31452:24262,-31453:24263,-31454:24264,-31455:24266,-31456:24267,-31460:24268,-31459:24270,-31373:24271,-36686:24272,-31430:24273,-31432:24274,-31431:24275,-31433:24276,-36318:30035,-36316:30036,-36317:30037,-36315:30038,-36665:30459,-36667:30460,-36668:30461,-37873:30831,-37882:30837,-37883:30838,-37884:30839,-40023:32389,-40024:32390,-40020:32391,-40021:32392,-40060:32420,-41207:32584,-41208:32585,-41205:32586,-41206:32587,-44958:34085,-44950:34087,-46130:34364,-46131:34365,-46128:34366,-46129:34367,-50194:38225,-50644:38277,-50647:38278,-55993:41248,-55994:41249,-55996:41250,-55995:41251,-55997:41252,-55998:41253,-55999:41254,-56000:41255,-55898:41509,-55899:41510,-55900:41511,-56031:41512,-55902:41513,-55903:41515,-59586:41516,-56030:41519,-55906:41520,-55907:41521,-55908:41522,-55910:41523,-55911:41525,-55913:41528,-55914:41543,-55924:41544,-55922:41545,-55919:41546,-55901:41548,-55921:41549,-55923:41550,-55920:41551,-55925:41553,-55941:41554,-55943:41555,-56002:41593,-56001:41594,-56003:41595,-56004:41597,-56006:41598,-56007:41599,-56005:41600,-56008:41601,-56009:41602,-56010:41603,-56011:41604,-56014:41607,-56015:41608,-56016:41609,-56017:41610,-56018:41984,-56019:41985,-56020:41986,-56021:42093,-56022:42095,-56023:42096,-56024:42100,-56026:42101,-56028:42102,-56025:42103,-56027:42111,-56029:42113,-60993:43583,-60990:43584,-60994:43585,-59582:43969,-59585:43970,-59589:43971,-59587:43972,-59584:43973,-59583:43974,-59588:43975,-55904:44211,-60969:44554,-60971:44558,-63203:45557,-63205:45558,-63204:45566,-63206:45567,-63742:45626,-63924:45773,-64730:45810,-64729:45811,-67079:47585,-67145:47586,-67065:47587,-67147:47588,-67066:47603,-67146:47604,-67064:47605,-67144:47606,-70551:49890,-70550:49891,-70552:49892,-70553:49893",
+	["Tradeskill.RecipeLinks.Tailoring.Mooncloth"]="",
+	["Tradeskill.RecipeLinks.Tailoring.Shadoweave"]="",
+	["Tradeskill.RecipeLinks.Tailoring.Spellfire"]="",
+},m)
diff --git a/libs/LibPeriodicTable-3.1-Tradeskill/LibPeriodicTable-3.1-Tradeskill.toc b/libs/LibPeriodicTable-3.1-Tradeskill/LibPeriodicTable-3.1-Tradeskill.toc
new file mode 100644
index 0000000..94d4fda
--- /dev/null
+++ b/libs/LibPeriodicTable-3.1-Tradeskill/LibPeriodicTable-3.1-Tradeskill.toc
@@ -0,0 +1,16 @@
+## Interface: 30200
+## LoadOnDemand: 1
+## Title: Lib: PeriodicTable-3.1 [|cffeda55fTradeskill|r]
+## Notes: PeriodicTable data module.
+## Author: Nymbia
+## Version: 3.1
+## Dependencies: LibPeriodicTable-3.1
+## X-Category: Library
+## X-License: LGPL v2.1
+## X-PeriodicTable-3.1-Module: Tradeskill
+## X-Curse-Packaged-Version: r295
+## X-Curse-Project-Name: LibPeriodicTable-3.1
+## X-Curse-Project-ID: libperiodictable-3-1
+## X-Curse-Repository-ID: wow/libperiodictable-3-1/mainline
+
+LibPeriodicTable-3.1-Tradeskill.lua
diff --git a/libs/LibPeriodicTable-3.1-TradeskillResultMats/LibPeriodicTable-3.1-TradeskillResultMats.lua b/libs/LibPeriodicTable-3.1-TradeskillResultMats/LibPeriodicTable-3.1-TradeskillResultMats.lua
new file mode 100644
index 0000000..d16b1b3
--- /dev/null
+++ b/libs/LibPeriodicTable-3.1-TradeskillResultMats/LibPeriodicTable-3.1-TradeskillResultMats.lua
@@ -0,0 +1,54 @@
+-- (c) 2007 Nymbia.  see LGPLv2.1.txt for full details.
+--DO NOT MAKE CHANGES TO THIS FILE BEFORE READING THE WIKI PAGE REGARDING CHANGING THESE FILES
+if not LibStub("LibPeriodicTable-3.1", true) then error("PT3 must be loaded before data") end
+LibStub("LibPeriodicTable-3.1"):AddData("TradeskillResultMats", gsub("$Rev: 295 $", "(%d+)", function(n) return n+90000 end), {
+	["TradeskillResultMats.Forward.Alchemy"]="-60893:36901x10;36903x10;36907x4;40411x4,118:2447x1;765x1;3371x1,858:118x1;2450x1,929:2453x1;2450x1;3372x1,1710:3357x1;3356x1;3372x1,2454:2449x1;765x1;3371x1,2455:785x1;765x1;3371x1,2456:785x2;2447x1;3371x1,2457:2452x1;765x1;3371x1,2458:2449x2;2447x1;3371x1,2459:2452x1;2450x1;3371x1,3382:2447x1;2449x2;3371x1,3383:785x1;2450x2;3371x1,3384:785x3;3355x1;3371x1,3385:785x1;3820x1;3371x1,3386:1288x1;2453x1;3372x1,3387:8839x2;8845x1;8925x1,3388:2453x2;2450x2;3372x1,3389:3355x1;3820x1;3372x1,3390:3355x1;2452x1;3372x1,3391:2449x1;3356x1;3372x1,3577:3575x1,3823:3818x1;3355x1;3372x1,3824:3818x4;3369x4;3372x1,3825:3355x1;3821x1;3372x1,3826:3357x1;2453x1;3372x1,3827:3820x1;3356x1;3372x1,3828:3358x1;3818x1;3372x1,3829:3358x4;3819x2;3372x1,3928:8838x1;3358x1;8925x1,4596:3164x1;2447x1;3371x1,4623:3858x1;3821x1;3372x1,5631:5635x2;3371x1,5633:5637x1;3356x1;3372x1,5634:6370x2;3820x1;3372x1,5996:3820x1;6370x2;3371x1,5997:765x2;3371x1,6037:3860x1,6048:3369x1;3356x1;3372x1,6049:4402x1;6371x1;3372x1,6050:3819x1;3821x1;3372x1,6051:2453x1;2452x1;3371x1,6052:3357x1;3820x1;3372x1,6149:3358x1;3821x1;3372x1,6370:6358x2,6371:6359x2,6372:2452x1;6370x1;3371x1,6373:6371x2;3356x1;3372x1,6662:6522x1;2449x1;3371x1,7068:7077x1,7076:7078x1,7076:12803x1,7078:7082x1,7080:12808x1,7080:7076x1,7082:7080x1,8827:44958x3;18256x1,8949:3820x1;3821x1;3372x1,8951:3355x1;3821x1;3372x1,8956:4625x1;3821x1;8925x1,9030:7067x1;3821x1;8925x1,9036:3358x1;8831x1;8925x1,9061:4625x1;9260x1;3372x1,9088:8836x1;8839x1;8925x1,9144:8153x1;8831x1;8925x1,9149:3575x4;9262x1;8831x4;4625x4,9154:8836x1;8925x1,9155:8839x1;3821x1;8925x1,9172:8845x1;8838x1;8925x1,9179:8839x1;3358x1;8925x1,9187:8838x1;3821x1;8925x1,9197:8831x3;8925x1,9206:8838x1;8846x1;8925x1,9210:8845x2;4342x1;8925x1,9224:8846x1;8845x1;8925x1,9233:8846x2;8925x1,9264:8845x3;8925x1,10592:3821x1;3818x1;3372x1,12190:8831x3;8925x1,12360:12359x1;12363x1,12803:7076x1,12808:7080x1,13423:13422x1,13442:8846x3;8925x1,13443:8838x2;8839x2;8925x1,13444:13463x3;13467x2;8925x1,13445:13423x2;8838x1;8925x1,13446:13464x2;13465x1;8925x1,13447:13463x1;13466x2;8925x1,13452:13465x2;13466x2;8925x1,13453:8846x2;13466x2;8925x1,13454:13463x3;13465x1;8925x1,13455:13423x2;10620x1;8925x1,13456:7070x1;13463x1;8925x1,13457:7068x1;13463x1;8925x1,13458:7067x1;13463x1;8925x1,13459:3824x1;13463x1;8925x1,13461:11176x1;13463x1;8925x1,13462:13467x2;13466x2;8925x1,13503:9149x1;25867x1;25868x1;22794x2;23571x5,13506:13423x7;8925x1,13510:8846x7;13423x3;13468x1;8925x1,13511:13463x7;13467x3;13468x1;8925x1,13512:13463x7;13465x3;13468x1;8925x1,13513:13467x7;13465x3;13468x1;8925x1,17708:3819x2;3358x1;3372x1,18253:10286x1;13464x4;13463x4;18256x1,18294:7972x1;8831x2;8925x1,19931:12938x1;19943x1;12804x6;13468x1,20002:13463x2;13464x1;8925x1,20004:8846x1;13466x2;8925x1,20007:13463x1;13466x2;8925x1,20008:13467x2;13465x2;10286x2;8925x1,21546:6371x3;4625x3;8925x1,21884:22451x1,21884:22457x1,21885:22456x1,21885:22452x1,21886:22452x1,22451:21885x1,22452:21884x1,22452:21886x1,22456:21885x1,22457:21884x1,22823:22787x1;22785x1;18256x1,22824:13465x1;22785x1;18256x1,22825:13464x1;22786x1;18256x1,22826:22787x2;22785x1;18256x1,22827:22578x2;22790x1;18256x1,22828:22789x3;18256x1,22829:22791x2;22785x1;18256x1,22830:22787x2;22789x1;18256x1,22831:22789x1;22785x2;18256x1,22832:22786x2;22785x1;18256x1,22833:22574x2;22790x1;18256x1,22834:22790x3;22789x1;18256x1,22835:22790x1;22792x1;18256x1,22836:22786x1;22792x1;18256x1,22837:22789x2;22790x1;18256x1,22838:22789x2;22791x1;18256x1,22839:22792x2;22791x1;18256x1,22840:22790x1;22791x1;18256x1,22841:21884x1;22793x3;18256x5,22842:21885x1;22793x3;18256x5,22844:21886x1;22793x3;18256x5,22845:22457x1;22793x3;18256x5,22846:22456x1;22793x3;18256x5,22847:21886x1;22793x3;18256x5,22848:22791x1;22793x1;18256x1,22849:22790x2;22573x3;18256x1,22850:22793x2;22786x1;22791x1;18256x1,22851:22794x1;22793x3;22790x7;18256x1,22853:22794x1;22793x3;22786x7;18256x1,22854:22794x1;22793x3;22789x7;18256x1,22861:22794x1;22793x3;22791x7;18256x1,22866:22794x1;22793x3;22792x7;18256x1,22871:22787x3;22791x1;18256x1,23571:22452x1;21885x1;22451x1;21884x1;22457x1,25867:23079x3;23107x3;23112x3;22452x2;21885x2,25868:23077x3;21929x3;23117x3;21884x2;22451x2,28100:13464x1;22785x1;18256x1,28101:22787x2;22785x1;18256x1,28102:13465x1;22785x1;18256x1,28103:13463x1;22785x1;18256x1,28104:22789x1;22785x1;18256x1,31080:22452x1;21886x1;22457x1,31676:22785x2;22792x3;18256x1,31677:22793x1;22792x2;18256x1,31679:22789x1;22792x2;18256x1,32062:22787x2;22785x1;18256x1,32063:22786x1;22787x2;18256x1,32067:22785x1;22789x1;18256x1,32068:22790x1;22787x1;18256x1,32839:22457x2;22793x7;23782x1,32849:21884x2;22793x7;23782x1,32850:21885x2;22793x7;23782x1,32851:21886x2;22793x7;23782x1,32852:22456x2;22793x7;23782x1,33208:22786x7;22791x3;22794x1;18256x1,33447:36901x1;36906x2;18256x1,33448:36905x2;36901x1;18256x1,34440:8925x1;22787x2,35622:36860x1,35622:35623x1,35623:35622x1,35623:35624x1,35624:35627x1,35624:35623x1,35625:35627x1,35625:36860x1,35627:35625x1,35627:35624x1,35748:13503x1;22451x6;30183x2,35749:13503x1;21884x6;30183x2,35750:13503x1;21886x6;30183x2,35751:13503x1;22456x6;30183x2,36860:35622x1,36860:35625x1,36919:36860x1;36918x1,36922:36921x1;35625x1,36925:35623x1;36924x1,36928:35627x1;36927x1,36931:36930x1;35627x1,36934:36933x3,39666:36901x2;36903x2;18256x1,39671:36901x2;18256x1,40067:36907x2;18256x1,40068:36901x1;37921x2;18256x1,40070:36901x1;36904x1;18256x1,40072:36907x3;18256x1,40073:36904x2;18256x1,40076:40195x3;18256x1,40077:36901x2;18256x1,40078:36901x4;18256x1,40079:37921x4;36901x1;18256x1,40081:36901x1;36907x2;18256x1,40087:36907x2;36905x2;18256x1,40093:36906x2;18256x1,40097:36906x2;37701x1;18256x1,40109:36901x1;36905x2;18256x1,40195:40199x1,40211:36903x2;40195x1;18256x1,40212:36905x2;40195x1;18256x1,40213:37701x2;18256x1,40214:37705x2;18256x1,40215:37702x2;18256x1,40216:37703x2;18256x1,40217:37704x2;18256x1,41163:36913x8,41266:36917x1;36923x1;35623x1,41334:36932x1;36929x1;36860x1,43569:33447x10;40411x1,43570:33448x10;40411x1,44322:36901x20;35625x2;36908x1,44323:37921x20;40195x12;36908x1,44324:36903x15;36904x15;36908x1,44325:36904x2;36907x1;18256x1,44327:36901x1;36903x2;18256x1,44328:36906x2;37704x1;18256x1,44329:36901x1;36903x2;18256x1,44330:36904x2;18256x1,44331:37921x1;37704x1;18256x1,44332:37921x2;36907x1;18256x1,44939:39970x4;18256x1,44958:41814x2,45621:6371x1;2453x1;3371x1,46376:36906x5;36905x5;36908x1;40411x1,46377:36905x7;36901x3;36908x1;40411x1,46378:36906x7;40195x3;36908x1;40411x1,46379:36905x7;37704x3;36908x1;40411x1,47499:36908x4;40411x1",
+	["TradeskillResultMats.Forward.Blacksmithing.Armorsmith"]="",
+	["TradeskillResultMats.Forward.Blacksmithing.Basic"]="-55641:36913x4;35627x1,-55628:36913x4;35624x1,2844:2840x6;2880x1;2589x2,2845:2840x6;2880x1;2589x2,2847:2840x6;2880x1;2589x2,2848:2841x6;2880x4;2319x1,2849:2841x7;2880x4;2319x1,2850:2841x5;2880x4;2319x2,2851:2840x6,2852:2840x4,2853:2840x2,2854:2840x10;3470x3,2857:2840x10,2862:2835x1,2863:2836x1,2864:2840x12;1210x1;3470x2,2865:2841x6,2866:2841x7,2868:2841x5;3478x2,2869:2841x10;2842x2;3478x2,2870:2841x20;1206x2;1705x2;5500x2;2842x4,2871:2838x1,3239:2835x1;2589x1,3240:2836x1;2592x1,3241:2838x1;2592x1,3469:2840x8,3470:2835x2,3471:2840x8;3470x2,3472:2840x8;3470x2,3473:2840x8;2321x2;3470x3,3474:2840x8;818x1;774x1,3478:2836x2,3480:2841x5;3478x1,3481:2841x8;2842x2;3478x2,3482:2841x6;2842x1;3478x2,3483:2841x8;2842x1;3478x2,3484:3575x6;3478x2;2605x1,3485:3575x4;5498x2;3478x2;2605x1,3486:2838x3,3487:2840x14;2880x2;818x2;2319x2,3488:2840x12;2880x2;774x2;3470x2;2318x2,3489:2840x10;2880x2;2842x2;3470x2;2318x2,3490:2841x4;3466x1;2459x1;1210x2;3478x2;2319x2,3491:2841x8;3466x1;1206x1;1210x1;3478x2;2319x2,3492:3575x6;3466x2;3391x1;1705x2;3478x2;2319x2,3835:3575x6;2605x1,3836:3575x12;3864x1;2605x1,3837:3859x8;3577x2;3486x2,3840:3575x7;3486x1;2605x1,3841:3859x6;3577x2;3486x1,3842:3575x8;3486x1;2605x1,3843:3575x10;3577x2;3486x1,3844:3575x20;3486x4;1529x2;1206x2;4255x1,3845:3859x12;3577x2;3486x4,3846:3859x8;3864x1;1705x1;3486x2,3847:3859x10;3577x4;3486x4,3848:2841x6;2880x4;3470x2;818x1;2319x1,3849:3575x6;3466x2;3486x1;1705x2;4234x3,3850:3575x8;3466x2;3486x2;1529x2;4234x3,3851:3575x8;3466x2;3486x1;2842x4;4234x2,3852:3575x10;3577x4;1705x2;3466x2;4234x2;3486x2,3853:3859x8;3466x2;3486x2;1705x3;4234x3,3854:3859x12;1529x2;3829x2,3855:3575x14;3466x2;3486x2;3577x4;4234x2,3856:3859x10;3864x2;3824x2,5540:2841x6;3466x1;5498x2;3478x2,5541:2841x10;3466x1;5500x1;3478x2;2319x2,6040:3859x5;3486x2,6041:3859x8;3486x2;4234x4,6042:3575x6;3478x4,6043:3575x4;3478x2;1705x1,6214:2840x12;2880x2;2318x2,6338:2842x1;3470x2,6350:2841x6;3470x6,6731:2840x16;818x2;3470x3,7071:3575x1,7166:2840x6;2880x1;3470x1;2318x1,7913:3575x8;5635x4;3486x2,7914:3575x20;3486x4,7915:3575x10;5637x2;5635x2,7916:3575x12;5637x4;3486x2,7917:3575x14;3486x3;5637x2,7918:3860x8;4234x6,7919:3860x6;4338x4,7920:3860x12,7921:3860x10,7922:3859x14;3864x1;7966x1,7924:3860x8,7926:3860x12;6037x1;7966x1,7927:3860x10;4338x6;6037x1;7966x1,7928:3860x12;6037x1;4304x6,7929:3860x12;7067x1,7930:3860x16,7931:3860x10;4338x6,7932:3860x14;4304x4,7933:3860x14;4304x4,7934:3860x14;7909x1,7935:3860x16;6037x6;7077x1;7966x1,7936:3860x14;6037x2;4304x4;7966x1;7909x1,7937:3860x16;6037x2;7966x1,7938:3860x10;6037x8;7909x3;3864x3;5966x1;7966x2,7939:3860x12;6037x12;7910x2;7971x2;7966x2,7941:3860x12;3864x2;7966x1;4234x4,7942:3860x16;7909x2;7966x1;4304x4,7943:3860x14;6037x4;7966x1;4304x2,7944:3860x14;7909x1;1705x2;1206x2;7966x1;4338x2,7945:3860x16;7971x1;1210x4;7966x1;4304x2,7946:3860x18;7075x2;7966x1;4304x4,7947:3860x12;6037x6;7910x2;7966x1;4304x2,7954:3860x24;7075x4;6037x6;3864x5;1529x5;7966x4;4304x4,7955:2840x10;2880x2;3470x1;2318x1,7956:2841x8;3466x1;2319x1,7957:2841x12;3466x2;2319x2,7958:2841x14;3466x1;2319x2,7959:3860x28;7972x10;6037x10;7966x6;4304x6,7960:3860x30;6037x16;7910x6;7081x4;7966x8;4304x6,7961:3860x28;7081x6;6037x8;3823x2;7909x6;7966x4;4304x2,7963:3859x16;3486x3,7964:7912x1,7965:7912x1;4306x1,7966:7912x4,7967:3860x4;6037x2;7966x4,7969:3860x4;7966x3,9060:3860x5;3577x1;6037x1,9366:3859x10;3577x4;3486x4,10421:2840x4,10423:2841x12;2842x4;3478x2,11128:3577x1;3478x2,11144:6037x1;3486x1,11604:11371x20;7077x8,11605:11371x6;7077x1,11606:11371x10;7077x2,11607:11371x26;7077x4,11608:11371x18;7077x4,12259:3859x10;3466x2;1206x1;7067x1;4234x1,12260:3859x10;3577x4;7068x2;4234x2,12404:12365x1,12405:12359x16;12361x1,12406:12359x8,12408:12359x8,12409:12359x12;8170x8,12410:12359x12;7910x1,12414:12359x12,12415:12359x18;7077x2;7910x1,12416:12359x10;7077x2,12417:12359x18;7077x4,12418:12359x18;7077x4,12419:12359x14;7077x4,12420:12359x20;7077x4,12422:12359x20,12424:12359x10;8170x6,12425:12359x12,12426:12359x18,12427:12359x18;7910x1,12428:12359x12;8170x6,12429:12359x24,12610:12359x20;12360x2;3577x6,12611:12359x20;12360x2;2842x10,12612:12359x30;12360x2;6037x2;12364x1,12613:12359x40;12360x2;7910x1,12614:12359x40;12360x2;7910x1,12618:12360x8;12655x24;7076x4;7080x4;12364x2;12800x2,12619:12360x10;12655x20;7080x6;12361x2;12364x1,12620:12360x6;12655x16;7076x6;12799x2;12800x1,12624:12359x40;12655x2;12803x4;8153x4;12364x1,12625:12359x20;12360x4;12364x2;7080x2,12628:12359x40;12662x10;12361x4;7910x4,12631:12359x20;12655x6;7078x2;7910x4,12632:12359x20;12655x4;7080x4;12361x4,12633:12359x20;12655x4;6037x6;3577x6;12800x2,12636:12359x40;12655x4;12799x6;12364x2,12639:12360x15;12655x20;7076x10;12361x4;12799x4,12640:12359x80;12360x12;12361x10;12800x4,12641:12360x30;12655x30;12364x6;12800x6,12643:12365x1;14047x1,12644:12365x4,12645:12359x4;12644x4;7076x2,12773:12359x10;12799x2;12644x2;8170x4,12774:12359x30;12655x4;7910x4;12361x4;12644x2;8170x4,12775:12359x12;12644x6;8170x6,12776:12359x20;12655x6;12364x2;12804x4;8170x4,12777:12655x10;7078x4;7077x4;12800x2;12644x2,12781:12655x6;12360x2;12804x4;12799x2;12361x2;12364x1,12782:12359x40;12360x2;12662x16;12808x8;12361x2;12644x2;8170x4,12783:12360x10;12655x10;12810x2;7910x6;12800x6;12799x6;12644x4,12784:12360x20;12810x6;12644x2,12790:12360x15;12800x8;12811x1;12799x4;12810x8;12644x2,12792:12359x30;7077x4;7910x4;8170x4,12794:12655x20;12364x8;12799x8;7076x6;12810x4,12796:12359x50;12360x15;12809x4;12810x6;7076x10,12797:12360x18;12361x8;12800x8;7080x4;12644x2;12810x4,12798:12359x40;12360x12;12808x10;12364x8;12644x2;12810x4,15869:2842x1;3470x1,15870:3577x1;3486x1,15871:6037x1;7966x1,15872:12360x1;12644x1,16206:12360x3;12644x1,16988:11371x16;17010x4;17011x5,16989:11371x6;17010x3;17011x3,17013:11371x16;17010x4;17011x6,17014:11371x4;17010x2;17011x2,17015:11371x16;17010x12;11382x2;12810x2,17016:11371x18;17011x12;11382x2;12810x2,17193:17203x8;11371x20;12360x50;7078x25;11382x10;17011x10;17010x10,17704:3859x10;3829x1;7070x2;7069x2;4234x2,18262:7067x2;12365x3,19043:12359x12;7076x3;12803x3,19048:12360x4;7076x6;12803x6,19051:12359x8;6037x6;12811x1,19057:12360x2;6037x10;12811x1,19148:17011x4;17010x2;11371x4,19164:17011x3;17010x5;17012x4;11371x4;11382x2,19166:17011x3;17010x6;12360x12;11382x1;11371x4,19167:17011x5;17010x2;12360x16;11371x6,19168:17011x6;17010x6;12360x10;11371x6;12809x12,19169:17011x8;17010x5;12360x10;11371x12;12364x4,19170:17011x4;17010x7;12360x12;11371x8;12800x4,19690:12359x20;19774x10;7910x2,19691:12359x16;19774x8;7910x1,19692:12359x12;19774x6;12810x4,19693:12359x20;19774x14;12799x2,19694:12359x18;19774x12;12799x2,19695:12359x16;19774x10;12799x1,20039:17011x3;17010x3;17012x4;11371x6,20549:12359x12;20520x6;6037x6;12810x2,20550:12359x20;20520x10;6037x10,20551:12359x16;20520x8;6037x8;11754x1,22191:22203x15;22202x36;12810x12;12809x10;12800x4,22194:22203x8;22202x24;12810x8;13512x1,22195:22202x14;12810x4,22196:22203x18;22202x40;12655x12;7076x10;12364x4,22197:22202x14;12655x4;7076x2,22198:22203x8;22202x24;12655x8;7076x4,22383:12360x12;20725x2;13512x2;12810x4,22384:12360x15;11371x10;12808x20;20520x20;15417x10;12753x2,22385:12360x12;12655x20;7076x10;13510x2,22669:22682x7;12359x16;12360x2;7080x4,22670:22682x5;12359x12;12360x2;7080x2,22671:22682x4;12359x12;12360x2;7080x2,22762:12655x6;19726x2;12360x2;12803x2,22763:12655x8;19726x1;12803x2,22764:12655x6;12803x2,23482:23445x4,23484:23445x4,23487:23445x6,23488:23445x8,23489:23445x10,23490:23445x9,23491:23445x5,23493:23445x4,23494:23445x6,23497:23445x9,23498:23445x10,23499:23445x12,23502:23446x8,23503:23446x8,23504:23446x7;21887x2,23505:23446x12,23506:23446x6;22452x2;21884x2,23507:23446x12;22452x4;21884x2,23508:23446x8;21887x2;22452x3;21884x2,23509:23573x4;22445x20;22449x4,23510:23573x2;22445x8;22449x2,23511:23573x3;22445x12;22449x2,23512:23573x4;22445x24;22449x4,23513:23445x16;21885x6;21884x4,23514:23445x8;21885x4;21884x4,23515:23445x6;21885x3;21884x2,23516:23445x12;21885x5;21884x3,23517:23448x6,23518:23448x8,23519:23448x8,23520:23445x8;21884x6;23449x3;22824x2,23521:23445x10;21884x10;23449x4;22824x4,23522:23445x12;21884x10;23449x6;22824x4,23523:23449x6;21885x4;22457x4,23524:23449x3;21885x2;22457x2,23525:23449x4;21885x3;22457x3,23526:23448x6;22449x2;22831x4;22451x4,23527:23573x4;21886x6;22452x4,23528:23445x1;22573x1,23529:23446x1;22573x2,23530:23448x4;21884x4;22452x4,23531:23448x10;23571x3;23572x1,23532:23573x10;23571x2;22452x15;23572x1,23533:23448x10;23571x5;23572x1,23534:23573x8;22451x16;21885x16;23572x1,23535:23573x8;22452x22;22457x12;23572x1,23536:23573x8;23571x3;21886x18;23572x1,23537:23448x6;22456x15;23572x1,23538:23573x6;21886x20;23572x1,23539:23573x6;23571x2;21885x15;23572x1,23540:23449x10;23448x10;23571x6;23572x2,23541:23449x20;23573x2;23571x6;23572x2,23542:23449x10;23448x10;23571x8;23572x2,23543:23449x10;23448x10;23571x8;23572x2,23544:23449x10;23448x10;23571x8;23572x2,23546:23449x10;23448x10;23571x8;23572x2,23554:23449x10;23573x4;23447x10;23571x8;23572x2,23555:23449x10;23448x10;23571x8;23572x2,23556:23449x10;23573x4;23447x10;23571x8;23572x4,23559:23446x1,23563:22456x20;22451x20;23573x6;23448x4;23449x8,23564:23563x1;23572x10;22457x10,23565:23564x1;30183x2,23575:23446x1,23576:23447x1,25521:23449x1,25843:23445x6,25844:23446x10,25845:23447x4,28420:23445x1;21877x1,28421:23446x1;21877x2,28425:22456x20;22457x20;23448x14,28426:28425x1;23572x8;22451x10,28427:28426x1;30183x5,28428:23571x10;23449x14;23573x6,28429:28428x1;23572x8;23571x2,28430:28429x1;30183x5,28431:23571x5;22456x20;23573x2;23448x12,28432:28431x1;23572x8;23448x6,28433:28432x1;30183x5,28434:22451x12;22452x12;23571x4;23447x22,28435:28434x1;23572x8;22457x10,28436:28435x1;30183x5,28437:21884x20;22452x20;23447x12;23449x8,28438:28437x1;23572x8;23571x2,28439:28438x1;30183x5,28440:22451x20;21885x20;23573x6;23449x12,28441:28440x1;23572x8;22457x10,28442:28441x1;30183x5,28483:23571x8;23573x6;23447x6;23449x8,28484:28483x1;23572x10;22457x10,28485:28484x1;30183x2,29201:2841x6;3470x2;2319x1,29202:3859x5;7069x2;3486x2;4234x1,29203:12655x2;12359x6;8170x1,29204:23448x6;22451x2;21884x2;23793x1,30031:23572x2;23573x4;21884x12,30032:30183x2;23573x5;21884x10,30033:23572x2;23573x4;21885x12,30034:30183x2;23573x5;21885x10;22452x5,30069:3860x16;7075x2,30070:3860x16;7081x2,30071:3860x12;7075x4,30072:3860x12;7081x4,30073:3860x12;7077x4,30074:23446x8;22452x4,30076:23446x8;21885x2;22451x2,30077:23446x6;22451x6,30086:23446x10;22452x6,30087:23446x8;21885x3;22451x3,30088:23446x10;22451x6,30089:23446x8;21884x6,30093:23446x12;22452x6,31364:23448x8;21886x12;22456x12;23572x1,31367:23448x8;21886x12;22456x12;23572x1,31368:23448x8;21886x12;22456x12;23572x1,31369:23449x8;21885x12;21884x12;23572x1,31370:23449x8;21885x12;21884x12;23572x1,31371:23449x8;21885x12;21884x12;23572x1,32401:32428x2;22450x1;21886x3;22456x4;23446x8,32402:32428x2;22450x1;21886x2;22456x4;23446x4,32403:32428x1;22450x1;21886x2;22456x2;23446x4,32404:32428x3;22450x1;21886x4;22456x6;23446x12,32568:23448x14;23573x2;22451x6;32428x4,32570:23448x18;23573x2;22451x8;32428x2,32571:23449x14;23573x2;21884x6;32428x4,32573:23449x18;23573x2;21884x8;32428x2,32854:23449x16;23448x12;23571x6;23572x2,33173:23445x12;21884x2;23449x8;27503x2,33185:23573x2;23449x1,33791:2840x10;818x1;3470x2,34377:23449x20;23573x4;21884x10;22456x10;23572x6,34378:35128x10;21884x12;22456x12;22451x12;34664x6,34379:23449x20;23573x4;21886x15;21885x15;23572x6,34380:35128x8;21886x20;23571x6;34664x6,39083:36916x4,39084:36916x5,39085:36916x6,39086:36916x5,39087:36916x4,39088:36916x4,40668:36916x4,40669:36916x6;36913x5,40670:36916x6;36913x4,40671:36916x3;36913x8,40672:36916x6;36913x5;37701x1,40673:36913x12;37701x1,40674:36916x5;36913x5;37701x1,40675:36913x12,40942:36916x7,40943:36916x12,40949:36916x7,40950:36916x7,40951:36916x8,40952:36916x12,40953:36916x12,40954:36916x12,40955:36916x8,40956:36916x8;37705x2,40957:36916x8;37705x2,40958:36916x8;37705x2,40959:36916x8;37705x2,41113:36913x14,41114:36913x14,41116:36913x13,41117:36916x6;36913x4,41126:36916x5;36913x5;37705x1,41127:36916x3;36913x8,41128:36913x12,41129:36913x14;37705x1,41181:36916x12;36913x4;37702x2,41182:36916x8;36913x6;37702x2,41183:36916x12;36913x4;37703x1,41184:36913x12;37703x2,41185:36913x15;37701x2,41186:36913x16;37702x1,41187:36913x14;37702x1,41188:36913x20;37702x2,41189:36913x14;37701x2,41190:36913x13;37701x2,41239:36916x8,41240:36916x8,41241:36916x7,41242:36916x10,41243:36916x10,41245:36913x7;37700x2,41257:36913x8;37663x8;43102x2,41344:36913x14;36860x1,41345:36913x14;35624x1,41346:36913x14;35622x1,41347:36913x14;35623x1,41348:36913x12;35627x1,41349:36913x12;36860x1,41350:36913x14;35627x1,41351:36913x12;35622x1,41352:36913x12;35622x1,41353:36913x14;35624x1,41354:36913x12;35623x1,41355:36913x12;36860x1,41356:36913x12;35622x1,41357:36913x12;35624x1,41383:36913x6;37663x6;43102x2,41384:36913x6;37663x6;43102x2,41386:36913x4;37663x4;43102x1,41387:36913x4;37663x4;43102x1,41388:36913x4;37663x4;43102x1,41391:36913x4;37663x3;43102x1,41392:36913x4;37663x3;43102x1,41394:36913x4;37663x3;43102x1,41611:36913x4;35624x1;35622x1;35627x1,41745:36913x2;41163x1,41974:36916x4,41975:36916x5,41976:36913x2;41163x1,42435:36913x6;37663x6;43102x2,42443:36913x15;37705x2,42500:36913x2;41163x1,42508:36913x4;37663x3;43102x1,42723:36913x12;35623x1,42724:36913x12;36860x1,42725:36913x14;35624x1,42726:36913x14;35623x1,42727:36913x12;35622x1,42728:36913x14;35627x1,42729:36913x12;35622x1,42730:36913x12;35627x1,43586:36913x16;36860x3;35622x3;43102x1,43587:36913x12;36860x2;35622x2;43102x1,43588:36913x12;36860x2;35622x2;43102x1,43853:36913x4;41163x1,43854:36916x4,43860:36916x6;36913x5,43864:36916x3;36913x8,43865:36913x12,43870:36913x14;37705x1,43871:36913x15;37702x2,44505:52186x40,44936:41163x4;35627x4,45085:37663x6;34054x6;43102x2,45550:37663x5;45087x6,45551:37663x5;45087x6,45552:37663x5;45087x6,45559:37663x5;45087x6,45560:37663x5;45087x6,45561:37663x5;45087x6,47570:37663x8;36913x20;47556x4,47571:37663x8;36913x20;47556x4,47572:37663x8;41355x1;47556x4,47573:37663x8;41355x1;47556x4,47574:37663x8;35625x12;47556x4,47575:37663x8;35625x12;47556x4,47589:37663x10;41245x4;47556x8,47590:37663x10;41245x4;47556x8,47591:37663x12;35625x8;36925x2;47556x8,47592:37663x12;35625x8;36925x2;47556x8,47593:37663x10;35625x20;47556x8,47594:37663x10;35625x20;47556x8,49902:37663x12;35623x20;49908x8,49903:37663x12;35627x20;49908x8,49904:37663x12;35624x20;49908x8,49905:37663x8;35624x12;49908x5,49906:37663x8;35622x6;36860x6;49908x5,49907:37663x8;35624x12;49908x5",
+	["TradeskillResultMats.Forward.Blacksmithing.Weaponsmith.Axesmith"]="",
+	["TradeskillResultMats.Forward.Blacksmithing.Weaponsmith.Basic"]="",
+	["TradeskillResultMats.Forward.Blacksmithing.Weaponsmith.Hammersmith"]="",
+	["TradeskillResultMats.Forward.Blacksmithing.Weaponsmith.Swordsmith"]="",
+	["TradeskillResultMats.Forward.Cooking"]="724:723x1,733:729x1;730x1;731x1,787:6303x1,1017:1015x2,1082:1081x1;1080x1,2679:2672x1,2680:2672x1,2681:769x1,2682:2675x1,2683:2674x1,2684:2673x1,2685:2677x2,2687:2677x1,2888:2886x1,3220:3173x1;3172x1;3174x1,3662:2924x1,3663:1468x2,3664:3667x1,3665:3685x1,3666:2251x2,3726:3730x1,3727:3731x1,3728:3731x2,3729:3712x1,4457:3404x1,4592:6289x1,4593:6308x1,4594:6362x1,5095:6361x1,5472:5465x1,5473:5466x1,5474:5467x1,5476:5468x1,5477:5469x1,5478:5051x1,5479:5470x1,5480:5471x1,5525:5503x1;159x1,5526:5503x1;1179x1,5527:5504x1,6038:4655x1,6290:6291x1,6316:6317x1,6657:6522x1,6887:4603x1,6888:6889x1,6890:3173x1,7676:2452x1;159x1,8364:8365x1,10841:3821x1;159x1,12209:1015x1,12210:12184x1,12212:12202x1;159x1,12213:12037x1,12214:12037x1;2596x1,12215:12204x2,12216:12206x1,12217:12037x1;4402x1,12218:12207x1,12224:12223x1,13851:12203x1,13927:13754x1,13928:13755x1,13929:13756x1,13930:13758x1,13931:13759x1;159x1,13932:13760x1,13933:13888x1;159x1,13934:13893x1,13935:13889x1,16766:7974x2,17197:6889x1;17194x1,17198:6889x1;1179x1;17196x1;17194x1,17222:12205x2,18045:12208x1,18254:18255x1,20074:3667x2,20452:20424x1,21023:9061x1;8150x1;21024x1,21072:21071x1,21217:21153x1,22645:22644x1,24105:23676x1,27635:27668x1,27636:27669x1,27651:27671x1,27655:27674x1,27656:27676x1,27657:27677x1,27658:27678x1,27659:27681x1,27660:27682x1,27661:27422x1,27662:27425x1,27663:27429x1,27664:27435x1,27665:27437x1,27666:27438x1,27667:27439x1,30155:24477x2,30816:30817x1;2678x1,31672:31670x1,31673:31671x1,33004:7974x1,33048:27422x1,33052:27515x1,33053:27516x1,33825:33824x1,33866:27678x1;13757x1,33867:33823x1,33872:27682x1,33874:27671x1,33924:30817x8;1179x4;2678x4;6889x8;2593x1;785x3,34411:34412x1;17196x1;17194x1,34747:43013x1,34748:34736x1,34749:43009x1,34750:43010x1,34751:43011x1,34752:43012x1,34753:34736x1;43009x1;43010x1;43013x2,34754:34736x2;43007x1,34755:43009x2;43007x1,34756:43010x2;43007x1,34757:43011x1;43007x1,34758:43012x2;43007x1,34759:41803x1,34760:41808x1,34761:41812x1,34762:41806x1,34763:41809x1,34764:41813x1,34765:41810x1,34766:41806x1;43007x1,34767:41809x1;43007x1,34768:41813x1;43007x1,34769:41802x1;43007x1,34832:2596x1;2594x1,35563:35562x1,35565:35562x1,39520:35949x2;35948x1,42942:41802x1,42993:41810x1;43007x1,42994:43010x1;43012x1;43007x1,42995:43012x1;43007x1,42996:41808x3;43007x1,42997:43011x1;43007x1,42998:41801x1;43007x1,42999:41807x1;43007x1,43000:41807x1;43007x1,43001:43009x1;43007x1,43004:43013x2;43007x1,43005:34736x1;43007x1,43015:41806x2;41809x2;41813x2;43007x1,43268:36782x2,43478:41800x2;34736x2;41803x2;43007x1,43480:41813x2;43012x2;41809x2;43007x1,43488:34736x1,43490:30817x2;43501x1,43491:36782x1;22577x1,43492:41810x1;12808x1,44836:46784x1;44853x1,44836:46796x1;44853x1,44837:30816x1;44835x1,44837:30816x1;44835x1,44838:44834x1;44853x2;44835x1,44838:44834x1;44853x2;44835x1,44839:44855x1;44853x1;44835x1,44839:46797x1;44853x1;44835x1,44840:46793x1;44853x1,44840:44854x1;44853x1,44953:43011x2;43007x1,45932:41805x3,46691:30817x1;1179x1",
+	["TradeskillResultMats.Forward.Enchanting"]="-71692:34054x1;44958x3,-69412:34057x1,-64579:34057x4;34054x40;36918x1,-64441:34057x4;34055x8;37663x1,-63746:11137x4;11174x1,-62959:34054x12;34055x2,-62948:34054x40;34052x6;34057x6,-62256:34055x4;34057x1,-60767:34054x6;34055x6;34052x1,-60763:34055x4;34052x4,-60714:34054x30;34052x6;34057x6,-60707:34054x10;34055x2;34052x2;34057x4,-60692:34052x4;34057x4,-60691:34054x40;34055x6;34057x6,-60668:34054x20;34055x4;34052x1,-60663:34054x8;34055x2;34052x2,-60653:34054x12,-60623:34054x8;37705x1,-60621:34054x2;34056x4,-60616:34054x6,-60609:34054x6,-60606:34054x4;34056x4,-59636:34054x8;34055x1,-59625:34055x6;34052x6;34057x6,-59621:34054x12;34055x4;34052x4;34057x10,-59619:34054x20;34055x4;34052x4;34057x6,-47901:34054x10;34055x2;34052x2,-47900:34054x20;34055x4,-47899:34055x6;34057x1,-47898:34054x16;34055x4,-47766:34054x10;35624x1,-47672:34054x15;34055x2,-47051:22446x8;22452x8,-46594:22446x4;22445x8;23427x4,-46578:22456x2;21885x2,-44645:34054x8;34055x1,-44636:34054x8;34055x1,-44635:34054x8;34056x4,-44633:34052x4;35623x4,-44631:34054x12;34057x1,-44630:34054x6;34055x2,-44629:34054x10;34055x2,-44625:34052x2;35624x8,-44623:34054x4;34056x2,-44621:34055x2;34052x6,-44616:34054x16;34055x3,-44598:34054x14;34055x3,-44596:34054x20;35624x1,-44595:34054x6;34052x6,-44593:34054x16;34055x4,-44592:34054x4;34056x1,-44591:34054x8;41163x2;34052x2,-44590:34054x8;34056x2;35625x1,-44589:34054x16;34055x4,-44588:34055x2;34052x2,-44584:34054x8;34055x2,-44582:34054x15,-44576:34052x1;35625x4,-44575:34054x24;34055x6,-44556:34055x4;35622x1,-44555:34054x10,-44529:34055x4;34052x1,-44528:34056x3;34054x3,-44524:34052x4;36860x4,-44513:34054x6;34055x1,-44510:34054x16;34052x4,-44509:34054x4;34055x4,-44508:34054x10;34055x1,-44506:34055x1,-44500:34054x9,-44494:34054x15;34055x1;35627x1,-44492:34055x3,-44489:34054x6;35624x6,-44488:34055x4,-44484:34054x12,-44483:34054x6;34055x3;36860x1,-44383:22449x1;22447x4,-42974:22450x6;22449x10;22446x6;22445x30;22824x3,-42620:22445x8;22446x4;22449x6;22451x2,-34010:22449x8;21885x8;21886x8,-34009:22445x15,-34008:22449x8;22452x8,-34007:22449x8;22451x8,-34006:22449x4;22456x8,-34005:22449x4;22457x8,-34004:22446x1;22445x4;22451x1,-34003:22446x2;22445x6;22457x2,-34002:22445x6,-34001:22447x3,-33999:22446x6;22449x6;21886x6,-33997:22446x6;22449x6;22457x6,-33996:22445x8,-33995:22445x12;22446x1,-33994:22446x8;22445x2;22449x2,-33993:22447x1;22445x4,-33992:22446x4;22445x10,-33991:22447x2;22445x2,-33990:22446x2,-28004:22450x8;22449x8;21885x2,-28003:22449x12;22446x10;22445x20,-27984:22450x6;22449x10;22446x8;22445x40,-27982:22450x12;22449x10;22446x8;21885x6;22456x6,-27981:22450x12;22449x10;22446x8;21884x6;23571x1,-27977:22449x8;22446x6;22445x20,-27975:22449x8;22446x8,-27972:22449x4;22446x5;22445x20,-27971:22449x4;22445x40,-27968:22449x2;22446x10,-27967:22449x2;22446x6;22445x6,-27962:22446x4;21884x4;22451x4;22452x4;21885x4,-27961:22445x8,-27960:22449x4;22445x4;22446x4,-27958:34054x6,-27957:22445x8;13446x4;14344x2,-27954:22450x2;22449x4,-27951:22446x8;22445x8,-27950:22445x12,-27948:22445x6;13446x4;13444x4,-27947:22449x2;22573x1;22574x1;22572x1;22578x1,-27946:22445x12;22446x4;22452x10,-27945:22446x4,-27944:22445x6;22452x10,-27927:22450x2;22449x2,-27926:22449x2;22446x3;22445x5,-27924:22449x2;22446x2,-27920:22449x2;22445x6,-27917:22449x6;21884x6;21885x6,-27914:22449x1;22446x10;22445x20,-27913:22446x8,-27911:22446x4;21886x4,-27906:22448x2;22445x10,-27905:22445x6;22447x6,-27899:22445x6,-27837:14344x8;7082x4,-25086:22448x3;22446x3;22452x8,-25084:22448x4;22446x2;22456x8,-25083:22448x3;22446x3;22794x2,-25082:22448x2;22446x3;12803x4,-25081:22448x3;22446x3;7078x4,-25080:22448x3;22446x3;22451x2,-25079:22448x3;14344x8;12811x1,-25078:22448x2;14344x10;7078x4,-25074:22448x3;14344x10;7080x4,-25073:22448x3;14344x10;12808x6,-25072:22448x4;22446x2;21886x8,-23804:14344x6;16203x5;16204x20,-23803:14344x6;16203x4;16204x12,-23802:14344x2;16204x4;16202x4,-23801:16204x4;16202x4;7080x2,-23800:14344x4;7082x4,-23799:14344x4;7076x4,-22750:14344x4;16203x4;7080x4,-22749:14344x4;16203x6;13926x2,-21931:11135x3;11137x3;11139x1;3819x2,-20036:16203x4;14344x2,-20035:16203x4;14344x2,-20034:14344x4;12811x2,-20033:14344x4;12808x4,-20032:14344x4;12808x4;12803x4,-20031:14344x2;16203x4,-20030:14344x4;16204x10,-20029:14343x4;7080x1;7082x1;13467x1,-20028:16204x8,-20026:14343x2,-20025:14344x2;16204x6,-20024:16203x2,-20023:16202x2;8153x2,-20020:11176x5,-20017:11176x5,-20016:16203x1;16204x4,-20015:16204x8,-20014:7077x1;7075x1;7079x1;7081x1;7972x1,-20013:16202x4;16204x4,-20012:16202x2;16204x3,-20011:16204x10,-20010:16204x6;16203x2,-20009:16202x3;11176x4,-20008:16202x3,-13948:11178x2;8153x2,-13947:11178x2;11176x3,-13945:11176x5,-13943:11178x2;11175x2,-13941:11178x1;11176x3;11175x2,-13939:11176x2;11175x1,-13937:11178x2;11176x2,-13935:11175x2,-13933:11178x1;3829x1,-13931:11175x1;11176x2,-13917:11175x1;11174x2,-13915:11177x1;11176x2;9224x1,-13905:11175x1;11176x2,-13898:11177x4;7078x1,-13890:11177x1;7909x1;11174x1,-13887:11174x2;11137x3,-13882:11174x2,-13868:11137x3;8838x3,-13858:11137x6,-13846:11174x3;11137x1,-13841:11137x3;6037x3,-13836:11137x5,-13822:11174x2,-13817:11137x5,-13815:11174x1;11137x1,-13794:11174x1,-13746:11137x3,-13700:11135x2;11137x2;11139x1,-13698:11137x1;7392x3,-13695:11137x4;11139x1,-13693:11135x2;11139x1,-13689:11135x2;11137x2;11139x1,-13687:11135x1;11134x2,-13663:11135x1,-13661:11137x1,-13659:11135x1;11137x1,-13657:11134x1;7068x1,-13655:11134x1;7067x1;11138x1,-13653:11134x1;5637x2;11138x1,-13648:11083x6,-13646:11134x1;11083x2,-13644:11083x4,-13642:11134x1,-13640:11083x3,-13637:11083x1;11134x1,-13635:11138x1;11083x3,-13631:11134x1;11083x1,-13626:11082x1;11083x1;11084x1,-13622:11082x2,-13620:11083x1;6370x3,-13617:11083x1;3356x3,-13612:11083x1;2772x3,-13607:11082x1;10998x2,-13538:10940x2;11082x1;11084x1,-13536:11083x2,-13529:11083x3;11084x1,-13522:11082x1;6048x1,-13503:11083x2;11084x1,-13501:11083x2,-13485:10998x2;10940x4,-13464:10998x1;10940x1;10978x1,-13421:10940x6;10978x1,-13419:10998x1,-13380:10998x1;10940x6,-13378:10998x1;10940x2,-7867:10940x6;10998x2,-7863:10940x8,-7861:6371x1;10998x1,-7859:10998x2,-7857:10940x4;10998x1,-7793:10939x3,-7788:10940x2;10939x1;10978x1,-7786:10940x4;10939x2,-7782:10940x5,-7779:10940x2;10939x1,-7776:10939x1;10938x1,-7771:10940x3;10939x1,-7766:10938x2,-7748:10940x2;10938x2,-7745:10940x4;10978x1,-7457:10940x3,-7454:10940x1;10938x2,-7443:10938x1,-7428:10938x1;10940x1,-7426:10940x2;10938x1,-7420:10940x1,-7418:10940x1,6218:6217x1;10940x1;10938x1,6339:6338x1;10940x6;10939x3;6218x1,11130:11128x1;5500x1;11082x2;11083x2;6339x1,11145:11144x1;7971x1;11135x2;11137x2;11130x1,11287:4470x1;10938x1,11288:4470x1;10939x1,11289:11291x1;11134x1;11083x1,11290:11291x1;11135x1;11137x1,11811:7078x3;14343x3,12655:12359x1;11176x3,12810:8170x1;16202x1,16207:16206x1;13926x1;16204x10;16203x4;11145x1;14344x2,20744:10940x2;17034x1;3371x1,20745:11083x3;17034x2;3372x1,20746:11137x3;3372x1,20747:11176x3;8831x2;8925x1,20748:14344x2;8831x3;18256x1,20749:14344x2;4625x3;18256x1,20750:16204x3;4625x2;8925x1,22448:22449x1,22448:20725x1,22449:22450x1,22449:22448x3,22459:22450x2,22460:22449x4,22461:25843x1;16203x4;14344x6;16207x1,22462:25844x1;22446x8;22449x8;23571x1;22461x1,22463:25845x1;22446x6;22445x6;22462x1,22521:22445x3;22791x1;18256x1,22522:22445x3;22792x1;18256x1,44452:41745x1;34054x40;34055x12;34052x8;22463x1",
+	["TradeskillResultMats.Forward.Engineering.Basic"]="-67839:36913x8;39683x1,-63770:36913x4;35624x2,-63765:33470x12;39682x1,-55016:39690x6;39681x6,-55002:33470x12;39682x1,-54999:36913x6;37700x4,-54998:36913x6;37702x4,-54793:36916x8;39690x8,-54736:39682x4,4357:2835x1,4358:4357x2;2589x1,4359:2840x1,4360:2840x1;4359x1;4357x2;2589x1,4361:2840x2;2880x1,4362:4361x1;4359x1;4399x1,4363:4359x2;2840x1;2589x2,4364:2836x1,4365:4364x3;2589x1,4366:4363x1;4359x2;2841x1;2592x1,4367:4364x2;4363x1;2318x1;159x1,4368:2318x6;818x2,4369:4361x2;4359x4;4399x1;2319x2,4370:2840x3;4364x4;4404x1,4371:2841x2;2880x1,4372:4371x2;4359x2;4400x1;1206x3,4373:2319x4;1210x2,4374:4364x4;2841x2;4404x1;2592x1,4375:2841x2;2592x1,4376:4375x1;4402x1,4377:2838x1,4378:4377x2;2592x1,4379:4371x2;4375x2;4400x1;2842x3,4380:4377x2;2841x3;4404x1,4381:4371x1;4375x2;2319x2;1206x1,4382:2841x2;2319x1;2592x1,4383:4371x3;4375x3;4400x1;1705x2,4384:4382x1;4375x1;4377x2;2592x2,4385:2319x4;1206x2;4368x1,4386:4375x1;3829x1,4387:3575x2,4388:4375x3;4306x2;1529x1;4371x1,4389:3575x1;10558x1,4390:3575x1;4377x1;4306x1,4391:4387x2;4382x1;4389x2;4234x4,4392:4387x1;4382x1;4389x1;4234x4,4393:4234x6;3864x2,4394:3575x3;4377x3;4404x1,4395:4377x3;3575x2;4389x1,4396:4382x1;4387x2;4389x2;3864x1,4397:4389x4;1529x2;1705x2;3864x2;7191x1,4398:10505x2;4234x2;159x1,4401:4363x1;4359x1;2840x1;774x2,4403:4371x4;4387x1;4377x4;2319x4,4404:2842x1,4405:4361x1;774x1;4359x1,4406:4371x1;1206x1,4407:4371x1;1529x1;3864x1,4852:4611x1;4377x1;4306x1,5507:4371x2;4375x2;4363x1;1206x1,6219:2840x6,6533:2841x2;6530x1;4364x1,6712:2841x1;4359x2;2880x1,6714:4364x4;2592x1,7148:3575x6;4375x2;814x2;4306x2;1210x2;7191x1,7191:20816x3;7078x2,7506:2841x6;4375x1;814x2;818x1;774x1,9312:4377x1;4234x1,9313:4377x1;4234x1,9318:4377x1;4234x1,10498:3859x4,10499:4234x6;3864x2,10500:4385x1;3864x2;7068x2;4234x4,10501:4304x4;7909x2;10592x1,10502:4304x4;7910x2,10503:4304x6;7910x2,10504:4304x8;1529x3;7909x3;10286x2;8153x2,10505:7912x2,10506:3860x8;10561x1;6037x1;818x4;774x4,10507:10505x1;4306x1,10508:10559x1;10560x1;4400x1;3860x4;7068x2,10510:10559x2;10560x1;4400x1;3860x6;3864x2,10514:10561x1;10560x1;10505x1,10518:4339x4;10285x2;10560x1;10505x4,10546:10559x1;7909x2;4304x2,10548:10559x1;7910x1;6037x2,10558:3577x1,10559:3860x3,10560:3860x1;4338x1;10505x1,10561:3860x3,10562:10561x2;10560x1;10505x2,10576:3860x4;7077x2;6037x4;7910x1,11590:3860x1;4338x1;10505x1,15846:10561x1;12359x6;10558x3,15992:12365x2,15993:15994x1;12359x3;15992x3;14047x3,15994:12359x3;14047x1,15995:10559x2;10561x2;15994x2;12359x4;10546x1,15996:12803x1;15994x4;10558x1;8170x1,15999:10502x1;7910x4;12810x2;14047x8,16000:12359x6,16004:16000x2;11371x6;10546x2;12361x2;12799x2;8170x4,16005:15994x2;11371x1;15992x3;14047x3,16006:12360x1;14227x1,16007:12360x10;16000x2;7078x2;7076x2;12800x2;12810x2,16008:10500x1;12364x2;12810x4,16009:16006x2;10558x1;15994x1;12799x1,16022:10576x1;16006x4,16023:10561x1;16000x1;15994x2;6037x1;8170x2;14047x4,16040:16006x1;12359x3;14047x1,17716:3860x8;4389x4;17202x4;3829x1,18168:12360x6;16006x2;7082x8;12803x12;7076x8,18232:12359x16;7191x2,18282:17010x4;17011x2;12360x6;16006x2;16000x2,18283:17011x2;7076x2;16006x4;11371x6;16000x1,18588:10505x1;4338x2,18594:15994x2;15992x3;8170x2;159x1,18631:6037x2;7067x2;7069x1,18634:15994x6;18631x2;12361x2;7078x4;3829x2;13467x4,18637:16000x2;18631x1;14047x2,18638:11371x4;18631x3;7080x6;7910x4;12800x2,18639:11371x8;18631x4;12803x6;12808x4;12800x2;12799x2,18641:15992x2;14047x3,19026:15992x2;14047x2;8150x1,19998:19726x6;12800x1;12804x6,19999:19726x4;7910x2;12804x6;12810x4,20475:23446x1;4470x4;23783x2,21277:15407x1;15994x4;7079x2;18631x2;10558x1,21557:4364x1;2319x1,21558:4364x1;2319x1,21559:4364x1;2319x1,21569:9060x1;9061x1;10560x1;10561x1,21570:10561x1;9061x1,21571:10505x1;4304x1,21574:10505x1;4304x1,21576:10505x1;4304x1,21589:4377x1;4234x1,21590:4377x1;4234x1,21592:4377x1;4234x1,21714:15992x1;8170x1,21716:15992x1;8170x1,21718:15992x1;8170x1,22728:3860x3;10558x1,23736:23782x1;23783x2;23781x1,23737:23446x4;23783x2;23781x1,23742:4400x1;23782x3;23783x6,23746:23782x3;23784x2;23783x4,23747:23785x1;23787x4;23783x4,23748:23785x2;23449x12;23783x4;23439x2,23758:23793x4;23077x2;22445x8,23761:23793x4;21929x2;22445x8,23762:23793x4;23449x2;23079x2;22448x2,23763:23793x4;23449x2;23441x2;22449x2,23764:23446x8;23112x2,23765:23785x1;23449x4;23440x2,23766:23785x2;23787x6;23438x2,23767:23784x1;23782x2;10558x1;23783x2,23768:23781x1;21877x1,23771:23781x1;21877x1;2605x1,23774:23782x1;23445x5;23783x2,23775:36913x8;41163x8;39681x4,23781:22574x1;22573x2,23782:23445x3,23783:23445x1,23784:23446x4;22452x1,23785:23573x3,23786:23449x3;21884x1,23787:23448x2,23819:23781x2;23782x1;23783x1,23821:23782x2;23783x2;21886x4;16006x1,23824:23793x8;23786x2;23785x2;23787x4,25886:23781x1;21877x1;4342x1,32413:32423x1;23782x1;23783x1,32423:21885x1;23781x2;21877x2,32461:23793x6;23786x1;23785x2;23787x4;23572x1;23436x2,32472:23793x6;23786x1;23785x2;23787x4;23572x1;23440x2,32473:23793x6;23786x1;23785x2;23787x4;23572x1;23437x2,32474:23793x6;23786x1;23785x2;23787x4;23572x1;23441x2,32475:23793x6;23786x1;23785x2;23787x4;23572x1;23439x2,32476:23793x6;23786x1;23785x2;23787x4;23572x1;23436x2,32478:23793x6;23786x1;23785x2;23787x4;23572x1;23436x2,32479:23793x6;23786x1;23785x2;23787x4;23572x1;23440x2,32480:23793x6;23786x1;23785x2;23787x4;23572x1;23437x2,32494:23793x6;23786x1;23785x2;23787x4;23572x1;23438x2,32495:23793x6;23786x1;23785x2;23787x4;23572x1;23439x2,32756:23785x1;23449x20;23787x4;21884x12;22451x12;23572x1,33092:23782x1;23783x1;21887x2;22829x20,33093:23782x1;23783x1;21887x2;22832x20,34060:23782x2;23781x20;23783x20;11291x8,34061:23784x4;23786x8;23787x8;34249x1,34113:23446x8;23783x8;23786x1,34353:32478x1;22456x12;23572x4,34354:32461x1;21884x10;23572x4,34355:32476x1;23571x2;22451x2;23572x4,34356:32474x1;22451x12;23572x4,34357:32473x1;35128x2;23571x1;23572x4,34847:32494x1;22456x4;21884x4;22457x4;23572x4,35181:32495x1;21886x8;22457x8;23572x4,35182:32480x1;21885x6;21886x12;23572x4,35183:32479x1;21885x4;22457x8;23572x4,35184:32475x1;21886x5;22457x5;21885x5;23572x4,35185:32472x1;21886x8;22457x8;22452x8;23572x4,35581:21840x8;23786x2;23785x2;23787x4,37567:36913x12;39681x2,39681:36916x2,39682:36916x4;37701x1,39683:36916x8;37705x1,39688:36913x10;39683x2;39684x1;40533x1,39690:36916x3;37705x1,40536:33470x1;39690x3,40767:39683x2;39682x4;39681x2,40768:36913x8;35623x8,40769:36913x10,40771:39681x2;39690x1,40772:36913x10;7005x1;2901x1;5956x1,40865:39683x2;39682x2;39681x8,40892:36916x5,40893:36916x5,41112:36913x8;33568x2;35627x1,41121:41163x2;36913x8;35622x2;35623x2,41146:39683x1;36920x1;36921x1,41167:36913x10;36927x2,41168:41163x10;36913x20;35623x15;35622x15;43102x1;40533x1,41508:37663x12;39681x40;44128x2;44499x1;44501x8;44500x1,42546:36913x12;37705x2,42549:41163x8;38425x4;36924x2;35624x4;43102x1,42550:41163x8;38425x4;36918x2;35623x4;43102x1,42551:41163x8;38425x4;36927x2;35622x4;43102x1,42552:41163x8;38425x4;36930x2;36860x4;43102x1,42553:41163x8;38425x4;36918x2;35627x4;43102x1,42554:41163x8;38425x4;36933x2;35625x4;43102x1,42555:41163x8;38425x4;36921x2;35623x4;43102x1,44413:37663x12;39681x40;44128x2;44499x1;44501x8;44500x1,44504:41163x10;43102x1;36860x12;35627x12;41146x3;40533x1,44739:39683x1;39681x2,44740:36913x8;33568x2;35627x1,44741:36913x8;33568x2;35627x1,44742:36913x8;33568x2;35627x1,44949:41163x8;38425x4;36933x2;35624x4;43102x1,44951:36913x5;39690x1,45631:15994x4;6037x6;7078x6,47828:36913x6;37702x3;37705x3,48933:41163x8;35627x2;35622x2;36860x2;35623x2,49040:18232x2;34113x10;40769x20;37663x8;36922x2;39681x30",
+	["TradeskillResultMats.Forward.Engineering.Gnomish"]="10545:10500x1;10559x1;10558x2;8151x2;4234x2,10645:10559x2;10560x1;12808x1;7972x4;9060x1,10713:10648x1;10647x1,10716:10559x1;10560x1;3860x4;8151x4;1529x2,10720:10559x1;10285x2;4337x4;10505x2;3860x4,10721:7387x1;3860x4;6037x2;10560x1;7909x2,10724:10026x1;10559x2;4234x4;10505x8;4389x4,10725:10561x1;6037x6;3860x6;9060x2;10558x1;1529x2,10726:3860x10;6037x4;10558x1;7910x2;4338x4,11826:7075x1;4389x2;7191x1;3860x2;6037x1,18645:12359x4;7191x1,18660:10561x1;15994x2;10558x1;10560x1;3864x1,18986:3860x12;18631x2;7075x4;7079x2;7909x4;9060x1,23825:23793x8;23786x4;21886x10;22456x10;16006x2,23828:24271x4;21884x8;22451x8;22452x8;21885x8;23437x2,23829:23793x8;22456x12;22452x12;21884x12;23436x2,23835:23785x2;23786x2;22445x10;22449x2,23841:23784x1;23783x2;23781x3;23782x1,30544:23784x1;22451x2;23787x2;23783x4;23786x1,40895:41163x6;34052x2;39681x2",
+	["TradeskillResultMats.Forward.Engineering.Goblin"]="7189:10026x1;10559x2;4234x4;9061x2;10560x1,10542:3860x8;3864x1;7067x4,10543:3860x8;3864x1;7068x4,10577:10577x1;3860x1;10505x3,10577:10559x2;3860x4;10505x5;10558x1;7068x1,10586:10561x1;9061x1;10507x6;10560x1,10587:10561x2;10505x4;6037x6;10560x1;4407x2,10588:10543x1;9061x4;3860x4;10560x1,10644:10648x1;10647x1,10646:4338x1;10505x3;10560x1,10727:10559x2;9061x4;3860x6;6037x6;10560x1,11825:4394x1;7077x1;7191x1;3860x6,18587:15994x2;18631x2;7191x2;14227x2;7910x2,18984:3860x10;18631x1;7077x4;7910x2;10586x1,23826:23782x3;23781x6;17020x3;23783x2,23827:21877x4;23781x4;22457x1,23836:23785x2;23786x1;23787x2;21884x6;22452x6;16006x2,23838:24272x4;22457x12;22451x12,23839:23573x8;22452x12;21884x12,30542:23784x1;21884x2;23826x2;23783x4;23786x1,42641:36913x1;39690x1",
+	["TradeskillResultMats.Forward.First Aid"]="1251:2589x1,2581:2589x2,3530:2592x1,3531:2592x2,6450:4306x1,6451:4306x2,6452:1475x1,6453:1288x1,8544:4338x1,8545:4338x2,14529:14047x1,14530:14047x2,19440:19441x1,21990:21877x1,21991:21877x2,34721:33470x1,34722:33470x2",
+	["TradeskillResultMats.Forward.Inscription"]="-61288:39469x1;39354x2,-61177:43126x3;43127x1;39502x5,-61120:43127x1,-61119:43127x1,-61118:43127x1,-61117:43127x1,954:37101x2;39354x1,955:37101x1;39354x1,1180:37101x1;39354x1,1181:37101x1;39354x1,1477:39774x1;39354x1,1711:39774x1;39354x1,1712:39774x1;39354x1,2289:39774x1;39354x1,2290:39774x1;39354x1,3012:37101x2;39354x1,4419:43118x1;10648x2,4422:43118x1;10648x2,4424:43118x1;10648x2,4425:43118x1;10648x2,4426:43118x1;10648x2,10306:43120x1;39501x2,10307:43120x1;39501x2,10308:43120x1;39501x2,10309:43120x1;39501x2,10310:43120x1;39501x2,27498:43122x1;39501x2,27499:43122x1;39501x2,27501:43122x1;39501x2,27502:43122x1;39501x2,27503:43122x1;39501x2,33457:43124x1;39501x2,33458:43124x1;39501x2,33460:43122x1;39501x2,33461:43122x1;39501x2,33462:43124x1;39501x2,37091:43126x1;39502x2,37092:43126x1;39502x2,37093:43126x1;39502x2,37094:43126x1;39502x2,37097:43126x1;39502x2,37098:43126x1;39502x2,37101:39151x1,37118:39354x1;39469x1,37168:39354x1;43115x1;39774x1,38322:43127x5;39502x10;43102x1;43126x2,38682:39469x1;39354x2,39469:39151x2,39774:39334x2,40896:43124x3;39502x1,40897:39774x3;39354x1,40899:43126x3;39502x1,40900:43126x3;39502x1,40901:43122x3;39501x1,40902:43120x3;10648x1,40903:43124x3;39502x1,40906:43126x3;39502x1,40908:43126x3;39502x1,40909:43118x3;10648x1,40912:43126x3;39502x1,40913:39774x3;39354x1,40914:43116x3;10648x1,40915:43126x3;39502x1,40916:43120x3;39501x1,40919:43118x3;10648x1,40920:43126x3;39502x1,40921:43126x3;39502x1,40922:39774x3;39354x1,40923:43116x3;10648x1,40924:43116x3;39354x1,41092:43116x3;10648x1,41094:43124x3;39502x1,41095:39774x3;39354x1,41096:39774x3;39354x1,41097:43126x3;39502x1,41098:43120x3;39501x1,41099:43120x3;39501x1,41100:43118x3;10648x1,41101:43126x3;39502x1,41102:43126x3;39502x1,41103:43122x3;39501x1,41104:43118x3;10648x1,41105:43124x3;39501x1,41106:43116x3;10648x1,41107:43126x1;39502x1,41108:43116x3;10648x1,41109:43126x3;39502x1,41110:43126x3;39502x1,41517:43126x3;39502x1,41518:43126x3;39502x1,41524:43126x3;39502x1,41526:43126x3;39502x1,41527:43124x3;39501x1,41529:43126x3;39502x1,41530:43116x3;10648x1,41531:39774x3;39354x1,41532:43116x3;10648x1,41533:43120x3;39501x1,41534:43126x3;39502x1,41535:43120x3;39501x1,41536:43116x3;10648x1,41537:39774x3;39354x1,41538:43126x3;39502x1,41539:43126x3;39502x1,41540:43118x3;10648x1,41541:43122x3;39501x1,41542:43124x3;39502x1,41547:43118x3;10648x1,41552:43126x3;39502x1,42396:43126x3;39502x1,42397:43120x3;39501x1,42398:43116x3;10648x1,42399:43122x3;39501x1,42400:43116x3;10648x1,42401:43124x3;39502x1,42402:43116x3;10648x1,42403:43126x3;39502x1,42404:43126x3;39502x1,42405:43126x3;39502x1,42406:43124x3;39502x1,42407:43126x3;39502x1,42408:39774x3;39354x1,42409:43126x3;39502x1,42410:39774x3;39354x1,42411:43118x3;10648x1,42412:43126x3;39502x1,42414:43126x3;39502x1,42415:43118x3;10648x1,42416:43120x3;39501x1,42417:43126x3;39502x1,42453:43124x3;39502x1,42454:43126x3;39502x1,42455:39774x3;39354x1,42456:43126x3;39502x1,42457:43126x3;39502x1,42458:43116x3;10648x1,42459:43126x3;39502x1,42460:43126x3;39502x1,42461:43116x3;10648x1,42462:39774x3;39354x1,42463:43126x3;39502x1,42464:43126x3;39502x1,42465:43116x3;10648x1,42466:43120x3;39501x1,42467:43118x3;10648x1,42468:43122x3;39501x1,42470:43120x3;39501x1,42471:43124x3;39502x1,42472:43126x3;39502x1,42473:43118x3;10648x1,42735:43116x3;10648x1,42736:43124x3;39502x1,42737:43116x3;10648x1,42738:43118x3;10648x1,42739:43126x3;39502x1,42741:39774x3;39354x1,42742:43126x3;39502x1,42743:39774x3;39354x1,42744:43120x3;39501x1,42745:43126x3;39502x1,42746:43118x3;10648x1,42748:43126x3;39502x1,42751:43126x3;39502x1,42752:43126x3;39502x1,42753:43126x3;39502x1,42754:43126x3;39502x1,42897:43118x3;10648x1,42898:43116x3;39354x1,42899:43126x3;39502x1,42900:43116x3;10648x1,42901:43126x3;39502x1,42902:43126x3;39502x1,42903:43120x3;10648x1,42904:43120x3;39501x1,42905:43122x3;39501x1,42906:43124x3;39502x1,42907:39774x3;39354x1,42908:43116x3;10648x1,42909:43126x3;39502x1,42910:43118x3;10648x1,42911:43124x3;39502x1,42912:39774x3;39354x1,42913:43126x3;39502x1,42914:43126x3;39502x1,42915:43126x3;39502x1,42917:43126x3;39502x1,42954:43126x3;39502x1,42955:43124x3;39502x1,42956:39774x3;39354x1,42957:43126x3;39502x1,42958:43126x3;39502x1,42959:43126x3;39502x1,42960:39774x3;39354x1,42961:43116x3;10648x1,42962:43116x3;10648x1,42963:43124x3;39501x1,42964:43116x3;10648x1,42965:43126x3;39502x1,42966:43118x3;10648x1,42967:43126x3;39502x1,42968:43126x3;39502x1,42969:43126x3;39502x1,42970:43118x3;10648x1,42971:43126x3;39502x1,42972:43120x3;39501x1,42973:43120x3;39501x1,42974:43122x3;39501x1,43115:43103x1,43116:39338x2,43117:43104x1,43118:39339x2,43119:43105x1,43120:39340x2,43121:43106x1,43122:39341x2,43123:43107x1,43124:39342x2,43125:43108x1,43126:39343x2,43127:43109x2,43316:43116x3;39354x1,43331:43116x3;39354x1,43332:39774x3;39354x1,43334:43118x3;10648x1,43335:39774x3;39354x1,43338:39774x3;39354x1,43339:39774x3;39354x1,43340:39774x3;39354x1,43342:39774x3;39354x1,43343:39774x3;39354x1,43344:43116x3;10648x1,43350:39774x3;39354x1,43351:43118x3;10648x1,43355:43120x3;10648x1,43356:39774x3;39354x1,43359:39774x3;39354x1,43360:43116x3;10648x1,43361:39774x3;39354x1,43364:39774x3;39354x1,43365:43116x3;39354x1,43366:39774x3;39354x1,43367:39774x3;39354x1,43368:43116x3;39354x1,43369:43118x3;10648x1,43370:43118x3;10648x1,43371:39774x3;39354x1,43372:43118x3;10648x1,43373:43116x3;39354x1,43374:43126x3;39502x1,43376:43116x3;10648x1,43377:43116x3;39354x1,43378:43120x3;10648x1,43379:39774x3;39354x1,43380:43116x3;10648x1,43381:43118x3;10648x1,43385:43118x3;10648x1,43386:43116x3;39354x1,43388:43118x3;10648x1,43389:43116x3;39354x1,43390:39774x3;39354x1,43391:43116x3;10648x1,43392:43118x3;10648x1,43393:43118x3;10648x1,43394:43126x3;39502x1,43395:39774x3;39354x1,43396:39774x3;39354x1,43397:39774x3;39354x1,43398:43116x3;39354x1,43399:39774x3;39354x1,43400:43124x3;39502x1,43412:43126x3;39502x1,43413:39774x3;39354x1,43414:43120x3;39501x1,43415:43126x3;39502x1,43416:43122x3;39501x1,43417:43116x3;10648x1,43418:39774x3;39354x1,43419:43126x3;39502x1,43421:43126x3;39502x1,43422:43118x3;10648x1,43423:43116x3;10648x1,43424:43118x3;10648x1,43425:43126x3;39502x1,43427:43116x3;10648x1,43428:43124x3;39502x1,43430:43126x3;39502x1,43431:43126x3;39502x1,43432:43124x3;39502x1,43463:43126x1;39502x2,43464:43126x1;39502x2,43465:43126x1;39502x2,43466:43126x1;39502x2,43515:39354x10;43115x5;39774x2,43533:43126x3;39502x1,43534:43126x3;39502x1,43535:43124x3;39502x1,43536:43122x3;39501x1,43537:43126x3;39502x1,43539:43124x3;39501x1,43541:43122x3;39501x1,43542:43126x3;39502x1,43543:43122x3;39501x1,43544:43124x3;39502x1,43546:43122x3;39501x1,43547:43126x3;39502x1,43548:43124x3;39501x1,43549:43124x3;39502x1,43550:43126x3;39502x1,43551:43124x3;39502x1,43552:43126x3;39502x1,43553:43124x3;39502x1,43554:43124x3;39502x1,43654:43117x5;10648x10;43116x2,43655:43117x5;10648x10;43116x2,43656:43119x5;10648x10;43118x2,43657:43119x5;10648x10;43118x2,43660:43121x5;39501x10;43120x2,43661:43121x5;43120x2;39501x10,43663:43123x8;39501x10;43122x4,43664:43123x8;39501x10;43122x4,43666:43125x6;39502x10;43124x3,43667:43125x6;39502x10;43124x3,43671:43124x3;39501x1,43672:43124x3;39501x1,43673:43124x3;39501x1,43674:43118x3;10648x1,43725:43116x3;39354x1,43825:43124x3;39502x1,43826:43124x3;39502x1,43827:43124x3;39502x1,43850:43120x2;10648x1,43867:43126x3;39502x1,43868:43126x3;39502x1,43869:43126x3;39502x1,44142:43117x2;10648x1;43116x1,44161:43119x2;10648x1;43118x1,44163:43121x2;39501x1;43120x1,44210:43127x5;39502x10;43102x1;43126x2,44314:10648x1;43120x1,44315:43126x1;39502x1,44316:43123x5;39501x1;43122x2,44317:43125x3;39502x1;21886x3;43124x1,44318:39502x1;43127x6;35625x3;43126x3,44684:43126x3;39502x1,44920:39502x1;43126x3,44922:39502x1;43126x3,44923:39502x1;43126x3,44928:43126x3;39502x1,44955:43124x3;39502x1,45601:43124x3;39502x1,45602:43124x3;39502x1,45603:43126x3;39502x1,45604:43126x3;39502x1,45622:43122x3;39501x1,45623:43120x3;39501x1,45625:43124x3;39502x1,45731:43124x3;39502x1,45732:43126x3;39502x1,45733:43118x3;10648x1,45734:43116x3;39354x1,45735:39774x3;39354x1,45736:43124x3;39502x1,45737:43124x3;39502x1,45738:43124x3;39502x1,45739:43126x3;39502x1,45740:43120x3;39501x1,45741:43124x3;39502x1,45742:43124x3;39502x1,45743:43124x3;39502x1,45744:43126x3;39502x1,45745:43126x3;39502x1,45746:43120x3;10648x1,45747:43116x3;10648x1,45753:43124x3;39502x1,45755:43124x3;39502x1,45756:43124x3;39502x1,45757:43126x3;39502x1,45758:43124x3;39502x1,45760:43122x3;39501x1,45761:43124x3;39502x1,45762:43124x3;39502x1,45764:43124x3;39502x1,45766:43126x3;39502x1,45767:43126x3;39502x1,45768:43122x3;39501x1,45769:43124x3;39502x1,45770:43124x3;39502x1,45771:43124x3;39502x1,45772:43124x3;39502x1,45775:43122x3;39501x1,45776:43122x3;39501x1,45777:43126x3;39502x1,45778:39774x3;39354x1,45779:43124x3;39502x1,45780:43124x3;39502x1,45781:43124x3;39502x1,45782:43126x3;39502x1,45783:43126x3;39502x1,45785:39774x3;39354x1,45789:43116x3;39354x1,45790:43124x3;39502x1,45792:43124x3;39502x1,45793:43120x3;10648x1,45794:43126x3;39502x1,45795:43124x3;39502x1,45797:43116x3;10648x1,45799:43124x3;39502x1,45800:43124x3;39502x1,45804:43122x3;39501x1,45806:43124x3;39502x1,45849:43126x5;39502x10;35625x2,45854:43126x5;39502x10;35627x3,48720:39774x3;39354x1,49084:43126x3;39502x1,49632:43127x1;39502x5,50045:43124x3;39502x1,50077:43126x3;39502x1,63481:43126x3;10648x1,63539:43126x3;39502x1,64493:43118x3;10648x1,64670:39774x1,67482:43122x3;39354x1,67483:43118x3;39354x1,67484:43124x3;39354x1,67485:43116x3;39354x1,67486:43118x3;39354x1,67487:43116x3;39354x1",
+	["TradeskillResultMats.Forward.Jewelcrafting"]="20816:2840x2,20817:2841x2,20818:2842x1,20820:5498x1;20817x1;2840x2,20821:774x2;2840x2,20823:1210x2;20817x1;20816x2,20826:2842x2;20817x1;1206x1;1705x1,20827:2842x2,20828:1210x2;2841x2,20830:1705x2;20817x1,20831:3577x1;1206x2;3391x1,20832:1705x3;5498x3;11083x4;2842x4;3827x2,20833:1705x1;3824x1;3575x4,20906:20816x2,20907:2841x4,20909:3575x8;5637x2;20817x2,20950:1206x1;20817x1,20954:3575x8;3391x2,20955:1529x1;3577x2;20816x2,20958:3864x1;20963x1,20959:1529x1;7067x2,20960:6037x1;20963x2,20961:3864x1;3860x2,20963:3860x2,20964:7909x3;8151x4,20966:1529x1;20963x2,20967:3864x1;7070x2;3577x2;20817x1,20969:7910x2;7971x2;6037x4;21752x4;6149x4,21748:1529x4;6037x2;11137x4;20963x4,21752:12359x1,21753:7909x2;3864x2;21752x4;6037x2,21754:7909x1;21752x1,21755:7909x1;20963x3,21756:3577x6;3864x2,21758:7971x4;8151x4,21760:7909x2;6037x4;7075x2;7079x2;8151x4,21763:7910x2;6037x4;7077x2;7081x2;8151x4,21764:7910x1;21752x1,21765:6037x2;10286x2,21766:12799x2;21752x2;6037x4;11178x2;20963x2,21767:12799x1;21752x1,21768:12361x4;6037x2;21752x1,21769:7910x2;7078x2;8152x4;6037x2,21774:12364x2;12799x2;12361x2;12360x2;12359x2,21775:21752x1;12804x1;7076x1,21777:12364x2;12360x2;12359x2;12804x4,21778:12363x1;12808x2;12662x1,21779:21929x1;7078x4;12803x4,21780:12359x8;11382x2;7910x4;12938x2,21784:18335x4;11754x4;12800x2;12360x2;12359x4,21789:11371x4;12360x2;7910x2,21790:12361x1;12808x1;21752x1,21791:12364x2;12803x4;12804x4,21792:12800x2;21752x2;12360x2,21793:12360x4;7076x4;7082x4,21931:20816x2;2840x1,21932:2840x4;20816x2,21933:2841x2;1210x1;20816x1,21934:818x2;2840x2;20816x1,23094:23077x1,23095:23077x1,23098:21929x1,23099:21929x1,23100:23107x1,23101:21929x1,23103:23079x1,23104:23079x1,23105:23079x1,23108:23107x1,23109:23107x1,23110:23107x1,23111:23107x1,23114:23112x1,23115:23112x1,23116:23117x1,23118:23117x1,23119:23117x1,23120:23117x1,24027:23436x1,24028:23436x1,24030:23436x1,24032:23440x1,24033:23438x1,24035:23438x1,24036:23436x1,24039:23438x1,24048:23440x1,24051:23438x1,24053:23440x1,24054:23441x1,24055:23441x1,24056:23441x1,24058:23439x1,24059:23439x1,24060:23439x1,24061:23441x1,24065:23441x1,24066:23437x1,24067:23437x1,24074:23445x1;23077x2,24075:23445x1;23112x2,24076:23445x1;23117x2;23079x1,24077:23446x2;31079x1,24078:23446x1;31079x1,24079:23449x2;31079x3;22456x3,24080:23449x2;31079x4;21885x3,24082:23449x2;31079x4;21884x3,24085:23449x2;31079x4;21886x3,24086:23449x2;31079x4;22457x3,24087:23448x2;31079x4,24088:23447x1;31079x5,24089:23447x2;31079x4;21884x4,24092:23448x2;21885x6;21884x4;31079x1,24093:23448x2;21884x6;21885x4;31079x1,24095:23448x2;22456x6;21886x4;31079x1,24097:23448x2;21886x6;22456x4;31079x1,24098:23448x2;22457x8;31079x1,24106:23448x2;31079x3,24110:23449x4;31079x1;23436x1,24114:23447x2;31079x3,24116:23573x2;31079x2;23441x1,24117:23447x2;31079x4;23112x2,24121:23449x2;31079x4;23117x2,24122:23449x20;21886x20;23437x2;31079x5,24123:23448x20;22457x20;23438x2;31079x5,24124:23448x8;23077x2;22452x4,24125:23449x4;23440x2;23112x4,24126:23448x2;23436x2;21884x4,24127:23447x2;23437x2;22457x4,24128:23573x6;23441x2;22456x2,25438:774x1;20816x1,25439:818x1;20816x1,25498:2835x8,25880:2836x8,25881:2838x8,25882:7912x10,25883:12365x10,25890:25868x1,25893:25868x1,25894:25868x1,25895:25868x1,25896:25867x1,25897:25867x1,25898:25867x1,25899:25867x1,25901:25867x1,28595:23077x1,29157:3577x4;1705x1;1529x1;3864x1,29158:6037x3;7910x2;3864x2,29159:12800x2;21752x1,29160:12364x2;21752x1,30419:2841x4;20817x1;1206x1,30420:1529x1;20817x1;3575x2,30421:7910x1;21752x1,30422:12800x1;21752x1,30804:2841x2;20817x1;774x3;818x3;1210x2,30825:23447x2;22457x8,31079:24243x4;22452x1,31154:2841x6;20817x1;1705x1,31398:31079x4;23449x2;21885x6;21884x6,31399:31079x4;23448x2;21886x6;22456x6,31866:23107x1,31867:23441x1,31868:23439x1,31869:21929x1,32193:32227x1,32194:32227x1,32196:32227x1,32198:32229x1,32199:32227x1,32200:32228x1,32201:32228x1,32203:32228x1,32205:32229x1,32206:32228x1,32209:32229x1,32211:32230x1,32212:32230x1,32215:32230x1,32217:32231x1,32218:32231x1,32220:32230x1,32221:32230x1,32222:32231x1,32223:32249x1,32224:32249x1,32225:32230x1,32226:32249x1,32409:25867x1,32410:25868x1,32508:22578x3;24478x10;24479x1,32772:24478x8;23447x2,32774:24479x1;31079x4,32776:23449x12;31079x4;24478x20;24479x3,32833:24478x1;27860x1,32836:24479x1;27860x1,33131:23436x1,33133:23436x1,33134:23436x1,33135:23438x1,33140:23440x1,33143:23440x1,33144:23440x1,33782:23437x1,34220:25868x1,34358:35128x6;23572x9,34359:31079x12;32227x3;32228x3,34360:31079x6;32249x6,34361:35128x4;22451x20;31079x12;34664x5,34362:35128x4;23571x4;31079x12;34664x5,34363:35128x4;21886x20;31079x12;34664x5,35315:23440x1,35318:23437x1,35501:25867x1,35503:25868x1,35693:23449x8;32228x2;23440x6,35694:23449x8;32231x2;22452x8,35700:23447x8;32227x2;21884x8,35702:23573x4;32230x2;22456x8,35703:23447x8;32249x2;22457x8,35707:23437x1,35758:32249x1,35759:32249x1,35760:32231x1,35761:32229x1,35945:23117x3;23077x3;23079x3;21929x3;23112x3;23107x3,36767:42225x1,39900:36917x1,39905:36917x1,39907:36920x1,39908:36917x1,39909:36920x1,39910:36917x1,39912:36917x1,39915:36923x1,39917:36920x1,39918:36920x1,39919:36923x1,39927:36923x1,39932:36923x1,39933:36932x1,39934:36926x1,39935:36926x1,39939:36926x1,39940:36926x1,39942:36926x1,39945:36926x1,39947:36929x1,39948:36926x1,39949:36929x1,39950:36929x1,39951:36929x1,39952:36929x1,39954:36929x1,39955:36929x1,39956:36929x1,39957:36926x1,39958:36929x1,39959:36929x1,39965:36929x1,39966:36926x1,39967:36929x1,39968:36926x1,39975:36932x1,39976:36932x1,39977:36932x1,39978:36932x1,39979:36926x1,39980:36932x1,39981:36932x1,39982:36932x1,39983:36932x1,39991:36932x1,39992:36932x1,39996:36918x1,39997:36918x1,39998:36918x1,40000:36921x1,40001:36918x1,40003:36918x1,40008:36924x1,40010:36924x1,40011:36924x1,40013:36921x1,40014:36924x1,40016:36921x1,40017:36921x1,40022:36927x1,40023:36927x1,40025:36927x1,40026:36927x1,40028:36927x1,40032:36927x1,40034:36927x1,40037:36930x1,40038:36927x1,40039:36930x1,40040:36930x1,40041:36930x1,40044:36927x1,40045:36930x1,40048:36930x1,40049:36927x1,40050:36930x1,40051:36930x1,40052:36930x1,40055:36930x1,40057:36930x1,40058:36927x1,40059:36930x1,40086:36933x1,40088:36933x1,40089:36933x1,40090:36933x1,40091:36933x1,40095:36933x1,40098:36933x1,40100:36933x1,40102:36933x1,40105:36933x1,40106:36933x1,40111:36919x1,40112:36919x1,40113:36919x1,40115:36922x1,40116:36919x1,40118:36919x1,40119:36925x1,40120:36925x1,40122:36925x1,40124:36922x1,40125:36925x1,40127:36922x1,40128:36922x1,40129:36928x1,40130:36928x1,40133:36928x1,40135:36928x1,40139:36928x1,40141:36928x1,40142:36931x1,40143:36928x1,40144:36931x1,40145:36931x1,40146:36931x1,40147:36931x1,40149:36931x1,40150:36931x1,40152:36931x1,40153:36928x1,40154:36931x1,40155:36931x1,40157:36928x1,40159:36931x1,40160:36931x1,40162:36928x1,40163:36931x1,40164:36928x1,40165:36934x1,40166:36934x1,40167:36934x1,40168:36934x1,40169:36934x1,40171:36934x1,40173:36934x1,40177:36934x1,40179:36934x1,40180:36934x1,40182:36934x1,41285:41266x1,41307:41266x1,41333:41266x1,41335:41266x1,41339:41266x1,41367:36932x1,41375:41266x1,41376:41266x1,41377:41266x1,41378:41266x1,41379:41266x1,41380:41334x1,41381:41334x1,41382:41334x1,41385:41334x1,41389:41334x1,41395:41334x1,41396:41334x1,41397:41334x1,41398:41334x1,41400:41266x1,41401:41334x1,42142:42225x1,42143:42225x1,42144:42225x1,42145:42225x1,42149:42225x1,42150:42225x1,42151:42225x1,42152:42225x1,42154:42225x1,42155:42225x1,42156:42225x1,42158:42225x1,42336:37701x2;36917x1,42337:37701x2;36920x1,42338:35624x1;36929x2;36932x2,42339:35624x1;36917x1;36920x2;36923x1,42340:41163x1;36933x1;34052x1,42341:41163x2;36918x2;36921x1,42395:41163x2;36927x2;36930x1,42413:41163x2;36924x2;36933x1,42418:41163x2;36933x2;36918x1,42420:36926x1,42421:36926x1;36932x1,42642:41163x2;42225x4;36860x4;35627x4;43102x1,42643:41163x2;42225x4;35624x4;35625x4;43102x1,42644:41163x2;42225x4;35622x4;35623x4;43102x1,42645:41163x2;42225x4;35623x6;36860x6;43102x1,42646:41163x2;42225x4;35625x6;35624x6;43102x1,42647:41163x2;42225x4;35627x6;35622x6;43102x1,42701:36783x1;34054x1,42702:36784x1;34054x4,43244:37701x2;36929x1,43245:37701x2;36923x1,43246:35624x1;36926x2,43247:35624x1;36932x2,43248:35624x2,43249:35624x1;35627x1,43250:41163x2;35624x2,43251:41163x2;35627x3;36918x1,43252:41163x2;35623x1;36860x2,43253:41163x2;35622x1;36783x4,43482:41163x4;36860x4,43498:41163x4;36860x4,43582:41163x2;35622x3;36860x3;43102x1,44063:41163x2;36930x2;36933x1,44943:43102x1;36923x1;36926x1;36932x1,45054:11754x1,45627:6037x8,45808:41163x2;36927x2,45809:41163x2;36918x1,45812:41163x1;36933x3,45813:41163x2;36924x2,49110:42225x1;34054x5,51951:51950x5,52081:52177x1,52082:52177x1,52083:52177x1,52084:52177x1,52085:52177x1,52086:52178x1,52087:52178x1,52088:52178x1,52089:52178x1,52090:52179x1,52091:52179x1,52092:52179x1,52093:52179x1,52094:52179x1,52095:52180x1,52096:52180x1,52097:52180x1,52098:52180x1,52099:52180x1,52100:52180x1,52101:52180x1,52102:52180x1,52103:52180x1,52104:52180x1,52105:52180x1,52106:52181x1,52107:52181x1,52108:52181x1,52109:52181x1,52110:52181x1,52111:52181x1,52112:52181x1,52113:52181x1,52114:52181x1,52115:52181x1,52116:52181x1,52117:52181x1,52118:52181x1,52119:52182x1,52120:52182x1,52121:52182x1,52122:52182x1,52123:52182x1,52124:52182x1,52125:52182x1,52126:52182x1,52127:52182x1,52128:52182x1",
+	["TradeskillResultMats.Forward.Leatherworking.Basic"]="-60584:38558x2,-60583:38561x2,-57701:44128x1,-57699:44128x1,-57696:44128x1,-57694:44128x1,-57692:44128x1,-57691:44128x1,-57690:44128x1,-57683:44128x1,2300:2318x8;2320x4,2302:2318x2;2320x1,2303:2318x4;2320x1,2304:2318x1,2307:2318x7;2320x2,2308:2318x10;2321x2,2309:2318x8;2320x5,2310:2318x5;2320x2,2311:2318x8;2320x2;2324x1,2312:4231x1;2318x4;2320x2,2313:2319x4;2320x1,2314:2319x10;4231x6;2321x2,2315:2319x4;2321x2;4340x1,2316:2319x8;2321x1;4340x1,2317:2319x6;2321x1;4340x1,2318:2934x3,2319:2318x4,3719:4234x5;2321x2,4231:783x1;4289x1,4233:4232x1;4289x1,4234:2319x5,4236:4235x1;4289x3,4237:2318x6;2320x1,4239:2318x3;2320x2,4242:4231x1;2318x6;2320x2,4243:4231x3;2318x6;2320x4,4244:4243x1;4231x2;2320x2,4246:2318x6;2320x2,4247:2319x14;2321x4,4248:2319x8;5373x2;2321x1;4340x1,4249:4246x1;4233x1;2321x2;4340x1,4250:2319x8;3383x1;2321x2,4251:4233x1;2319x4;2321x1,4252:2319x12;3390x1;4340x1;2321x2,4253:2319x4;4233x2;3389x2;3182x2;2321x2,4254:4234x6;5637x2;2321x1,4255:4234x9;2605x2;2321x4,4256:4236x2;4234x12;3824x1;2321x2,4257:4236x1;4234x5;2321x1;2605x1;7071x1,4258:4236x2;4234x4;2321x1;7071x1,4259:4236x2;4234x6;2605x1;2321x1,4260:4234x6;4236x2;4291x1,4262:4236x4;5500x1;1529x1;3864x1;2321x1,4264:4234x6;4236x2;4096x2;5633x1;4291x1;7071x1,4265:4234x5;2321x1,4304:4234x6,4455:4461x6;4234x4;2321x2,4456:4461x4;4234x4;2321x2,5081:5082x3;2318x4;2320x1,5739:4234x14;2321x2;7071x1,5780:5784x8;2318x6;2321x1,5781:5784x12;4231x1;2318x8;2321x1,5782:5785x12;4236x1;4234x10;2321x3,5783:5785x16;4236x1;4234x14;4291x1,5957:2318x3;2320x1,5958:2319x8;2997x1;2321x1,5961:2319x12;4340x1;2321x1,5962:4234x12;4305x2;2321x2,5963:4234x10;2321x2;1206x1,5964:4234x8;4236x1;2321x2,5965:4234x14;4305x2;4291x2,5966:4234x4;4236x1;4291x1,6466:6470x4;4231x1;2321x1,6467:6470x5;2321x2,6468:6471x6;6470x4;2321x2,6709:2318x6;4231x1;2320x4;5498x1,7276:2318x2;2320x1,7277:2318x2;2320x3,7280:2318x5;2320x5,7281:2318x6;2320x4,7282:2318x10;4231x1;2321x1,7283:7286x12;2319x4;2321x1,7284:7287x6;2319x4;2321x1,7285:2457x1;2319x6;2321x1,7348:2319x8;4233x4;2321x2,7349:2319x8;3356x4;2321x2,7352:2319x6;7067x1;2321x2,7358:2319x10;5373x2;2321x2,7359:2319x12;7067x2;2997x2;2321x2,7373:4234x10;2325x1;2321x2,7374:4234x10;3824x1;2321x2,7375:7392x4;4234x10;2321x2,7377:4234x6;7067x2;7070x2;2321x2,7378:4234x16;2325x1;4291x2,7386:7392x6;4234x8;4291x2,7387:4234x10;4305x2;2325x2;7071x1,7390:4234x8;10285x2;4291x2,7391:4234x10;2459x2;4337x2;4291x1,8170:4304x6,8172:8169x1;8150x1,8173:4304x5;4291x1,8174:4234x12;4236x2;4291x2,8175:4304x7;4291x2,8176:4304x5;4291x2,8185:4304x14;8167x28;8343x1,8187:4304x6;8167x8;8343x1,8189:4304x6;8167x12;8343x1,8191:4304x14;8167x24;8343x1,8192:4304x8;4338x6;4291x3,8193:4304x14;4291x4,8197:4304x16;8343x2,8198:4304x8;8167x12;8343x1,8200:4304x10;8151x4;8343x1,8201:4304x8;8151x6;8343x1,8202:4304x10;8152x6;8343x2,8203:4304x12;8154x12;4291x4,8204:4304x6;8154x8;4291x2,8205:4304x10;8154x4;4291x2,8206:4304x14;8154x8;8343x2,8207:4304x12;8154x16;8343x2,8208:4304x10;8154x20;8343x2,8209:4304x12;8154x12;4291x6,8210:4304x10;8153x1;8172x1,8211:4304x12;8153x2;8172x1,8212:4304x16;8153x6;8172x2,8213:4304x14;8153x4;8172x2,8214:4304x10;8153x2;8172x1,8215:4304x16;8153x6;8172x2,8216:4304x14;8152x4;8343x2,8345:4304x18;8153x12;8172x4;8343x1,8346:4304x20;7079x4;8172x1;8343x4,8347:4304x24;8165x12;8343x4;8172x2,8348:4304x30;7077x8;8172x2;8343x4,8349:4304x25;17056x20;7971x2;8172x4;8343x4,8367:4304x40;8165x30;8343x4;8172x4,15045:8170x20;15412x25;14341x2,15046:8170x20;15412x25;14341x1,15047:8170x40;15414x30;14341x1,15048:8170x28;15415x30;15407x1;14341x1,15049:8170x28;15415x30;12810x2;15407x1;14341x1,15050:8170x25;15416x25;15407x1;14341x2,15051:8170x20;15416x15;15407x1;14341x1,15052:8170x25;15416x25;15407x1;14341x2,15053:8170x8;7078x1;7076x1;14341x1,15054:8170x6;7078x1;7075x1;14341x1,15055:8170x10;7078x1;7076x1;14341x2,15056:8170x16;7082x3;15407x1;14341x1,15057:8170x16;7082x2;14341x1,15058:8170x12;7082x3;14227x2,15059:8170x16;12803x8;14342x2;15407x1;14341x2,15060:8170x16;12803x6;15407x1;14341x1,15061:8170x12;12803x4;14341x1,15062:8170x30;15417x14;15407x1;14341x1,15063:8170x30;15417x8;14341x1,15064:8170x28;15419x12;14341x1,15065:8170x24;15419x14;14341x1,15066:8170x35;17056x40;1529x1;15407x1;14341x1,15067:8170x24;17056x40;1529x2;14341x1,15068:8170x12;7080x1;15407x1;14341x2,15069:8170x6;7080x1;14341x1,15070:8170x6;7080x1;14341x1,15071:8170x4;7080x1;14341x1,15072:8170x8;12803x1;14341x1,15073:8170x4;12803x1;14341x1,15074:8170x6;12803x1;14341x1,15075:8170x10;12803x1;14341x1,15076:8170x6;15408x6;14341x1,15077:8170x4;15408x4;14341x1,15078:8170x6;15408x8;14341x1,15079:8170x8;15408x12;14341x1,15080:8170x8;15408x12;15407x1;14341x1,15081:8170x14;15408x14;15407x1;14341x2,15082:8170x6;15408x8;14341x1,15083:8170x8;2325x1;14341x1,15084:8170x8;2325x1;14341x1,15085:8170x20;15407x2;14256x2;2325x4;14341x2,15086:8170x12;2325x1;14341x1,15087:8170x12;15407x1;2325x3;14341x1,15088:8170x14;2325x2;14341x2,15090:8170x22;12810x4;14047x16;15407x1;14341x2,15091:8170x10;14047x6;14341x1,15092:8170x6;7971x1;14341x1,15093:8170x10;14047x10;14341x1,15094:8170x14;14047x10;14341x1,15095:8170x18;14047x12;12810x2;14341x1,15096:8170x16;12810x4;14047x18;15407x1;14341x2,15138:15410x1;14044x1;14341x1,15407:8171x1;15409x1,15564:8170x5,16982:17012x20;17010x6;17011x2;14341x2,16983:17012x12;17010x3;17011x3;14341x2,16984:15416x18;17010x3;17011x3;14341x2,17721:4234x8;7067x4;4291x1,18238:4304x6;10285x8;4236x4;8343x1,18251:17012x3;14341x2,18258:8170x4;14048x2;18240x1;14341x1,18504:8170x12;12804x12;15407x2;14341x4,18506:8170x12;7082x6;11754x4;15407x2;14341x4,18508:8170x12;18512x8;15407x4;14341x4,18509:8170x25;12607x4;15416x12;15414x12;14341x2,18510:8170x30;18512x5;15407x2;14341x2,18511:12810x10;12753x2;14341x1,18662:4234x2;2321x1,18948:4234x8;4236x2;5498x4;4461x1;5637x4,19044:8170x30;12803x4;15407x2;14341x2,19049:12810x8;12804x6;12803x6;15407x2;14227x2,19052:8170x30;12809x2;7080x4;15407x2;14341x2,19058:12810x8;12803x4;12809x4;15407x2;14341x2,19149:17011x2;17012x2;14227x4,19157:17010x3;17011x2;17012x8;14227x4,19162:17010x4;17012x12;8170x12;14227x4,19163:17010x2;17011x2;17012x2;14227x4,19685:19767x14;15407x5;12803x4;14341x4,19686:19767x10;15407x4;12803x4;14341x3,19687:19767x8;15407x3;12803x4;14341x3,19688:19768x25;15407x3;14341x3,19689:19768x25;15407x3;14341x3,20295:8170x28;15415x36;15407x2;14341x2,20296:8170x20;15412x30;15407x1;14341x2,20380:8170x20;20381x3;12803x3;14341x2,20476:20501x1;20498x20;18512x2,20477:20501x2;20498x30;18512x2;15407x1,20478:20501x3;20498x40;18512x2;15407x2,20479:20500x3;20498x40;7078x2;15407x2,20480:20500x2;20498x30;7078x2;15407x1,20481:20500x1;20498x20;7078x2,20575:2319x8;7286x8;4231x1;2321x2,21278:12810x6;7082x4;14227x2,21887:25649x5,22661:22682x7;12810x16;7080x2;15407x4;14227x4,22662:22682x5;12810x12;7080x2;15407x3;14227x4,22663:22682x4;12810x12;7080x2;15407x2;14227x4,22664:22682x7;15408x24;7080x2;15407x4;14227x4,22665:22682x4;15408x16;7080x2;15407x2;14227x4,22666:22682x5;15408x16;7080x2;15407x3;14227x4,22759:8170x12;19726x2;12803x2;15407x2,22760:12810x6;18512x2;12803x2;15407x2,22761:12810x4;12803x2;15407x1,23793:21887x5,25650:21887x4,25651:23793x3;22452x1,25652:23793x3;22457x1,25653:23793x4;23571x1;22445x6;22448x1,25654:21887x5;25700x1;14341x2,25655:21887x8;25700x1;14341x2,25656:21887x10;25700x3;14341x3,25657:23793x2;25700x3;14341x3,25659:23793x2;25700x2;14341x3,25660:23793x2;25700x3;14341x3,25661:21887x8;25700x1;14341x2,25662:21887x6;25700x3;14341x2,25668:21887x10;14341x3,25669:21887x6;14341x2,25670:21887x10;14341x2,25671:23793x3;14341x3,25673:21887x6;14341x3,25674:21887x9;14341x3,25675:21887x13;14341x3,25676:23793x3;14341x3,25679:21887x2,25680:23793x6;29539x2;22456x8;4342x4;14341x3,25681:23793x6;29539x2;21886x8;2325x4;14341x3,25682:23793x6;29539x2;22452x8;14341x3,25683:23793x6;29539x2;21884x8;2604x4;14341x3,25685:23793x6;25707x6;22456x6;14341x3,25686:23793x10;25707x8;22456x8;14341x3,25687:23793x10;25707x10;22456x10;14341x3,25689:23793x6;25708x40;22452x4;14341x2,25690:23793x6;25708x34;22452x4;14341x2,25691:23793x4;25708x20;22452x4;14341x2,25692:23793x8;25699x12;21885x5;22457x5;14341x2,25693:23793x6;25699x10;21885x4;22457x4;14341x2,25694:23793x4;25699x8;21885x3;22457x3;14341x2,25695:23793x6;25707x4;25699x8;22451x6;14341x2,25696:23793x10;25707x4;25699x8;22451x8;14341x2,25697:23793x6;25707x6;25699x6;22451x4;14341x2,29483:23793x4;21886x4,29485:23793x4;21885x4,29486:23793x4;21884x4,29487:23793x4;22456x4,29488:23793x4;22457x4,29489:23793x6;25700x12;22457x8,29490:23793x4;25700x10;22457x6,29491:23793x4;25700x10;22457x6,29492:23793x6;25699x12;21884x4;21885x4,29493:23793x4;25699x8;21884x3;21885x3,29494:23793x4;25699x8;21884x3;21885x3,29495:23793x6;25708x24;22457x8,29496:23793x4;25708x16;22457x6,29497:23793x4;25708x16;22457x6,29498:23793x6;25707x10;21884x4;21885x4,29499:23793x4;25707x8;21884x3;21885x3,29500:23793x4;25707x6;21884x3;21885x3,29502:23793x6;29539x10;22451x15;22456x15;23572x1,29503:23793x4;29539x8;22451x12;22456x12;23572x1,29504:23793x6;29547x20;22451x18;22457x10;23572x1,29505:23793x6;21886x20;21885x8;23572x1,29506:23793x4;21886x16;22452x12;23572x1,29507:23793x4;29547x12;22452x18;22451x8;23572x1,29508:23793x6;29548x28;21886x12;22457x12;23572x1,29509:23793x4;29547x14;22451x14;21884x10;23572x1,29510:23793x6;29548x28;21884x18;22457x12;23572x1,29511:23793x4;29548x24;21884x14;22457x10;23572x1,29512:23793x4;29548x24;22452x22;22457x4;23572x1,29514:23793x8;29548x32;22452x20;22451x8;23572x1,29515:23793x8;29548x30;21884x16;22456x16;23572x2,29516:23793x6;29548x24;21884x12;22456x12;23572x1,29517:23793x4;29548x18;21884x8;22456x8,29519:23793x8;29548x30;22457x16;22451x16;23572x2,29520:23793x6;29548x24;22457x12;22451x12;23572x1,29521:23793x4;29548x18;22457x8;22451x8,29522:23793x8;29547x20;22451x16;23571x3;23572x2,29523:23793x4;29547x12;22451x8;23571x1,29524:23793x6;29547x16;22451x12;23571x2;23572x1,29525:23793x8;23571x6;23572x2,29526:23793x6;23571x5;23572x1,29527:23793x4;23571x3,29528:23793x3;25700x3,29529:23793x6;25708x4,29530:23793x6;29547x4,29531:23793x6;29548x4,29532:23793x6;25707x4,29533:23793x4;29539x2;22451x4,29534:23793x4;25708x8;22452x4,29535:23793x4;29539x4;22451x8;23572x1,29536:23793x4;25708x16;22452x8;23572x1,29540:23793x6;22452x4,29964:8170x10;7081x8;8172x2;14341x1,29970:8170x10;17056x5;8153x4;8172x2;14341x1,29971:8170x10;8165x10;8172x2;14341x1,29973:23793x4;22451x2;22452x2;14341x2,29974:23793x4;25699x12;21886x3;14341x2,29975:23793x4;15416x8;21884x3;14341x2,30039:23572x2;23793x4;22456x12;14341x2,30040:30183x2;23793x4;22456x10;14341x2;22451x10,30041:23572x2;23793x4;21886x12;14341x2,30042:30183x2;23793x4;21886x10;14341x2;22451x10,30043:23572x2;23793x4;21885x10;29547x6;14341x2,30044:30183x2;23793x4;21885x10;29547x6;14341x2,30045:23572x2;23793x4;22451x10;29547x6;14341x2,30046:30183x2;23793x4;22451x10;29547x10;14341x2,32393:32428x2;22450x1;21886x3;22456x4;25707x2,32394:32428x2;22450x1;21886x2;22456x4;25707x4,32395:32428x1;22450x1;21886x2;22456x2;25707x2,32396:32428x3;22450x1;21886x4;22456x6;25707x3,32397:32428x2;22450x1;21886x3;22456x4;25700x2,32398:32428x2;22450x1;21886x2;22456x4;25700x4,32399:32428x1;22450x1;21886x2;22456x2;25700x2,32400:32428x3;22450x1;21886x4;22456x6;25700x3,32574:23793x4;22451x4;21885x4;29547x12;32428x4,32575:23793x6;22451x6;21885x6;29547x16;32428x2,32577:23793x4;22451x4;22452x4;29547x12;32428x4,32579:23793x6;22451x6;22452x6;29547x16;32428x2,32580:23793x4;22451x10;32428x4,32581:23793x6;22451x12;32428x2,32582:23793x4;22451x6;21886x6;32428x4,32583:23793x6;22451x8;21886x8;32428x2,33122:23793x8;21844x12;22456x12;23572x4,33204:23793x10;21844x16;22452x12;22456x12;23572x2,33568:33567x5,34086:2840x1;2997x1;8170x4;14341x1,34105:23793x8;17056x99;22451x2;23572x1,34207:23793x4;22452x3,34330:23793x3,34369:23793x40;25707x24;23571x6;23572x6,34370:23793x30;25707x16;22456x18;23571x8;34664x6,34371:23793x40;25708x24;23571x6;23572x6,34372:23793x30;25708x16;21886x18;23571x8;34664x6,34373:23793x40;29547x24;23571x6;23572x6,34374:23793x30;29547x16;22451x18;23571x8;34664x6,34375:23793x40;29548x24;23571x6;23572x6,34376:23793x30;29548x16;21886x18;23571x8;34664x6,34482:21887x20;25700x4;25707x4;14341x3,34490:23793x15;29547x5;25707x5;29548x5;25708x5;14341x3,38347:38425x8,38371:38425x3;38561x12,38372:38425x4;38558x1,38373:44128x2;38558x2;43102x1,38374:44128x2;38557x2;43102x1,38375:33568x4,38376:38425x4,38399:38425x8,38400:33568x12,38401:33568x12,38402:33568x10,38403:33568x10,38404:33568x8,38405:33568x10,38406:33568x10,38407:33568x10,38408:33568x12,38409:33568x8,38410:33568x12,38411:33568x10,38412:33568x8,38413:33568x10,38414:33568x12,38415:33568x10,38416:33568x12,38417:33568x10,38418:33568x10,38419:33568x10,38420:33568x12,38421:33568x12,38422:33568x8,38424:33568x10,38425:33568x6,38433:33568x12,38434:33568x12,38435:33568x12,38436:33568x12,38437:33568x14,38438:33568x14,38439:33568x14,38440:33568x14,38441:33568x16;37700x4,38590:38558x25;37705x6,38591:38425x6;37703x4,38592:38425x5;37703x5,41238:38425x6;37700x5;37705x5,42731:38425x12;35623x2,43129:38425x15;35623x1,43130:38425x12;36860x2,43131:38557x40,43132:38425x14;35627x2,43133:38425x10;35627x2,43255:38425x10;35622x2,43256:38561x40,43257:38425x25,43258:38558x30,43260:38425x12;35623x1,43261:38425x12;35622x1,43262:38425x10;35622x1,43263:38425x12;35622x1,43264:38425x8;35622x1,43265:38425x10;35622x1,43266:38425x10;35622x1,43271:38425x12;35622x1,43273:38425x10;35622x1,43433:38425x10;35623x1,43434:38425x12;35623x1,43435:38425x8;35623x1,43436:38425x10;35623x1,43437:38425x10;35623x1,43438:38425x12;35623x1,43439:38425x10;35623x1,43442:38425x10;35623x1,43443:38425x10;35623x1,43444:38425x8;35623x1,43445:38425x12;35623x1,43446:38425x10;35623x1,43447:38425x12;35623x1,43448:38425x12;35623x1,43449:38425x10;35623x1,43450:38425x10;35622x1,43451:38425x10;35622x1,43452:38425x8;35622x1,43453:38425x12;35622x1,43454:38425x10;35622x1,43455:38425x12;35622x1,43456:38425x12;35622x1,43457:38425x10;35622x1,43458:38425x12;35622x6;35623x6;43102x1,43459:38425x10;35622x5;35623x5;43102x1,43461:38425x12;35622x12;43102x1,43469:38425x10;35622x10;43102x1,43481:38425x10;36860x6;35627x6;43102x1,43484:38425x10;36860x5;35627x5;43102x1,43495:38425x12;35625x6;35622x6;43102x1,43502:38425x10;35625x5;35622x5;43102x1,43565:44128x2;38558x40;43102x1,43566:44128x2;36860x6;35627x4;43102x1,43590:38425x10;36860x3;35622x3;38558x8;43102x1,43591:38425x8;36860x2;35622x2;38558x4;43102x1,43592:38425x8;36860x2;35622x2;38558x4;43102x1,43593:38425x10;36860x3;35622x3;38557x8;43102x1,43594:38425x8;36860x2;35622x2;38557x4;43102x1,43595:38425x8;36860x2;35622x2;38557x4;43102x1,44436:38425x4;37705x5,44437:38425x6;37705x4,44438:38557x35,44440:38425x4;37703x5,44441:38425x6;37703x4,44442:38558x35,44443:38425x4;37705x5,44444:38425x6;37705x4,44445:38557x30;37703x2,44446:38425x8,44930:38425x10;35623x5;35622x5;43102x1,44931:38425x12;35623x6;35622x6;43102x1,44963:44128x2;35624x4;43102x1,45553:44128x3;38557x20;45087x6,45554:44128x3;38558x20;45087x6,45555:44128x3;35627x4;45087x6,45556:38425x4;44128x3;45087x6,45562:44128x3;38561x20;45087x6,45563:44128x3;38557x20;45087x6,45564:44128x3;35627x2;45087x6,45565:44128x3;38557x20;45087x6,47576:38557x40;35622x8;44128x6;47556x4,47577:38557x40;35622x8;44128x6;47556x4,47579:38558x40;34057x4;44128x6;47556x4,47580:38558x40;34057x4;44128x6;47556x4,47581:38425x20;35627x12;44128x6;47556x4,47582:38425x20;35627x12;44128x6;47556x4,47583:38425x20;35625x12;44128x6;47556x4,47584:38425x20;35625x12;44128x6;47556x4,47595:38557x40;35622x8;35625x8;44128x8;47556x8,47596:38557x40;35622x8;35625x8;44128x8;47556x8,47597:38558x40;35623x8;34055x8;44128x8;47556x8,47598:38558x40;35623x8;34055x8;44128x8;47556x8,47599:38425x24;35627x20;44128x8;47556x8,47600:38425x24;35627x20;44128x8;47556x8,47601:38425x24;35625x20;44128x8;47556x8,47602:38425x24;35625x20;44128x8;47556x8,49633:38425x8;38557x8,49634:38425x8;38561x8,49894:38561x12;44128x5;35625x10;49908x5,49895:38558x12;44128x8;35627x10;49908x5,49896:38557x12;44128x5;35623x10;49908x5,49897:38557x12;44128x8;35624x10;49908x5,49898:38561x20;44128x8;35625x16;49908x8,49899:38558x20;44128x8;35627x16;49908x8,49900:38557x20;44128x8;35623x16;49908x8,49901:38557x20;44128x8;35624x16;49908x8",
+	["TradeskillResultMats.Forward.Leatherworking.Dragonscale"]="",
+	["TradeskillResultMats.Forward.Leatherworking.Elemental"]="",
+	["TradeskillResultMats.Forward.Leatherworking.Tribal"]="",
+	["TradeskillResultMats.Forward.Smelting"]="2840:2770x1,2841:2840x1;3576x1,2842:2775x1,3575:2772x1,3576:2771x1,3577:2776x1,3859:3575x1;3857x1,3860:3858x1,6037:7911x1,11371:11370x8,12359:10620x1,12655:12359x1;11176x3,17771:18562x1;12360x10;17010x1;18567x3,22573:22452x1,22574:21884x1,23445:23424x2,23446:23425x2,23447:23427x2,23448:23445x3;23447x2,23449:23426x2,23573:23446x10,35128:23449x3;23573x1,36913:36912x2,36916:36909x1,37663:41163x3;36860x1;35624x1;35627x1,41163:36910x2",
+	["TradeskillResultMats.Forward.Tailoring.Basic"]="-56039:38426x1,-56034:38426x1,-55777:41595x1;38426x1,-55769:41593x1;38426x1,-55642:41594x1;38426x1,2568:2996x1;2320x1,2569:2996x3;2320x1;2318x1,2570:2996x1;2320x1,2572:2996x3;2320x2;2604x2,2575:2996x2;2320x1;2604x1,2576:2996x1;2320x1;2324x1,2577:2996x2;2320x1;6260x1,2578:2996x4;2318x1;2321x1,2579:2996x3;2321x1;2605x1,2580:2996x2;2320x3,2582:2997x2;2321x2;2605x1,2583:2997x4;2321x2;2318x2,2584:2997x1;2321x1,2585:2997x4;2321x3;4340x1,2587:2997x2;2321x1;4340x1,2996:2589x2,2997:2592x3,4238:2996x3;2320x3,4240:2997x3;2321x1,4241:2997x4;2605x1;2321x1,4245:4305x3;4234x2;2321x3,4305:4306x4,4307:2996x2;2320x1,4308:2996x3;2320x2;2605x1,4309:2996x4;2321x2,4310:2997x3;2321x1,4311:2997x3;2321x2;5498x2,4312:2996x5;2318x2;2321x1,4313:2997x4;2318x2;2321x1;2604x2,4314:2997x3;2321x2,4315:2997x6;2319x2;2321x2,4316:2997x5;2321x4,4317:2997x6;5500x1;2321x3,4318:2997x4;2321x3;3383x1,4319:4305x3;4234x2;6260x2;2321x2,4320:4305x2;2319x4;3182x4;5500x2,4321:4305x3;3182x1;2321x2,4322:4305x3;2321x2;4337x2,4323:4305x4;4291x1;3824x1,4324:4305x5;6260x4,4325:4305x4;4291x1;4337x2,4326:4305x4;3827x1;4291x1,4327:4339x3;4291x2;3829x1;4337x2,4328:4305x4;4337x2;7071x1,4329:4339x4;4234x4;3864x1;7071x1;4291x1,4330:2997x3;2604x2;2321x1,4331:2997x4;5500x1;2321x4;2324x2,4332:4305x1;4341x1;2321x1,4333:4305x2;4340x2;2321x1,4334:4305x3;2324x2;2321x1,4335:4305x4;4342x1;4291x1,4336:4305x5;2325x1;4291x1,4339:4338x4,4343:2996x2;2320x1,4344:2996x1;2320x1,5542:2997x3;2321x2;5498x1,5762:2996x4;2321x1;2604x1,5763:2997x4;2604x1;2321x1,5764:4305x4;4234x3;2321x3;2605x1,5765:4305x5;2325x1;2321x4,5766:4305x2;2321x2;3182x2,5770:4305x4;2321x2;3182x2,6238:2996x3;2320x1,6239:2996x3;2320x1;2604x1,6240:2996x3;2320x1;6260x1,6241:2996x3;2320x1;2324x1,6242:2996x4;2320x2;6260x2,6263:2997x4;2321x2;6260x2,6264:2997x5;2321x3;2604x3,6384:2997x4;6260x2;4340x1;2321x1,6385:2997x4;2605x2;4340x1;2321x1,6786:2996x2;2320x1;6260x1;2324x1,6787:2997x3;2324x4;2321x1,6795:4305x3;2324x2;4291x1,6796:4305x3;2604x2;4291x1,6836:4339x4;4304x2,7026:2996x1;2320x1,7046:4305x4;6260x2;2321x3,7047:4305x3;4234x2;6048x2;2321x2,7048:4305x2;6260x2;2321x1,7049:4305x3;4234x2;929x4;2321x1,7050:4305x3;2321x2,7051:4305x3;7067x1;2321x2,7052:4305x4;7070x1;6260x2;2321x2;7071x1,7053:4305x3;6260x2;2321x2,7054:4339x2;7067x2;7070x2;7068x2;7069x2;4291x2,7055:4305x4;7071x1;2604x2;4291x1,7056:4305x5;2604x2;6371x2;4291x1,7057:4305x5;4291x2,7058:4305x4;2604x2;2321x2,7059:4305x5;6371x2;2604x2;4291x2,7060:4305x6;7072x2;6260x2;4291x2,7061:4305x5;7067x4;4234x4;7071x1;4291x2,7062:4305x4;2604x2;4291x2,7063:4305x8;7068x4;3827x2;2604x4;4291x1,7064:4305x6;7068x2;6371x2;4304x2;2604x4;4291x2,7065:4305x5;2605x2;4291x1,9998:4339x2;4291x3,9999:4339x2;4291x3,10001:4339x3;8343x1,10002:4339x3;10285x2;8343x1,10003:4339x2;8343x2,10004:4339x3;10285x2;8343x1,10007:4339x3;2604x2;8343x1,10008:4339x1;2324x1;8343x1,10009:4339x3;2604x2;8343x1,10018:4339x3;2604x2;8343x2,10019:4339x4;8153x4;10286x2;8343x2,10021:4339x6;8153x6;10286x2;8343x2,10023:4339x5;10285x5;8343x2,10024:4339x3;8343x2,10025:4339x2;10285x8;8343x2,10026:4339x3;8343x2;4304x2,10027:4339x3;8343x2,10028:4339x5;10285x4;8343x2,10029:4339x4;2604x2;8343x3,10030:4339x3;4589x6;8343x2,10031:4339x6;10285x6;8343x3;4304x2,10033:4339x4;2604x2;8343x2,10034:4339x4;8343x2,10035:4339x4;8343x3,10036:4339x5;8343x3,10040:4339x5;8343x3;2324x1,10041:4339x8;8153x4;10286x2;8343x3;6037x1;1529x1,10042:4339x5;7077x2;8343x2,10044:4339x5;8343x3,10045:2996x1;2320x1,10046:2996x2;2318x1;2320x1,10047:2996x4;2321x1,10048:2997x5;2604x3;2321x1,10050:4339x4;4291x2,10051:4339x4;2604x2;8343x2,10052:4339x2;6261x2;8343x1,10053:4339x3;2325x1;8343x1;2324x1,10054:4339x2;4342x2;8343x2,10055:4339x3;10290x1;8343x1,10056:4339x1;6261x1;8343x1,13856:14048x3;14341x1,13857:14048x5;14227x1;14341x1,13858:14048x5;14227x1;14341x1,13860:14048x4;14227x1,13863:14048x5;14341x2,13864:14048x4;8170x2;14341x1,13865:14048x5;14227x2;14341x1,13866:14048x6;14341x2,13867:14048x7;14227x2;8170x4;14341x1,13868:14048x5;7079x2;14341x1,13869:14048x5;6260x2;14341x1,13870:14048x5;6260x2;14341x1,13871:14048x6;6260x2;14341x1,14042:14048x5;7077x2;14341x1,14043:14048x4;7077x2;14341x1,14044:14048x5;7078x1;14341x1,14045:14048x6;7078x1;14341x1,14046:14048x5;8170x2;14341x1,14048:14047x4,14100:14048x4;3577x2,14101:14048x4;3577x2,14103:14048x4;3577x2,14104:14048x6;3577x4,14106:14048x8;14256x3;12662x2;14341x2,14107:14048x5;14256x2;14341x1,14108:14048x2;14256x2;8170x2;14341x1,14111:14048x2;14256x2;14341x1,14112:14048x7;14256x3;12662x2;8170x4;14341x2,14128:14048x8;11176x2;14341x1,14130:14048x6;11176x4;7910x1;14341x1,14132:14048x4;11176x1;14341x1,14134:14048x6;7078x4;7077x4;7068x4;14341x1,14136:14048x10;14256x12;12808x4;7080x4;14341x1,14137:14048x6;14342x4;14341x1,14138:14048x6;14342x4;14341x1,14139:14048x5;14342x5;14341x1,14140:14048x4;14342x6;12800x1;12810x2;14341x2,14141:14048x2;9210x3,14142:14048x2;9210x2,14143:14048x2;9210x2,14144:14048x3;9210x4,14146:14048x10;14342x10;9210x10;13926x6;12364x6;12810x8;14341x2,14152:14048x12;7078x10;7082x10;7076x10;7080x10;14341x2,14153:14048x12;12662x20;14256x40;7078x12;12808x12;14341x2,14154:14048x12;14342x10;12811x4;13926x4;9210x10;14341x2,14155:14048x4;14342x1;14341x1,14156:14048x8;14342x12;14344x2;17012x2;14341x2,14342:14256x2,15802:14048x6;14342x4;7971x2;14341x1,16979:14048x8;17010x6;7078x4;12810x2;14341x2,16980:14048x12;17010x4;17011x4;12810x6;14341x2,17723:4305x5;2605x4;4291x1,18258:14048x2;8170x4;18240x1;14341x1,18263:14342x6;17010x8;7078x2;12810x6;14341x4,18405:14048x16;9210x10;14342x10;7080x12;7078x12;14344x6;14341x6,18407:14048x12;14256x20;12662x6;12808x8;14341x2,18408:14048x12;7078x10;7910x2;14341x2,18409:14048x12;14342x6;13926x2;14341x2,18413:14048x12;12809x4;12360x1;14341x2,18486:14048x6;14342x4;13926x2;14341x2,19047:14048x8;7076x3;12803x3;14227x2,19050:14342x5;7076x5;12803x5;14227x2,19056:14048x6;12810x4;13926x2;12809x2;14227x2,19059:14342x5;12809x2;14227x2,19156:14342x10;17010x2;17011x3;7078x6;14227x4,19165:14342x8;17010x5;17011x3;7078x10;14227x4,19682:14342x3;19726x3;12804x3;14227x2,19683:14342x4;19726x4;12804x4;14227x2,19684:14342x4;19726x4;14227x2,20537:14048x4;20520x6;14256x4;12810x2;14227x2,20538:14048x6;20520x8;14256x6;14227x2,20539:14048x2;20520x6;14256x2;12810x2;14227x2,21154:14048x4;4625x2;2604x2;14341x1,21340:14048x6;8170x4;7972x2;14341x1,21341:14256x12;12810x6;20520x2;14227x4,21342:14256x20;17012x16;7078x4;14227x4,21542:14048x4;4625x2;2604x2;14341x1,21840:21877x5,21841:21840x4;14341x1,21842:21840x3;22445x2,21843:21842x4;21881x2;22446x1,21844:21840x1;21882x8,21845:21842x1;21886x1;21885x1,21846:24271x4;21884x10;21881x2,21847:24271x8;21884x12;21881x4,21848:24271x14;21884x16;21881x4,21849:21840x3;14341x1,21850:21840x3;14341x1,21851:21840x4;21887x2;14341x1,21852:21840x6;14341x1,21853:21840x6;21887x2;14341x1,21854:21840x8;14341x2,21855:21840x8;14341x2,21858:24271x6;22446x4;21881x4,21859:21842x5;21881x2;14341x1,21860:21842x4;21887x6;21881x2;14341x1,21861:21842x6;21881x2;14341x1,21862:21842x6;21881x2;14341x1,21863:21844x5;21887x6;14341x4,21864:21844x6;14341x4,21865:21844x8;14341x4,21866:21840x6;22445x12;14341x2,21867:21840x8;22445x16;14341x2,21868:21840x12;22445x20;14341x2,21869:24272x4;21885x10;21881x2,21870:24272x8;21885x12;21881x2,21871:24272x14;21885x16;21881x4,21872:24272x6;21881x4,21873:21845x4;21881x2;21886x8,21874:21845x8;21881x2;21886x8,21875:21845x14;22457x12;21881x4,21876:21845x8;21881x4,22246:4339x4;11137x4;8343x2,22248:14048x5;16203x2;14341x2,22249:14048x6;14344x4;12810x4;14227x4,22251:14048x5;8831x10;11040x8;14341x2,22252:14048x6;14342x2;13468x1;14227x4,22652:22682x7;14048x8;7080x6;14227x8,22654:22682x5;14048x4;7080x4;14227x4,22655:22682x4;14048x2;7080x2;14227x4,22658:22682x5;14048x4;7080x2;14227x4,22660:19726x1;14048x2;12803x4;14227x4,22756:14048x4;19726x2;12803x2;14227x2,22757:14048x4;14342x2;12803x2;14227x2,22758:14048x2;12803x4;14227x2,24249:21842x4;22452x8,24250:21842x4;22452x4;22456x4,24251:21842x4;21884x8,24252:21842x6;22457x3;22456x3,24253:21842x6;22452x6,24254:21842x6;21886x6,24255:21845x8;22452x16;23572x1,24256:24272x10;21884x16;23572x1,24257:21842x6;22457x14;23572x1,24258:21845x10;22452x12;23572x1,24259:24272x10;22451x14;23572x1,24260:24271x10;22457x12;23572x1,24261:21845x10;23571x5;23572x1,24262:24271x10;23571x5;23572x1,24263:21842x12;23571x8;23572x1,24264:21845x10;23571x5;23572x1,24266:24271x10;23571x5;23572x1,24267:21842x12;23571x8;23572x1,24268:21877x3,24270:21842x6;21887x4,24271:21842x1;22457x1;21884x1,24272:21842x1;22456x1;21884x1,24273:14341x1;22457x5,24274:14341x1;22457x10;23572x1,24275:14341x1;21886x5,24276:14341x1;21886x10;23572x1,30035:23572x2;21845x4;24271x4;14341x2,30036:30183x2;21842x4;21886x10;14341x2;21885x10,30037:23572x2;24272x4;24271x4;14341x2,30038:30183x2;21842x4;21884x15;14341x2,30459:21840x10;21884x5;22456x6;21881x2,30460:21840x6;21887x4;21884x3;22456x4;21881x2,30461:21840x6;21887x4;21884x2;22456x6;21881x2,30831:21842x4;22457x3;21886x3;21881x2,30837:21840x5;21884x5;14341x2,30838:21840x7;21884x7;14341x2,30839:21840x9;21884x9;14341x2,32389:32428x3;22450x1;21886x4;22456x6;21842x2,32390:32428x2;22450x1;21886x3;22456x4;21842x1,32391:32428x2;22450x1;21886x2;22456x4;21842x1,32392:32428x1;22450x1;21886x2;22456x2;21842x1,32420:32428x1;22450x1;21886x2;22456x2;21842x1,32584:21842x3;21845x4;21886x8;32428x4,32585:21842x4;21845x2;21886x6;32428x2,32586:21842x3;24271x4;22457x8;32428x4,32587:21842x4;24271x2;22457x6;32428x2,34085:14048x4;2997x1;2604x2;14341x1,34087:14048x4;2997x1;2605x2;14341x1,34364:24271x12;24272x12;23572x2,34365:21845x20;23572x2,34366:24271x10;24272x10;34664x6,34367:21845x18;21886x12;21885x12;34664x6,38225:21845x4;22794x2,38277:4339x5;2325x2;2604x1;8343x3,38278:4339x4;8343x3;2325x3,41248:41510x4;2604x1,41249:41510x4;6260x1,41250:41510x4;2605x1,41251:41510x4;4341x1,41252:41510x4;2604x1,41253:41510x4;6260x1,41254:41510x4;4341x1,41255:41510x4;2605x1,41509:33470x6,41510:33470x5,41511:41510x2;34054x2,41512:41510x3;38426x1,41513:41510x3;38426x1,41515:41510x4;38426x1,41516:41511x3;37702x4;37701x4;38426x2,41519:41510x5;38426x1,41520:41510x4;38426x1,41521:41510x5;38426x1,41522:41510x3;38426x1,41523:41510x7;38426x4;36783x1,41525:41510x8;38426x4;36783x1,41528:41510x5;38426x4;36783x2,41543:41510x7;38426x1,41544:41510x10;38426x1,41545:41510x9;38426x1,41546:41510x8;38426x1,41548:41510x8;38426x1,41549:41510x10;38426x1,41550:41510x10;38426x1,41551:41510x8;38426x1,41553:41511x5;42253x2;38426x2,41554:41511x5;42253x2;38426x2,41555:41511x4;42253x2;38426x2,41593:41511x1;35627x2,41594:41511x1;35625x2,41595:41511x1;36860x2,41597:41593x4;41595x2;38426x1,41598:41595x4;41594x2;38426x1,41599:41511x6;38426x2,41600:41594x4;41593x4;38426x1,41601:37704x2;42253x2,41602:35625x4;42253x4;43102x1,41603:37702x2;42253x2,41604:36860x4;42253x4;43102x1,41607:41510x7;36783x1,41608:41510x8;36783x1,41609:41511x5;35625x6;35622x4;36784x1;43102x1,41610:41511x5;36860x6;35627x4;36784x1;43102x1,41984:41593x1;41511x6;42253x4;38426x1,41985:41595x1;41511x5;38425x2;42253x4;38426x1,41986:41595x1;41511x4;42253x4;38426x1,42093:41594x1;41511x6;42253x4;38426x1,42095:41594x1;41511x4;42253x4;38426x1,42096:41594x1;41511x4;38425x2;42253x4;38426x1,42100:41594x8;41511x6;38426x1;43102x1,42101:41593x8;41511x6;38426x1;43102x1,42102:41595x8;41511x6;38426x1;43102x1,42103:41594x4;41511x4;38426x1;43102x1,42111:41593x4;41511x4;38426x1;43102x1,42113:41595x4;41511x4;38426x1;43102x1,43583:41511x6;36860x3;35622x3;38426x3;43102x1,43584:41511x4;36860x2;35622x2;38426x2;43102x1,43585:41511x4;36860x2;35622x2;38426x2;43102x1,43969:41511x3;37702x3;37701x3;38426x2,43970:41511x3;37702x4;37701x4;38426x2,43971:41511x4;37702x5;37701x5;38426x2,43972:41511x4;37702x5;37701x5;38426x2,43973:41511x3;37702x4;37701x4;38426x2,43974:41511x3;37702x3;37701x3;38426x2,43975:41511x4;37702x5;37701x5;38426x2,44211:41510x3;38426x1,44554:21840x6;23112x4;22445x4;8343x5,44558:41511x12;36930x4;2604x4;4341x2;42253x4,45557:41595x4;41593x4;45087x6,45558:41594x8;45087x6,45566:41595x4;41593x4;45087x6,45567:41594x8;45087x6,45626:4305x3;3182x6;2321x2,45773:41594x4;36908x6,45810:41511x4;42253x4;35627x4,45811:41511x4;42253x4;35624x4,47585:41595x8;36934x1;36919x1;36925x1;47556x4,47586:41595x8;36934x1;36919x1;36925x1;47556x4,47587:41594x12;47556x4,47588:41594x12;47556x4,47603:41593x8;41595x8;34052x8;47556x8,47604:41593x8;41595x8;34052x8;47556x8,47605:41594x20;36922x2;47556x8,47606:41594x20;36922x2;47556x8,49890:41595x6;41593x6;49908x5,49891:41595x10;41593x10;49908x8,49892:41594x20;49908x8,49893:41594x10;49908x5",
+	["TradeskillResultMats.Forward.Tailoring.Mooncloth"]="",
+	["TradeskillResultMats.Forward.Tailoring.Shadoweave"]="",
+	["TradeskillResultMats.Forward.Tailoring.Spellfire"]="",
+
+	["TradeskillResultMats.Reverse.Alchemy"]="118:858x1,765:2454x1;5997x2;118x1;2455x1;2457x1,785:2455x1;2456x2;3383x1;3384x3;3385x1,1288:3386x1,2447:118x1;3382x1;2456x1;4596x1;2458x1,2449:2454x1;3382x2;2458x2;6662x1;3391x1,2450:858x1;2459x1;3383x2;929x1;3388x2,2452:2457x1;2459x1;6051x1;6372x1;3390x1,2453:6051x1;929x1;3386x1;3388x2;45621x1;3826x1,3164:4596x1,3355:3384x1;3389x1;3390x1;3823x1;3825x1;8951x1,3356:6048x1;6373x1;3391x1;1710x1;3827x1;5633x1,3357:1710x1;3826x1;6052x1,3358:17708x1;3828x1;3829x4;6149x1;9036x1;3928x1;9179x1,3369:6048x1;3824x4,3371:2454x1;5997x1;118x1;3382x1;2455x1;2456x1;4596x1;2457x1;2458x1;5631x1;2459x1;6662x1;5996x1;3383x1;6051x1;6372x1;3384x1;3385x1;45621x1,3372:929x1;3386x1;3388x1;3389x1;6048x1;6373x1;3390x1;3391x1;5634x1;1710x1;3827x1;3823x1;3824x1;6049x1;3825x1;5633x1;3826x1;8949x1;6050x1;17708x1;6052x1;3828x1;8951x1;10592x1;3829x1;6149x1;9061x1;4623x1,3575:9149x4;3577x1,3818:3823x1;3824x4;3828x1;10592x1,3819:6050x1;17708x2;3829x2,3820:5996x1;3385x1;3389x1;5634x1;3827x1;8949x1;6052x1,3821:3825x1;8949x1;6050x1;8951x1;10592x1;6149x1;8956x1;9030x1;4623x1;9155x1;9187x1,3824:13459x1,3858:4623x1,3860:6037x1,4342:9210x1,4402:6049x1,4625:8956x1;9061x1;9149x4;21546x3,5635:5631x2,5637:5633x1,6358:6370x2,6359:6371x2,6370:5996x2;6372x1;5634x2,6371:45621x1;6373x2;6049x1;21546x3,6522:6662x1,7067:9030x1;13458x1,7068:13457x1,7070:13456x1,7076:12803x1;7080x1,7077:7068x1,7078:7076x1,7080:7082x1;12808x1,7082:7078x1,7972:18294x1,8153:9144x1,8831:9036x1;18294x2;9149x4;9144x1;12190x3;9197x3,8836:9154x1;9088x1,8838:3928x1;9172x1;9187x1;9206x1;13443x2;13445x1,8839:9155x1;9179x1;9088x1;3387x2;13443x2,8845:9172x1;9210x2;9224x1;9264x3;3387x1,8846:9206x1;9224x1;9233x2;13442x3;13453x2;20004x1;13510x7,8925:8956x1;9036x1;9030x1;18294x1;3928x1;9144x1;12190x1;9154x1;9155x1;9179x1;9172x1;9197x1;9187x1;9088x1;9206x1;9210x1;9224x1;9233x1;21546x1;9264x1;3387x1;13442x1;13443x1;13445x1;13447x1;13453x1;20002x1;20007x1;13446x1;13452x1;13455x1;13454x1;20008x1;13462x1;13461x1;13457x1;13456x1;13458x1;13459x1;20004x1;13444x1;13513x1;13511x1;13512x1;13510x1;13506x1;34440x1,9149:13503x1,9260:9061x1,9262:9149x1,10286:20008x2;18253x1,10620:13455x1,11176:13461x1,12359:12360x1,12363:12360x1,12803:7076x1,12804:19931x6,12808:7080x1,12938:19931x1,13422:13423x1,13423:13445x2;13455x2;13510x3;13506x7,13463:13447x1;20002x2;20007x1;13454x3;13461x1;13457x1;13456x1;13458x1;13459x1;13444x3;18253x4;28103x1;13511x7;13512x7,13464:20002x1;13446x2;18253x4;28100x1;22825x1,13465:13446x1;13452x2;13454x1;20008x2;13513x3;13512x3;28102x1;22824x1,13466:13447x2;13453x2;20007x2;13452x2;13462x2;20004x2,13467:20008x2;13462x2;13444x2;13513x7;13511x3,13468:19931x1;13513x1;13511x1;13512x1;13510x1,13503:35751x1;35748x1;35750x1;35749x1,18256:18253x1;28103x1;28102x1;28100x1;22823x1;22824x1;22825x1;32062x1;28101x1;28104x1;22826x1;32063x1;32067x1;22827x1;22828x1;22830x1;22829x1;32068x1;22831x1;31679x1;22871x1;22832x1;22834x1;22833x1;31676x1;39671x1;22839x1;22835x1;22838x1;22837x1;22836x1;40068x1;22840x1;40067x1;31677x1;22845x5;22841x5;22842x5;22847x5;22844x5;22846x5;22848x1;22849x1;40070x1;40076x1;40079x1;33208x1;40081x1;40073x1;40072x1;44939x1;40078x1;39666x1;44332x1;40093x1;40213x1;40214x1;40215x1;40216x1;40217x1;40077x1;44325x1;44330x1;44327x1;44329x1;44331x1;44328x1;40109x1;40097x1;8827x1;40211x1;40212x1;40087x1;33447x1;33448x1;22861x1;22851x1;22853x1;22866x1;22854x1;22850x1,19943:19931x1,21884:23571x1;25868x2;22452x1;22841x1;35749x6;32849x2;22457x1,21885:25867x2;23571x1;22451x1;22842x1;32850x2;22456x1,21886:31080x1;22847x1;22844x1;35750x6;32851x2;22452x1,21929:25868x3,22451:23571x1;25868x2;21884x1;35748x6,22452:31080x1;25867x2;23571x1;21885x1;21886x1,22456:22846x1;35751x6;32852x2;21885x1,22457:31080x1;23571x1;22845x1;32839x2;21884x1,22573:22849x3,22574:22833x2,22578:22827x2,22785:28103x1;28102x1;28100x1;22823x1;22824x1;32062x1;28101x1;28104x1;22826x1;32067x1;22829x1;22831x2;22832x1;31676x2,22786:22825x1;32063x1;22832x2;22836x1;33208x7;22853x7;22850x1,22787:22823x1;32062x2;28101x2;22826x2;32063x2;34440x2;22830x2;32068x1;22871x3,22789:28104x1;32067x1;22828x3;22830x1;22831x1;31679x1;22834x1;22838x2;22837x2;22854x7,22790:22827x1;32068x1;22834x3;22833x1;22835x1;22837x1;22840x1;22849x2;22851x7,22791:22829x2;22871x1;22839x1;22838x1;22840x1;22848x1;33208x3;22861x7;22850x1,22792:31679x2;31676x3;22839x2;22835x1;22836x1;31677x2;22866x7,22793:31677x1;22845x3;22841x3;22842x3;22847x3;22844x3;22846x3;22848x1;32839x7;32849x7;32850x7;32851x7;32852x7;22861x3;22851x3;22853x3;22866x3;22854x3;22850x2,22794:13503x2;33208x1;22861x1;22851x1;22853x1;22866x1;22854x1,23077:25868x3,23079:25867x3,23107:25867x3,23112:25867x3,23117:25868x3,23571:13503x5,23782:32839x1;32849x1;32850x1;32851x1;32852x1,25867:13503x1,25868:13503x1,30183:35751x2;35748x2;35750x2;35749x2,33447:43569x10,33448:43570x10,35622:35623x1;36860x1,35623:41266x1;36925x1;35624x1;35622x1,35624:35623x1;35627x1,35625:44322x2;36922x1;36860x1;35627x1,35627:36931x1;36928x1;35624x1;35625x1,36860:41334x1;35625x1;35622x1;36919x1,36901:39671x2;40068x1;40070x1;40079x1;40081x1;40078x4;39666x2;40077x2;44327x1;44329x1;40109x1;-60893x10;44322x20;33447x1;33448x1;46377x3,36903:39666x2;44327x2;44329x2;40211x2;-60893x10;44324x15,36904:40070x1;40073x2;44325x2;44330x2;44324x15,36905:40109x2;40212x2;40087x2;33448x2;46377x7;46379x7;46376x5,36906:40093x2;44328x2;40097x2;33447x2;46378x7;46376x5,36907:40067x2;40081x2;40072x3;44332x1;44325x1;40087x2;-60893x4,36908:44323x1;44322x1;44324x1;47499x4;46377x1;46378x1;46379x1;46376x1,36913:41163x8,36917:41266x1,36918:36919x1,36921:36922x1,36923:41266x1,36924:36925x1,36927:36928x1,36929:41334x1,36930:36931x1,36932:41334x1,36933:36934x3,37701:40213x2;40097x1,37702:40215x2,37703:40216x2,37704:40217x2;44331x1;44328x1;46379x3,37705:40214x2,37921:40068x2;40079x4;44332x2;44331x1;44323x20,39970:44939x4,40195:40076x3;40211x1;40212x1;44323x12;46378x3,40199:40195x1,40411:-60893x4;43569x1;43570x1;47499x1;46377x1;46378x1;46379x1;46376x1,41814:44958x2,44958:8827x3",
+	["TradeskillResultMats.Reverse.Blacksmithing.Armorsmith"]="",
+	["TradeskillResultMats.Reverse.Blacksmithing.Basic"]="774:3488x2;3474x1,818:33791x1;3474x1;3487x2;6731x2;3848x1,1206:3491x1;2870x2;3844x2;12259x1;7944x2,1210:2864x1;3490x2;3491x1;7945x4,1529:3850x2;3844x2;3854x2;7954x5,1705:2870x2;3492x2;3849x2;6043x1;3852x2;3853x3;3846x1;7944x2,2318:7955x1;7166x1;3488x2;6214x2;3489x2,2319:3487x2;29201x1;3848x1;2848x1;2849x1;2850x2;7956x1;3490x2;7957x2;3491x2;7958x2;5541x2;3492x2,2321:3473x2,2459:3490x1,2589:3239x1;2844x2;2845x2;2847x2,2592:3240x1;3241x1,2605:3484x1;3485x1;3842x1;3840x1;3835x1;3836x1,2835:2862x1;3239x1;3470x2,2836:2863x1;3240x1;3478x2,2838:2871x1;3241x1;3486x3,2840:10421x4;2853x2;2852x4;2844x6;2845x6;3469x8;2847x6;7955x10;7166x6;3488x12;3471x8;33791x10;2851x6;3472x8;3473x8;3474x8;6214x12;2857x10;3489x10;2864x12;2854x10;3487x14;6731x16,2841:6350x6;29201x6;3848x6;2866x7;2865x6;2848x6;5540x6;3480x5;2849x7;2850x5;2868x5;7956x8;3490x4;3481x8;7957x12;3491x8;3482x6;2869x10;7958x14;3483x8;5541x10;2870x20;10423x12,2842:3489x2;15869x1;6338x1;3481x2;3482x1;2869x2;3483x1;2870x4;10423x4;3851x4;12611x10,2880:2844x1;2845x1;2847x1;7955x2;7166x1;3488x2;6214x2;3489x2;3487x2;3848x4;2848x4;2849x4;2850x4,3391:3492x1,3466:5540x1;7956x1;3490x1;7957x2;3491x1;7958x1;5541x1;3492x2;3851x2;3849x2;3852x2;3850x2;12259x2;3853x2;3855x2,3470:7955x1;7166x1;3488x2;3471x2;33791x2;3472x2;3473x3;3489x2;2864x2;2854x3;6350x6;15869x1;6338x2;29201x2;6731x3;3848x2,3478:5540x2;3480x1;2868x2;3490x2;3481x2;3491x2;3482x2;2869x2;3483x2;5541x2;3484x2;3492x2;11128x2;3485x2;6042x4;10423x2;6043x2,3486:15870x1;3842x1;3851x1;7914x4;7913x2;3840x1;3849x1;3852x2;3843x1;3841x1;3850x2;3844x4;7916x2;3853x2;7917x3;6040x2;3855x2;3846x2;3837x2;6041x2;3845x4;11144x1;29202x2;3847x4;7963x3;9366x4,3575:3484x6;3492x6;7071x1;3485x4;6042x6;3842x8;3851x8;7914x20;7913x8;3840x7;3849x6;3835x6;6043x4;3852x10;3843x10;3836x12;7915x10;3850x8;3844x20;7916x12;7917x14;3855x14,3577:15870x1;11128x1;3852x4;3843x2;3841x2;3855x4;3837x2;12260x4;3845x2;3847x4;9060x1;9366x4;12633x6;12610x6,3823:7961x2,3824:3856x2,3829:17704x1;3854x2,3859:3841x6;12259x10;3853x8;6040x5;3846x8;17704x10;3837x8;12260x10;6041x8;3845x12;29202x5;3854x12;3847x10;3856x10;7963x16;9366x10;7922x14,3860:9060x5;7919x6;7918x8;7921x10;7920x12;7941x12;7924x8;7967x4;7927x10;7926x12;7942x16;7938x10;7928x12;7943x14;7930x16;7931x10;7945x16;7933x14;7932x14;7969x4;7954x24;7944x14;7934x14;7939x12;7961x28;7946x18;7959x28;7947x12;30069x16;30071x12;30073x12;30072x12;30070x16;7960x30;7929x12;7935x16;7936x14;7937x16,3864:3836x1;3846x1;3856x2;7941x2;7922x1;7938x3;7954x5,4234:3851x2;3849x3;3852x2;3850x3;12259x1;3853x3;3855x2;17704x2;12260x2;6041x4;29202x1;7918x6;7941x4,4255:3844x1,4304:7942x4;7928x6;7943x2;7945x2;7933x4;7932x4;7954x4;7961x2;7946x4;7959x6;7947x2;7960x6;7936x4,4306:7965x1,4338:7919x4;7927x6;7931x6;7944x2,5498:5540x2;3485x2,5500:5541x1;2870x2,5635:7913x4;7915x2,5637:7915x2;7916x4;7917x2,5966:7938x1,6037:15871x1;11144x1;9060x1;7967x2;7927x1;7926x1;7938x8;7928x1;7943x4;7954x6;7939x12;7961x8;7959x10;7947x6;7960x16;19051x6;20550x10;20549x6;20551x8;19057x10;12633x6;12612x2;7935x6;7936x2;7937x2,7067:12259x1;18262x2;7929x1,7068:12260x2,7069:17704x2;29202x2,7070:17704x2,7075:7954x4;7946x2;30069x2;30071x4,7076:12645x2;19043x3;22198x4;12639x10;22196x10;22385x10;12618x4;12620x6;12796x10;22197x2;19048x6;12794x6,7077:30073x4;12416x2;11608x4;11606x2;12415x2;11607x4;11605x1;12777x4;11604x8;12418x4;12419x4;12792x4;12417x4;12420x4;7935x1,7078:12777x4;12631x2;17193x25,7080:12625x2;12632x4;22671x2;22669x4;22670x2;12618x4;12619x6;12797x4,7081:7961x6;30072x4;30070x2;7960x4,7909:7942x2;7938x3;7944x1;7934x1;7961x6;7936x1,7910:7939x2;7947x2;7960x6;12415x1;12774x4;12410x1;12628x4;12631x4;12792x4;12427x1;19690x2;19691x1;12783x6;12613x1;12614x1,7912:7966x4;7964x1;7965x1,7966:15871x1;7941x1;7922x1;7967x4;7927x1;7926x1;7942x1;7938x2;7943x1;7945x1;7969x3;7954x4;7944x1;7939x2;7961x4;7946x1;7959x6;7947x1;7960x8;7935x1;7936x1;7937x1,7971:7945x1;7939x2,7972:7959x10,8153:12624x4,8170:12424x6;12428x6;12774x4;12773x4;12409x8;12776x4;12775x6;12782x4;12792x4;29203x1,11371:11608x18;11606x10;11607x26;11605x6;11604x20;17014x4;16989x6;19166x4;19167x6;19168x6;20039x6;19164x4;19148x4;17013x16;19170x8;16988x16;19169x12;22384x10;17016x18;17015x16;17193x20,11382:19166x1;19164x2;17016x2;17015x2;17193x10,11754:20551x1,12359:12405x16;12406x8;12408x8;12416x10;12424x10;12428x12;12624x40;12425x12;12415x18;12645x4;12774x30;12773x10;12409x12;12410x12;12776x20;12775x12;12628x40;12418x18;12625x20;12631x20;19051x8;19043x12;12419x14;12782x40;12792x30;12632x20;12426x18;12427x18;12417x18;22671x12;22669x16;22670x12;12640x80;12798x40;19690x20;19692x12;19691x16;20550x20;20549x12;20551x16;19693x20;19694x18;19695x16;12796x50;12636x40;12633x20;29203x6;12422x20;12429x24;12420x20;12613x40;12611x20;12612x30;12614x40;12610x20;12414x12,12360:15872x1;16206x3;12781x2;12625x4;12782x2;19166x12;19167x16;19168x10;19170x12;22671x2;22669x2;22670x2;12641x30;12640x12;19169x10;22384x15;22383x12;12639x15;22385x12;12798x12;12790x15;12784x20;12618x8;12620x6;12619x10;12797x18;19057x2;12796x15;12783x10;19048x4;22762x2;12613x2;12611x2;12612x2;12614x2;12610x2;17193x50,12361:12405x1;12774x4;12628x4;12781x2;12782x2;12632x4;12640x10;12639x4;12619x2;12797x8,12364:12624x1;12776x2;12781x1;12625x2;12641x6;19169x4;22196x4;12798x8;12618x2;12619x1;12636x2;12794x8;12612x1,12365:12644x4;12404x1;12643x1;18262x3,12644:15872x1;16206x1;12645x4;12774x2;12773x2;12777x2;12775x6;12782x2;12798x2;12790x2;12784x2;12797x2;12783x4,12655:12624x2;12774x4;12777x10;12776x6;12781x6;12631x6;12632x4;12641x30;22198x8;12639x20;22196x12;22385x20;12618x24;12620x16;12619x20;12783x10;22197x4;12636x4;22764x6;22762x6;22763x8;12794x20;12633x4;29203x2,12662:12628x10;12782x16,12753:22384x2,12799:12773x2;12781x2;12639x4;12790x4;19693x2;19694x2;19695x1;12620x2;12783x6;12636x6;12794x8,12800:12777x2;19170x4;12641x6;12640x4;22191x4;12790x8;12618x2;12620x1;12797x8;12783x6;12633x2,12803:12624x4;19043x3;19048x6;22764x2;22762x2;22763x2,12804:12776x4;12781x4,12808:12782x8;22384x20;12798x10,12809:19168x12;22191x10;12796x4,12810:22194x8;22191x12;22383x4;12798x4;12790x8;12784x6;19692x4;17016x2;17015x2;20549x2;12797x4;12796x6;12783x2;22195x4;12794x4,12811:19051x1;12790x1;19057x1,13510:22385x2,13512:22194x1;22383x2,14047:12643x1,15417:22384x10,17010:17014x2;16989x3;19166x6;19167x2;19168x6;20039x3;19164x5;19148x2;17013x4;19170x7;16988x4;19169x5;17015x12;17193x10,17011:17014x2;16989x3;19166x3;19167x5;19168x6;20039x3;19164x3;19148x4;17013x6;19170x4;16988x5;19169x8;17016x12;17193x10,17012:20039x4;19164x4,17203:17193x8,19726:22762x2;22763x1,19774:19690x10;19692x6;19691x8;19693x14;19694x12;19695x10,20520:22384x20;20550x10;20549x6;20551x8,20725:22383x2,21877:28420x1;28421x2,21884:30089x6;23506x2;23508x2;23507x2;28437x20;29204x2;23515x2;23516x3;23514x4;23530x4;23513x4;23520x6;23521x10;33173x2;34378x12;34377x10;23522x10;32571x6;32573x8;31369x12;31371x12;31370x12;30032x10;30031x12,21885:30087x3;30076x2;28440x20;23515x3;23516x5;23514x4;23524x2;23523x4;23539x15;23534x16;23513x6;23525x3;34379x15;30034x10;30033x12;31369x12;31371x12;31370x12,21886:23538x20;23536x18;34379x15;34380x20;23527x6;32403x2;32401x3;32404x4;32402x2;31364x12;31368x12;31367x12,21887:23504x2;23508x2,22202:22194x24;22198x24;22191x36;22196x40;22197x14;22195x14,22203:22194x8;22198x8;22191x15;22196x18,22445:23510x8;23511x12;23509x20;23512x24,22449:23510x2;23511x2;23509x4;23512x4;23526x2,22450:32403x1;32401x1;32404x1;32402x1,22451:30088x6;30087x3;30076x2;30077x6;28434x12;23563x20;28440x20;29204x2;23534x16;34378x12;23526x4;28426x10;32568x6;32570x8,22452:30093x6;30074x4;30086x6;23506x2;23508x3;23507x4;28437x20;28434x12;23530x4;23532x15;23535x22;23527x4;30034x5,22456:28425x20;23563x20;28431x20;23537x15;34378x12;34377x10;32403x2;32401x4;32404x6;32402x4;31364x12;31368x12;31367x12,22457:28425x20;23524x2;23523x4;23535x12;23525x3;28484x10;28441x10;28435x10;23564x10,22573:23528x1;23529x2,22682:22671x4;22669x7;22670x5,22824:23520x2;23521x4;23522x4,22831:23526x4,23445:25843x6;23528x1;28420x1;23493x4;23482x4;23484x4;23491x5;23497x9;23494x6;23498x10;23487x6;23488x8;23490x9;23499x12;23489x10;23515x6;23516x12;23514x8;23513x16;23520x8;23521x10;33173x12;23522x12,23446:23559x1;23502x8;30093x12;30074x8;30089x8;30088x10;30086x10;30087x8;30076x8;30077x6;23503x8;23504x7;23506x6;23508x8;23505x12;23575x1;23507x12;23529x1;28421x1;25844x10;32403x4;32401x8;32404x12;32402x4,23447:28483x6;28437x12;28434x22;25845x4;23554x10;23556x10;23576x1,23448:28425x14;23563x4;28431x12;29204x6;23517x6;23518x8;23530x4;23537x6;23555x10;23542x10;23546x10;23531x10;23540x10;23543x10;32854x12;23544x10;23533x10;23519x8;23526x6;28432x6;32568x14;32570x18;31364x8;31368x8;31367x8,23449:33185x1;25521x1;28483x8;28437x8;28428x14;23563x8;28440x12;23524x3;23523x6;23555x10;23554x10;23542x10;23546x10;23540x10;23543x10;32854x16;23556x10;23541x20;23544x10;23525x4;23520x3;23521x4;33173x8;34377x20;34379x20;23522x6;32571x14;32573x18;31369x8;31371x8;31370x8,23563:23564x1,23564:23565x1,23571:28483x8;28428x10;28434x4;28431x5;23539x2;23555x8;23554x8;23542x8;23546x8;23531x3;23540x6;23543x8;23532x2;32854x6;23556x8;23541x6;23536x3;23544x8;23533x5;34380x6;28438x2;28429x2,23572:23537x1;23539x1;23538x1;23555x2;23554x2;23542x2;23546x2;23531x1;23540x2;23543x2;23532x1;32854x2;23556x4;23535x1;23541x2;23536x1;23544x2;23533x1;23534x1;34377x6;34379x6;28432x8;28426x8;30033x2;28484x10;28441x8;28438x8;31369x1;31371x1;31370x1;28429x8;28435x8;30031x2;23564x10;31364x1;31368x1;31367x1,23573:33185x2;28483x6;28428x6;23563x6;28431x2;28440x6;23510x2;23511x3;23509x4;23539x6;23538x6;23554x4;23532x10;23556x4;23535x8;23541x2;23536x8;23534x8;23512x4;34377x4;34379x4;23527x4;30034x5;30033x4;32571x2;32573x2;30032x5;30031x4;32568x2;32570x2,23793:29204x1,27503:33173x2,28425:28426x1,28426:28427x1,28428:28429x1,28429:28430x1,28431:28432x1,28432:28433x1,28434:28435x1,28435:28436x1,28437:28438x1,28438:28439x1,28440:28441x1,28441:28442x1,28483:28484x1,28484:28485x1,30183:30034x2;28427x5;28436x5;28485x2;28439x5;23565x2;28430x5;30032x2;28442x5;28433x5,32428:32571x4;32573x2;32403x1;32401x2;32404x3;32402x2;32568x4;32570x2,34054:45085x6,34664:34378x6;34380x6,35128:34378x10;34380x8,35622:41611x1;43587x2;43588x2;42727x1;42729x1;41356x1;41351x1;41352x1;43586x3;41346x1;49906x6,35623:42723x1;41354x1;42726x1;41347x1;49902x20,35624:-55628x1;41611x1;41357x1;41345x1;42725x1;41353x1;49907x12;49904x20;49905x12,35625:47592x8;47591x8;47574x12;47575x12;47594x20;47593x20,35627:-55641x1;41611x1;42730x1;41348x1;42728x1;41350x1;44936x4;49903x20,36860:41355x1;43587x2;43588x2;42724x1;41349x1;43586x3;41344x1;49906x6,36913:41181x4;40670x4;41117x4;43860x5;41126x5;41182x6;40669x5;40674x5;-55628x4;-55641x4;43864x8;41127x8;41183x4;40671x8;40672x5;41128x12;43865x12;41184x12;40673x12;40675x12;41245x7;42443x15;41185x15;41113x14;43871x15;41116x13;41129x14;43870x14;41189x14;41186x16;41187x14;41611x4;41190x13;41188x20;41114x14;42723x12;41354x12;41355x12;42500x2;41976x2;41745x2;43587x12;43588x12;41357x12;42724x12;42727x12;42729x12;42730x12;41356x12;41349x12;41351x12;41352x12;41348x12;43586x16;41345x14;41344x14;42725x14;42726x14;42728x14;41346x14;41353x14;41347x14;41350x14;43853x4;41388x4;41394x4;41386x4;41391x4;41387x4;41392x4;41383x6;41257x8;41384x6;42435x6;42508x4;47570x20;47571x20,36916:43854x4;39087x4;39088x4;41974x4;39083x4;40668x4;39084x5;39086x5;41975x5;39085x6;40942x7;40956x8;40957x8;40958x8;40959x8;41240x8;40949x7;41239x8;41242x10;40951x8;40950x7;41241x7;41181x12;40670x6;41117x6;41243x10;40952x12;43860x6;41126x5;41182x8;40669x6;40674x5;40953x12;40943x12;43864x3;41127x3;41183x12;40671x3;40672x6;40955x8;40954x12,36925:47592x2;47591x2,37663:41388x4;41394x3;41386x4;41391x3;41387x4;41392x3;41383x6;41257x8;41384x6;42435x6;42508x3;45085x6;45559x5;45550x5;45551x5;45552x5;45560x5;45561x5;47592x12;47591x12;47570x8;47571x8;47574x8;47575x8;47594x10;47593x10;47589x10;47590x10;47572x8;47573x8;49907x8;49906x8;49903x12;49904x12;49905x8;49902x12,37700:41245x2,37701:40674x1;40672x1;40673x1;41185x2;41189x2;41190x2,37702:41181x2;41182x2;43871x2;41186x1;41187x1;41188x2,37703:41183x1;41184x2,37705:40956x2;40957x2;40958x2;40959x2;41126x1;42443x2;41129x1;43870x1,41163:42500x1;41976x1;41745x1;43853x1;44936x4,41245:47589x4;47590x4,41355:47572x1;47573x1,43102:43587x1;43588x1;43586x1;41388x1;41394x1;41386x1;41391x1;41387x1;41392x1;41383x2;41257x2;41384x2;42435x2;42508x1;45085x2,45087:45559x6;45550x6;45551x6;45552x6;45560x6;45561x6,47556:47592x8;47591x8;47570x4;47571x4;47574x4;47575x4;47594x8;47593x8;47589x8;47590x8;47572x4;47573x4,49908:49907x5;49906x5;49903x8;49904x8;49905x5;49902x8,52186:44505x40",
+	["TradeskillResultMats.Reverse.Blacksmithing.Weaponsmith.Axesmith"]="",
+	["TradeskillResultMats.Reverse.Blacksmithing.Weaponsmith.Basic"]="",
+	["TradeskillResultMats.Reverse.Blacksmithing.Weaponsmith.Hammersmith"]="",
+	["TradeskillResultMats.Reverse.Blacksmithing.Weaponsmith.Swordsmith"]="",
+	["TradeskillResultMats.Reverse.Cooking"]="159:5525x1;7676x1;10841x1;12212x1;13931x1;13933x1,723:724x1,729:733x1,730:733x1,731:733x1,769:2681x1,785:33924x3,1015:1017x2;12209x1,1080:1082x1,1081:1082x1,1179:46691x1;33924x4;17198x1;5526x1,1468:3663x2,2251:3666x2,2452:7676x1,2593:33924x1,2594:34832x1,2596:34832x1;12214x1,2672:2679x1;2680x1,2673:2684x1,2674:2683x1,2675:2682x1,2677:2687x1;2685x2,2678:30816x1;33924x4,2886:2888x1,2924:3662x1,3172:3220x1,3173:6890x1;3220x1,3174:3220x1,3404:4457x1,3667:3664x1;20074x2,3685:3665x1,3712:3729x1,3730:3726x1,3731:3727x1;3728x2,3821:10841x1,4402:12217x1,4603:6887x1,4655:6038x1,5051:5478x1,5465:5472x1,5466:5473x1,5467:5474x1,5468:5476x1,5469:5477x1,5470:5479x1,5471:5480x1,5503:5525x1;5526x1,5504:5527x1,6289:4592x1,6291:6290x1,6303:787x1,6308:4593x1,6317:6316x1,6361:5095x1,6362:4594x1,6522:6657x1,6889:17197x1;6888x1;33924x8;17198x1,7974:16766x2;33004x1,8150:21023x1,8365:8364x1,9061:21023x1,12037:12213x1;12214x1;12217x1,12184:12210x1,12202:12212x1,12203:13851x1,12204:12215x2,12205:17222x2,12206:12216x1,12207:12218x1,12208:18045x1,12223:12224x1,12808:43492x1,13754:13927x1,13755:13928x1,13756:13929x1,13757:33866x1,13758:13930x1,13759:13931x1,13760:13932x1,13888:13933x1,13889:13935x1,13893:13934x1,17194:17197x1;17198x1;34411x1,17196:17198x1;34411x1,18255:18254x1,20424:20452x1,21024:21023x1,21071:21072x1,21153:21217x1,22577:43491x1,22644:22645x1,23676:24105x1,24477:30155x2,27422:27661x1;33048x1,27425:27662x1,27429:27663x1,27435:27664x1,27437:27665x1,27438:27666x1,27439:27667x1,27515:33052x1,27516:33053x1,27668:27635x1,27669:27636x1,27671:27651x1;33874x1,27674:27655x1,27676:27656x1,27677:27657x1,27678:33866x1;27658x1,27681:27659x1,27682:33872x1;27660x1,30816:44837x1;44837x1,30817:46691x1;30816x1;33924x8;43490x2,31670:31672x1,31671:31673x1,33823:33867x1,33824:33825x1,34412:34411x1,34736:43488x1;34748x1;34753x1;34754x2;43005x1;43478x2,35562:35563x1;35565x1,35948:39520x1,35949:39520x2,36782:43491x1;43268x2,41800:43478x2,41801:42998x1,41802:42942x1;34769x1,41803:34759x1;43478x2,41805:45932x3,41806:34762x1;34766x1;43015x2,41807:42999x1;43000x1,41808:34760x1;42996x3,41809:34763x1;34767x1;43480x2;43015x2,41810:43492x1;34765x1;42993x1,41812:34761x1,41813:34764x1;34768x1;43480x2;43015x2,43007:44953x1;42999x1;42997x1;43004x1;42998x1;43000x1;34767x1;42995x1;34769x1;34754x1;34758x1;34766x1;42994x1;42996x1;43005x1;34756x1;34768x1;42993x1;34755x1;43001x1;34757x1;43478x1;43480x1;43015x1,43009:34749x1;34753x1;34755x2;43001x1,43010:34750x1;34753x1;42994x1;34756x2,43011:34751x1;44953x2;42997x1;34757x1,43012:34752x1;42995x1;34758x2;42994x1;43480x2,43013:34753x2;43004x2;34747x1,43501:43490x1,44834:44838x1;44838x1,44835:44837x1;44837x1;44839x1;44839x1;44838x1;44838x1,44853:44836x1;44836x1;44840x1;44840x1;44839x1;44839x1;44838x2;44838x2,44854:44840x1,44855:44839x1,46784:44836x1,46793:44840x1,46796:44836x1,46797:44839x1",
+	["TradeskillResultMats.Reverse.Enchanting"]="2772:-13612x3,3356:-13617x3,3371:20744x1,3372:20745x1;20746x1,3819:-21931x2,3829:-13933x1,4470:11287x1;11288x1,4625:20750x2;20749x3,5500:11130x1,5637:-13653x2,6037:-13841x3,6048:-13522x1,6217:6218x1,6218:6339x1,6338:6339x1,6339:11130x1,6370:-13620x3,6371:-7861x1,7067:-13655x1,7068:-13657x1,7075:-20014x1,7076:-23799x4,7077:-20014x1,7078:11811x3;-13898x1;-25081x4;-25078x4,7079:-20014x1,7080:-20029x1;-23801x2;-25074x4;-22750x4,7081:-20014x1,7082:-20029x1;-27837x4;-23800x4,7392:-13698x3,7909:-13890x1,7971:11145x1,7972:-20014x1,8153:-13948x2;-20023x2,8170:12810x1,8831:20747x2;20748x3,8838:-13868x3,8925:20747x1;20750x1,9224:-13915x1,10938:6218x1;-7428x1;11287x1;-7443x1;-7426x1;-7454x2;-7766x2;-7748x2;-7776x1,10939:11288x1;-7779x1;-7776x1;-7771x1;-7786x2;-7788x1;6339x3;-7793x3,10940:6218x1;-7418x1;-7428x1;-7420x1;-7426x2;20744x2;-7454x1;-7457x3;-7748x2;-7779x2;-7782x5;-7771x3;-7786x4;-7788x2;6339x6;-7745x4;-13378x2;-13380x6;-13421x6;-13464x1;-7857x4;-7867x6;-7863x8;-13485x4;-13538x2,10978:-7788x1;-7745x1;-13421x1;-13464x1,10998:-13378x1;-13380x1;-13419x1;-13464x1;-7859x2;-7857x1;-7867x2;-7861x1;-13485x2;-13607x2,11082:-13522x1;-13538x1;-13607x1;11130x2;-13622x2;-13626x1,11083:-13501x2;-13536x2;-13503x2;-13529x3;-13620x1;-13617x1;-13612x1;20745x3;11130x2;-13626x1;11289x1;-13635x3;-13631x1;-13637x1;-13640x3;-13644x4;-13646x2;-13648x6,11084:-13538x1;-13503x1;-13529x1;-13626x1,11128:11130x1,11130:11145x1,11134:11289x1;-13631x1;-13637x1;-13642x1;-13646x1;-13657x1;-13653x1;-13655x1;-13687x2,11135:11290x1;-13659x1;-13663x1;-13687x1;-21931x3;-13689x2;-13693x2;11145x2;-13700x2,11137:11290x1;-13661x1;-13659x1;-21931x3;-13689x2;20746x3;11145x2;-13695x4;-13700x2;-13698x1;-13746x3;-13815x1;-13817x5;-13836x5;-13841x3;-13846x1;-13858x6;-63746x4;-13868x3;-13887x3,11138:-13635x1;-13653x1;-13655x1,11139:-21931x1;-13689x1;-13693x1;-13695x1;-13700x1,11144:11145x1,11145:16207x1,11174:-13794x1;-13822x2;-13815x1;-13846x3;-63746x1;-13890x1;-13882x2;-13887x2;-13917x2,11175:-13917x1;-13905x1;-13935x2;-13931x1;-13939x1;-13941x2;-13943x2,11176:-13905x2;-13915x2;-13931x2;-13937x2;-13939x2;-13945x5;-13941x3;12655x3;20747x3;-13947x3;-20020x5;-20017x5;-20009x4,11177:-13890x1;-13915x1;-13898x4,11178:-13933x1;-13937x2;-13941x1;-13943x2;-13948x2;-13947x2,11291:11289x1;11290x1,12359:12655x1,12803:-25082x4;-20032x4,12808:-20033x4;-25073x6;-20032x4,12811:-25079x1;-20034x2,13444:-27948x4,13446:-27948x4;-27957x4,13467:-20029x1,13926:16207x1;-22749x2,14343:11811x3;-20026x2;-20029x4,14344:16207x2;-27837x8;-23800x4;-23799x4;-20030x4;-20033x4;20748x2;20749x2;22461x6;-20036x2;-20035x2;-23802x2;-20025x2;-25078x10;-25074x10;-25079x8;-25073x10;-20034x4;-22750x4;-20032x4;-23804x6;-23803x6;-22749x4;-20031x2;-27957x2,16202:12810x1;-20008x3;-20009x3;-20012x2;-23801x4;-20023x2;-20013x4;-23802x4,16203:-20024x2;-20016x1;16207x4;-20010x2;22461x4;-20036x4;-20035x4;-22750x4;-23804x5;-23803x4;-22749x6;-20031x4,16204:-20012x3;20750x3;-20016x4;-20015x8;16207x10;-23801x4;-20028x8;-20030x10;-20010x6;-20013x4;-23802x4;-20011x10;-20025x6;-23804x20;-23803x12,16206:16207x1,16207:22461x1,17034:20744x1;20745x2,18256:20748x1;20749x1;22521x1;22522x1,20725:22448x1,21884:-27962x4;-27917x6;-27981x6,21885:-27962x4;-46578x2;-34010x8;-28004x2;-27917x6;-27982x6,21886:-25072x8;-27911x4;-33999x6;-34010x8,22445:-34002x6;-33991x2;-27948x6;-27899x6;-33993x4;22521x3;-34004x4;-27961x8;-33996x8;-27944x6;-27905x6;-27957x8;-27950x12;-27906x10;-34003x6;-34009x15;22522x3;-27951x8;-33995x12;-27946x12;-27967x6;-27960x4;-33992x10;-42620x8;-27971x40;-27914x20;-27972x20;-27977x20;-33994x2;-27920x6;-28003x20;-46594x8;-27926x5;22463x6;-42974x30;-27984x40,22446:-25086x3;-25081x3;-25082x3;-25083x3;-25084x2;-25080x3;-25072x2;-34004x1;-33990x2;-27911x4;-34003x2;-27945x4;-27962x4;-27913x8;-27951x8;-33995x1;-27946x4;-27968x10;-27967x6;-27960x4;-33992x4;-42620x4;22462x8;-27914x10;-33999x6;-27975x8;-27972x5;-27977x6;-33997x6;-33994x8;-27924x2;-28003x10;-46594x4;-27926x3;-27981x8;22463x6;-47051x8;-42974x6;-27984x8;-27982x8,22447:-33991x2;-34001x3;-33993x1;-27905x6;-44383x4,22448:-25086x3;-25081x3;-25082x2;-25083x3;-25084x4;-25078x2;-25074x3;-25079x3;-25073x3;-25080x3;-25072x4;-27906x2;22449x3,22449:22460x4;-44383x1;22448x1;-27968x2;-27967x2;-27960x4;-42620x6;22462x8;-27971x4;-27914x1;-34005x4;-34006x4;-33999x6;-34010x8;-27975x8;-27972x4;-27977x8;-34008x8;-34007x8;-33997x6;-33994x2;-27924x2;-27920x2;-27947x2;-28004x8;-28003x12;-27917x6;-27954x4;-27926x2;-27981x10;-27927x2;-42974x10;-27984x10;-27982x10,22450:22459x2;-28004x8;-27954x2;22449x1;-27981x12;-27927x2;-42974x6;-27984x6;-27982x12,22451:-25080x2;-34004x1;-27962x4;-42620x2;-34007x8,22452:-25086x8;-27944x10;-27962x4;-27946x10;-34008x8;-47051x8,22456:-25084x8;-46578x2;-34006x8;-27982x6,22457:-34003x2;-34005x8;-33997x6,22461:22462x1,22462:22463x1,22463:44452x1,22572:-27947x1,22573:-27947x1,22574:-27947x1,22578:-27947x1,22791:22521x1,22792:22522x1,22794:-25083x2,22824:-42974x3,23427:-46594x4,23571:22462x1;-27981x1,25843:22461x1,25844:22462x1,25845:22463x1,34052:-44510x4;-44588x2;-44529x1;-44633x4;-60663x2;44452x8;-60668x1;-44524x4;-44576x1;-44595x6;-44621x6;-44591x2;-44625x2;-60714x6;-60707x2;-60763x4;-47901x2;-60767x1;-60692x4;-59619x4;-59621x4;-59625x6;-62948x6,34054:-27958x6;-60609x6;-60616x6;-44592x4;-44623x4;-44555x10;-71692x1;-60606x4;-60621x2;-44528x3;-60623x8;-62959x12;-44582x15;-44635x8;-60653x12;-44629x10;-44645x8;-44636x8;-59636x8;-44500x9;-44616x16;-47766x10;-44596x20;-44483x6;-44494x15;-44590x8;-44510x16;-44593x16;-44584x8;-44484x12;-44630x6;-44508x10;-44589x16;-44513x6;-44598x14;-44509x4;-60663x8;-44489x6;44452x40;-47900x20;-60668x20;-60691x40;-44595x6;-44575x24;-47898x16;-47672x15;-44591x8;-60714x30;-60707x10;-47901x10;-60767x6;-44631x12;-59619x20;-59621x12;-62948x40;-64579x40,34055:-44506x1;-62959x2;-44492x3;-44629x2;-44645x1;-44636x1;-59636x1;-44616x3;-44556x4;-44483x3;-44494x1;-44593x4;-44584x2;-44630x2;-44508x1;-44488x4;-44588x2;-44589x4;-44529x4;-44513x1;-44598x3;-44509x4;-60663x2;44452x12;-47900x4;-60668x4;-60691x6;-44575x6;-47898x4;-47672x2;-44621x2;-60707x2;-60763x4;-47901x2;-60767x6;-47899x6;-59619x4;-59621x4;-59625x6;-64441x8;-62256x4,34056:-44592x1;-44623x2;-60606x4;-60621x4;-44528x3;-44635x4;-44590x2,34057:-60691x6;-60714x6;-60707x4;-60692x4;-44631x1;-47899x1;-59619x6;-59621x10;-59625x6;-69412x1;-62948x6;-64441x4;-64579x4;-62256x1,35622:-44556x1,35623:-44633x4,35624:-47766x1;-44596x1;-44489x6;-44625x8,35625:-44590x1;-44576x4,35627:-44494x1,36860:-44483x1;-44524x4,36918:-64579x1,37663:-64441x1,37705:-60623x1,41163:-44591x2,41745:44452x1,44958:-71692x3",
+	["TradeskillResultMats.Reverse.Engineering.Basic"]="159:4367x1;4398x1;18594x1,774:4405x1;4401x2;7506x1;10506x4,814:7506x2;7148x2,818:4368x2;7506x1;10506x4,1206:4406x1;4372x3;5507x1;4381x1;4385x2,1210:4373x2;7148x2,1529:4388x1;4407x1;4397x2;10504x3,1705:4383x2;4397x2,2318:4368x6;4367x1,2319:4369x2;4373x4;21558x1;21559x1;21557x1;4381x2;4382x1;4385x4;4403x4,2589:4358x1;4360x1;4363x2;4365x1,2592:4366x1;6714x1;4374x1;4378x1;4375x1;4382x1;4384x2,2605:23771x1,2835:4357x1,2836:4364x1,2838:4377x1,2840:4359x1;4360x1;6219x6;4361x2;4363x1;4401x1;4370x3,2841:4366x1;6712x1;4371x2;4374x2;4375x2;7506x6;4380x3;4382x2;6533x2,2842:4404x1;4379x3,2880:4361x1;6712x1;4371x1,2901:40772x1,3575:4387x2;7148x6;4389x1;4390x1;4394x3;4395x2,3577:10558x1,3829:4386x1;17716x1;18634x2,3859:10498x4,3860:17716x8;10559x3;11590x1;10560x1;10508x4;10561x3;10510x6;10506x8;10576x4;22728x3,3864:10499x2;4407x1;4393x2;4397x2;4396x1;10500x2;10510x2,4234:9312x1;9313x1;9318x1;21589x1;21590x1;21592x1;4391x4;10499x6;4392x4;4393x6;4398x2;10500x4,4304:10546x2;10501x4;21571x1;21574x1;21576x1;10502x4;10503x6;10504x8,4306:4388x2;7148x2;10507x1;4390x1;4852x1,4338:18588x2;11590x1;10560x1,4339:10518x4,4342:25886x1,4357:4358x2;4360x2,4359:4360x1;4362x1;4405x1;4363x2;4401x1;4366x2;6712x2;4369x4;4372x2,4361:4362x1;4405x1;4369x2,4363:4401x1;4366x1;4367x1;5507x1,4364:4365x3;6714x4;4367x2;4370x4;4374x4;21558x1;21559x1;21557x1;6533x1,4368:4385x1,4371:4406x1;4372x2;4379x2;5507x2;4381x1;4383x3;4388x1;4403x4;4407x1,4375:4376x1;7506x1;4379x2;5507x2;4381x2;4383x3;4384x1;4386x1;4388x3;7148x2,4377:4378x2;4380x2;9312x1;9313x1;9318x1;4384x2;4403x4;21589x1;21590x1;21592x1;4390x1;4852x1;4394x3;4395x3,4382:4384x1;4391x1;4392x1;4396x1,4385:10500x1,4387:4403x1;4391x2;4392x1;4396x2,4389:4391x2;4392x1;17716x4;4395x1;4397x4;4396x2,4399:4362x1;4369x1,4400:4372x1;4379x1;4383x1;10508x1;10510x1;23742x1,4402:4376x1,4404:4370x1;4374x1;4380x1;4394x1,4470:20475x4,4611:4852x1,5956:40772x1,6037:10506x1;10548x2;45631x6;10576x4;18631x2;16023x1,6530:6533x1,7005:40772x1,7067:18631x2,7068:10500x2;10508x2,7069:18631x1,7076:18168x8;18283x2;16007x2,7077:10576x2,7078:45631x6;18634x4;7191x2;16007x2,7079:21277x2,7080:18638x6,7082:18168x8,7191:7148x1;4397x1;18232x2,7909:10546x2;10501x2;10504x3,7910:10502x2;10503x2;10548x1;10576x1;15999x4;18638x4;19999x2,7912:10505x2,8150:19026x1,8153:10504x2,8170:15996x1;21714x1;21716x1;21718x1;18594x2;16004x4;16023x2,9060:21569x1,9061:21569x1;21570x1,10285:10518x2,10286:10504x2,10500:16008x1,10502:15999x1,10505:10507x1;18588x1;4398x2;11590x1;10560x1;10514x1;21571x1;21574x1;21576x1;10518x4;10562x2,10546:15995x1;16004x2,10558:4389x1;15846x3;21277x1;15996x1;22728x1;16009x1;23767x1,10559:10508x1;10546x1;10510x2;10548x1;15995x2,10560:10508x1;10514x1;10510x1;10518x1;21569x1;10562x1,10561:10514x1;21569x1;10506x1;10562x2;15846x1;15995x2;21570x1;16023x1,10576:16022x1,10592:10501x1,11291:34060x8,11371:16004x6;16005x1;18638x4;18283x6;18639x8,12359:15846x6;15995x4;15993x3;15994x3;16000x6;16040x3;18232x16,12360:16006x1;18282x6;18168x6;16007x10,12361:18634x2;16004x2,12364:16008x2,12365:15992x2,12799:16004x2;16009x1;18639x2,12800:18638x2;19998x1;16007x2;18639x2,12803:15996x1;18168x12;18639x6,12804:19999x6;19998x6,12808:18639x4,12810:15999x2;16008x4;19999x4;16007x2,13467:18634x4,14047:18641x3;19026x2;15993x3;15994x1;15999x8;18637x2;16023x4;16005x3;16040x1,14227:16006x1,15407:21277x1,15992:18641x2;19026x2;15993x3;21714x1;21716x1;21718x1;18594x3;16005x3,15994:45631x4;21277x4;18634x6;15995x2;15993x1;15996x4;18594x2;16023x2;16005x2;16009x1,16000:18637x2;16004x2;16023x1;18282x2;18283x1;16007x2,16006:16009x2;18282x2;18168x2;16022x4;18283x4;16040x1;23821x1,17010:18282x4,17011:18282x2;18283x2,17202:17716x4,18232:49040x2,18631:21277x2;18634x2;18637x1;18638x3;18639x4,19726:19999x4;19998x6,20816:7191x3,21840:35581x8,21877:32423x2;23771x1;25886x1;23768x1,21884:23786x1;32756x12;34847x4;34354x10,21885:32423x1;35182x6;35184x5;35183x4,21886:23821x4;35182x12;35185x8;35181x8;35184x5,21887:33092x2;33093x2,21929:23761x2,22445:23758x8;23761x8,22448:23762x2,22449:23763x2,22451:32756x12;34355x2;34356x12,22452:23784x1;35185x8,22456:34847x4;34353x12,22457:34847x4;35185x8;35181x8;35184x5;35183x8,22573:23781x2,22574:23781x1,22829:33092x20,22832:33093x20,23077:23758x2,23079:23762x2,23112:23764x2,23436:32478x2;32461x2;32476x2,23437:32480x2;32473x2,23438:32494x2;23766x2,23439:32475x2;32495x2;23748x2,23440:32472x2;32479x2;23765x2,23441:32474x2;23763x2,23445:23783x1;23782x3;23774x5,23446:23784x4;23737x4;23764x8;34113x8;20475x1,23448:23787x2,23449:23786x3;23762x2;23763x2;23765x4;32756x20;23748x12,23571:34357x1;34355x2,23572:32478x1;32494x1;32461x1;32476x1;32472x1;32475x1;32480x1;32495x1;32474x1;32473x1;32479x1;32756x1;34847x4;34357x4;35182x4;35185x4;34355x4;34354x4;35181x4;35184x4;34353x4;34356x4;35183x4,23573:23785x3,23781:23736x1;34060x20;23737x1;32423x2;23771x1;25886x1;23768x1;23819x2,23782:23736x1;34060x2;23821x2;23742x3;23774x1;23767x2;33092x1;32413x1;33093x1;23819x1;23746x3,23783:23736x2;34060x20;23821x2;23742x6;23774x2;23767x2;23737x2;33092x1;32413x1;33093x1;23819x1;23746x4;23747x4;34113x8;23748x4;20475x2,23784:23767x1;23746x2;34061x4,23785:32478x2;32494x2;32461x2;32476x2;32472x2;32475x2;32480x2;32495x2;32474x2;32473x2;32479x2;23824x2;35581x2;23747x1;23765x1;32756x1;23748x2;23766x2,23786:32478x1;32494x1;32461x1;32476x1;32472x1;32475x1;32480x1;32495x1;32474x1;32473x1;32479x1;23824x2;35581x2;34113x1;34061x8,23787:32478x4;32494x4;32461x4;32476x4;32472x4;32475x4;32480x4;32495x4;32474x4;32473x4;32479x4;23824x4;35581x4;23747x4;32756x4;34061x8;23766x6,23793:23758x4;23761x4;23762x4;32478x6;32494x6;32461x6;32476x6;32472x6;32475x6;32480x6;32495x6;32474x6;32473x6;32479x6;23824x8;23763x4,32423:32413x1,32461:34354x1,32472:35185x1,32473:34357x1,32474:34356x1,32475:35184x1,32476:34355x1,32478:34353x1,32479:35183x1,32480:35182x1,32494:34847x1,32495:35181x1,33470:40536x1;-55002x12;-63765x12,33568:44742x2;44741x2;44740x2;41112x2,34113:49040x10,34249:34061x1,35128:34357x2,35622:41121x2;48933x2;42551x4;41168x15,35623:40768x8;41121x2;48933x2;42555x4;42550x4;41168x15,35624:-63770x2;42549x4;44949x4,35625:42554x4,35627:44742x1;44741x1;44740x1;41112x1;48933x2;42553x4;44504x12,36860:48933x2;42552x4;44504x12,36913:-54998x6;-54999x6;-63770x4;39688x10;44951x5;23775x8;-67839x8;47828x6;37567x12;42546x12;44742x8;44741x8;44740x8;41112x8;40768x8;41121x8;41167x10;40772x10;41168x20;40769x10,36916:39681x2;39690x3;40893x5;40892x5;39682x4;-54793x8;39683x8,36918:42553x2;42550x2,36920:41146x1,36921:41146x1;42555x2,36922:49040x2,36924:42549x2,36927:41167x2;42551x2,36930:42552x2,36933:42554x2;44949x2,37663:49040x8;41508x12;44413x12,37700:-54999x4,37701:39682x1,37702:-54998x4;47828x3,37705:39690x1;39683x1;47828x3;42546x2,38425:42549x4;42552x4;42555x4;42554x4;42551x4;44949x4;42553x4;42550x4,39681:40771x2;44739x2;-55016x6;23775x4;37567x2;40865x8;40767x2;49040x30;41508x40;44413x40,39682:-55002x1;-63765x1;-54736x4;40865x2;40767x4,39683:44739x1;39688x2;-67839x1;40865x2;40767x2;41146x1,39684:39688x1,39690:40771x1;40536x3;-54793x8;-55016x6;44951x1,40533:39688x1;41168x1;44504x1,40769:49040x20,41146:44504x3,41163:23775x8;41121x2;48933x8;42549x8;42552x8;42555x8;42554x8;42551x8;44949x8;42553x8;42550x8;41168x10;44504x10,43102:42549x1;42552x1;42555x1;42554x1;42551x1;44949x1;42553x1;42550x1;41168x1;44504x1,44128:41508x2;44413x2,44499:41508x1;44413x1,44500:41508x1;44413x1,44501:41508x8;44413x8",
+	["TradeskillResultMats.Reverse.Engineering.Gnomish"]="1529:10716x2;10725x2,3860:11826x2;10716x4;10720x4;10721x4;10725x6;10726x10;18986x12,3864:18660x1,4234:10724x4;10545x2,4337:10720x4,4338:10726x4,4389:11826x2;10724x4,6037:11826x1;10721x2;10725x6;10726x4,7075:11826x1;18986x4,7079:18986x2,7191:11826x1;18645x1,7387:10721x1,7909:10721x2;18986x4,7910:10726x2,7972:10645x4,8151:10716x4;10545x2,9060:10725x2;10645x1;18986x1,10026:10724x1,10285:10720x2,10500:10545x1,10505:10720x2;10724x8,10558:10545x2;10725x1;10726x1;18660x1,10559:10716x1;10720x1;10724x2;10545x1;10645x2,10560:10716x1;10721x1;10645x1;18660x1,10561:10725x1;18660x1,10647:10713x1,10648:10713x1,12359:18645x4,12808:10645x1,15994:18660x2,16006:23825x2,18631:18986x2,21884:23829x12;23828x8,21885:23828x8,21886:23825x10,22445:23835x10,22449:23835x2,22451:30544x2;23828x8,22452:23829x12;23828x8,22456:23825x10;23829x12,23436:23829x2,23437:23828x2,23781:23841x3,23782:23841x1,23783:23841x2;30544x4,23784:23841x1;30544x1,23785:23835x2,23786:23835x2;30544x1;23825x4,23787:30544x2,23793:23825x8;23829x8,24271:23828x4,34052:40895x2,39681:40895x2,41163:40895x6",
+	["TradeskillResultMats.Reverse.Engineering.Goblin"]="3860:10577x1;11825x6;10543x8;10542x8;10577x4;10727x6;10588x4;18984x10,3864:10543x1;10542x1,4234:7189x4,4338:10646x1,4394:11825x1,4407:10587x2,6037:10587x6;10727x6,7067:10542x4,7068:10543x4;10577x1,7077:11825x1;18984x4,7191:11825x1;18587x2,7910:18984x2;18587x2,9061:7189x2;10586x1;10727x4;10588x4,10026:7189x1,10505:10577x3;10646x3;10577x5;10587x4,10507:10586x6,10543:10588x1,10558:10577x1,10559:7189x2;10577x2;10727x2,10560:7189x1;10646x1;10587x1;10586x1;10727x1;10588x1,10561:10587x2;10586x1,10577:10577x1,10586:18984x1,10647:10644x1,10648:10644x1,14227:18587x2,15994:18587x2,16006:23836x2,17020:23826x3,18631:18984x1;18587x2,21877:23827x4,21884:30542x2;23836x6;23839x12,22451:23838x12,22452:23836x6;23839x12,22457:23827x1;23838x12,23573:23839x8,23781:23826x6;23827x4,23782:23826x3,23783:23826x2;30542x4,23784:30542x1,23785:23836x2,23786:30542x1;23836x1,23787:23836x2,23826:30542x2,24272:23838x4,36913:42641x1,39690:42641x1",
+	["TradeskillResultMats.Reverse.First Aid"]="1288:6453x1,1475:6452x1,2589:1251x1;2581x2,2592:3530x1;3531x2,4306:6450x1;6451x2,4338:8544x1;8545x2,14047:14529x1;14530x2,19441:19440x1,21877:21990x1;21991x2,33470:34721x1;34722x2",
+	["TradeskillResultMats.Reverse.Inscription"]="10648:43376x1;43391x1;43380x1;43360x1;43344x1;43381x1;43334x1;43392x1;43674x1;43393x1;43351x1;43369x1;43385x1;43372x1;43388x1;43370x1;43355x1;43378x1;41106x1;42961x1;42398x1;41530x1;42461x1;43423x1;42735x1;40914x1;42900x1;42962x1;42400x1;41092x1;42458x1;41532x1;43417x1;43655x10;43654x10;44142x1;42737x1;42908x1;40923x1;41108x1;42964x1;42402x1;42465x1;41536x1;43427x1;40919x1;42910x1;42738x1;41100x1;4422x2;42966x1;42411x1;4424x2;41540x1;42467x1;4419x2;43422x1;40909x1;4426x2;42897x1;42746x1;4425x2;43657x10;43656x10;44161x1;64493x1;41104x1;42415x1;41547x1;42970x1;43424x1;42473x1;43850x1;42903x1;40902x1;44314x1;63481x1;45793x1;45746x1;45733x1;45747x1;45797x1,21886:44317x3,35625:45849x2;44318x3,35627:45854x3,37101:955x1;1181x1;1180x1;3012x2;954x2,39151:37101x1;39469x2,39334:39774x2,39338:43116x2,39339:43118x2,39340:43120x2,39341:43122x2,39342:43124x2,39343:43126x2,39354:955x1;1181x1;1180x1;3012x1;954x1;37118x1;38682x2;2290x1;1712x1;1711x1;43339x1;43395x1;43396x1;43340x1;43379x1;43359x1;43390x1;43342x1;43371x1;43366x1;43367x1;43397x1;43350x1;43343x1;43338x1;43356x1;43364x1;43361x1;43335x1;43332x1;43399x1;43316x1;43365x1;43398x1;43725x1;43377x1;43373x1;43386x1;43368x1;43331x1;43389x1;-61288x2;2289x1;42956x1;41096x1;42741x1;42907x1;42408x1;40913x1;1477x1;42455x1;41531x1;43413x1;40922x1;41095x1;40897x1;42743x1;42912x1;42960x1;42462x1;43418x1;41537x1;42410x1;42898x1;40924x1;48720x1;43515x10;37168x1;67485x1;67487x1;67483x1;67486x1;67482x1;67484x1;45785x1;45735x1;45734x1;45789x1;45778x1,39469:37118x1;38682x1;-61288x1,39501:43539x1;43671x1;43673x1;43672x1;41099x1;10307x2;42972x1;42416x1;10306x2;41533x1;42466x1;10308x2;40916x1;10310x2;42904x1;42744x1;10309x2;43661x10;43660x10;44163x1;41098x1;42397x1;42973x1;41535x1;43414x1;42470x1;27502x2;45775x1;45622x1;45768x1;45760x1;45776x1;27501x2;42905x1;40901x1;27499x2;43536x1;41103x1;27503x2;42399x1;43543x1;27498x2;42468x1;41541x1;45804x1;44316x1;43664x10;43663x10;43546x1;43416x1;43541x1;42974x1;33461x2;33460x2;41527x1;43548x1;41105x1;33457x2;42963x1;33462x2;33458x2;45623x1;45740x1,39502:43535x1;43400x1;43544x1;44920x1;49084x1;43374x1;43394x1;44923x1;44922x1;50045x1;43553x1;40903x1;43825x1;44955x1;42401x1;42911x1;43826x1;43428x1;42471x1;43667x10;43666x10;44317x1;43551x1;41542x1;42736x1;41094x1;42955x1;43827x1;43432x1;43554x1;44315x1;40896x1;42906x1;42453x1;43549x1;42406x1;37093x2;45854x10;45849x10;37097x2;37091x2;43465x2;43463x2;50077x1;44928x1;42745x1;42412x1;41539x1;43552x1;42909x1;41102x1;41524x1;42954x1;43533x1;42456x1;42902x1;42957x1;43412x1;41517x1;41518x1;43537x1;42396x1;42901x1;42753x1;42454x1;42958x1;43868x1;42959x1;43542x1;42457x1;43415x1;42754x1;41552x1;42459x1;42460x1;41529x1;42739x1;41101x1;42742x1;44684x1;41538x1;41097x1;41534x1;43534x1;42967x1;43867x1;42463x1;40920x1;42464x1;40908x1;43419x1;42748x1;42971x1;42915x1;40915x1;41109x1;42403x1;40900x1;42404x1;42751x1;43421x1;43547x1;42407x1;42409x1;42968x1;42405x1;40912x1;43430x1;42965x1;43550x1;42969x1;41110x1;43869x1;42414x1;43425x1;41526x1;42913x1;40899x1;42417x1;40921x1;42914x1;40906x1;41107x1;42899x1;42472x1;43431x1;42917x1;-61177x5;42752x1;37094x2;44210x10;38322x10;44318x1;37098x2;37092x2;43466x2;43464x2;45601x1;49632x5;63539x1;45738x1;45741x1;45790x1;45781x1;45625x1;45769x1;45799x1;45736x1;45782x1;45753x1;45758x1;45745x1;45731x1;45766x1;45771x1;45755x1;45742x1;45779x1;45777x1;45806x1;45800x1;45794x1;45732x1;45762x1;45780x1;45739x1;45756x1;45772x1;45604x1;45764x1;45783x1;45744x1;45792x1;45737x1;45795x1;45757x1;45603x1;45743x1;45770x1;45767x1;45761x1;45602x1,39774:2290x1;1712x1;1711x1;43339x3;43395x3;43396x3;43340x3;43379x3;43359x3;43390x3;43342x3;43371x3;43366x3;43367x3;43397x3;43350x3;43343x3;43338x3;43356x3;43364x3;43361x3;43335x3;43332x3;43399x3;64670x1;2289x1;42956x3;41096x3;42741x3;42907x3;42408x3;40913x3;1477x1;42455x3;41531x3;43413x3;40922x3;41095x3;40897x3;42743x3;42912x3;42960x3;42462x3;43418x3;41537x3;42410x3;48720x3;43515x2;37168x1;45785x3;45735x3;45778x3,43102:44210x1;38322x1,43103:43115x1,43104:43117x1,43105:43119x1,43106:43121x1,43107:43123x1,43108:43125x1,43109:43127x2,43115:43515x5;37168x1,43116:43316x3;43365x3;43398x3;43725x3;43377x3;43373x3;43386x3;43368x3;43331x3;43389x3;43376x3;43391x3;43380x3;43360x3;43344x3;42898x3;40924x3;41106x3;42961x3;42398x3;41530x3;42461x3;43423x3;42735x3;40914x3;42900x3;42962x3;67485x3;42400x3;41092x3;67487x3;42458x3;41532x3;43417x3;43655x2;43654x2;44142x1;42737x3;42908x3;40923x3;41108x3;42964x3;42402x3;42465x3;41536x3;43427x3;45747x3;45734x3;45797x3;45789x3,43117:43655x5;43654x5;44142x2,43118:43381x3;43334x3;43392x3;43674x3;43393x3;43351x3;43369x3;43385x3;43372x3;43388x3;43370x3;67483x3;67486x3;40919x3;42910x3;42738x3;41100x3;4422x1;42966x3;42411x3;4424x1;41540x3;42467x3;4419x1;43422x3;40909x3;4426x1;42897x3;42746x3;4425x1;43657x2;43656x2;44161x1;64493x3;41104x3;42415x3;41547x3;42970x3;43424x3;42473x3;45733x3,43119:43657x5;43656x5;44161x2,43120:43355x3;43378x3;43850x2;42903x3;40902x3;44314x1;41099x3;10307x1;42972x3;42416x3;10306x1;41533x3;42466x3;10308x1;40916x3;10310x1;42904x3;42744x3;10309x1;43661x2;43660x2;44163x1;41098x3;42397x3;42973x3;41535x3;43414x3;42470x3;45623x3;45793x3;45746x3;45740x3,43121:43661x5;43660x5;44163x2,43122:67482x3;27502x1;45775x3;45622x3;45768x3;45760x3;45776x3;27501x1;42905x3;40901x3;27499x1;43536x3;41103x3;27503x1;42399x3;43543x3;27498x1;42468x3;41541x3;45804x3;44316x2;43664x4;43663x4;43546x3;43416x3;43541x3;42974x3;33461x1;33460x1,43123:44316x5;43664x8;43663x8,43124:43539x3;43671x3;43673x3;43672x3;43535x3;43400x3;43544x3;50045x3;41527x3;43548x3;41105x3;33457x1;42963x3;43553x3;33462x1;33458x1;40903x3;43825x3;44955x3;42401x3;42911x3;43826x3;43428x3;42471x3;43667x3;43666x3;44317x1;67484x3;43551x3;41542x3;42736x3;41094x3;42955x3;43827x3;43432x3;43554x3;40896x3;42906x3;42453x3;43549x3;42406x3;45601x3;45738x3;45741x3;45790x3;45781x3;45625x3;45769x3;45799x3;45736x3;45753x3;45758x3;45731x3;45771x3;45755x3;45742x3;45779x3;45806x3;45800x3;45762x3;45780x3;45756x3;45772x3;45764x3;45792x3;45737x3;45795x3;45743x3;45770x3;45761x3;45602x3,43125:43667x6;43666x6;44317x3,43126:44920x3;49084x3;43374x3;43394x3;44923x3;44922x3;44315x1;37093x1;45854x5;45849x5;37097x1;37091x1;43465x1;43463x1;50077x3;44928x3;42745x3;42412x3;41539x3;43552x3;42909x3;41102x3;41524x3;42954x3;43533x3;42456x3;42902x3;42957x3;43412x3;41517x3;41518x3;43537x3;42396x3;42901x3;42753x3;42454x3;42958x3;43868x3;42959x3;43542x3;42457x3;43415x3;42754x3;41552x3;42459x3;42460x3;41529x3;42739x3;41101x3;42742x3;44684x3;41538x3;41097x3;41534x3;43534x3;42967x3;43867x3;42463x3;40920x3;42464x3;40908x3;43419x3;42748x3;42971x3;42915x3;40915x3;41109x3;42403x3;40900x3;42404x3;42751x3;43421x3;43547x3;42407x3;42409x3;42968x3;42405x3;40912x3;43430x3;42965x3;43550x3;42969x3;41110x3;43869x3;42414x3;43425x3;41526x3;42913x3;40899x3;42417x3;40921x3;42914x3;40906x3;41107x1;42899x3;42472x3;43431x3;42917x3;-61177x3;42752x3;37094x1;44210x2;38322x2;44318x3;37098x1;37092x1;43466x1;43464x1;63539x3;63481x3;45782x3;45745x3;45766x3;45777x3;45794x3;45732x3;45739x3;45604x3;45783x3;45744x3;45757x3;45603x3;45767x3,43127:-61177x1;-61117x1;-61118x1;-61119x1;-61120x1;44210x5;38322x5;44318x6;49632x1",
+	["TradeskillResultMats.Reverse.Jewelcrafting"]="774:25438x1;20821x2;30804x3,818:25439x1;21934x2;30804x3,1206:30419x1;20826x1;20950x1;20831x2,1210:21933x1;30804x2;20823x2;20828x2,1529:30420x1;20955x1;20966x1;20959x1;29157x1;21748x4,1705:31154x1;20826x1;20830x2;20832x3;20833x1;29157x1,2835:25498x8,2836:25880x8,2838:25881x8,2840:20816x2;21931x1;21932x4;20821x2;21934x2;20820x2,2841:20817x2;20907x4;21933x2;30804x2;30419x4;31154x6;20828x2,2842:20818x1;20827x2;20826x2;20832x4,3391:20954x2;20831x1,3575:30420x2;20909x8;20954x8;20833x4,3577:20955x2;20831x1;29157x4;20967x2;21756x6,3824:20833x1,3827:20832x2,3860:20963x2;20961x2,3864:20958x1;29157x1;20961x1;20967x1;29158x2;21756x2;21753x2,5498:20820x1;20832x3,5637:20909x2,6037:20960x1;45627x8;29158x3;21748x2;20969x4;21760x4;21763x4;21765x2;21753x2;21766x4;21769x2;21768x2,6149:20969x4,7067:20959x2,7070:20967x2,7075:21760x2,7076:21775x1;21793x4,7077:21763x2,7078:21769x2;21779x4,7079:21760x2,7081:21763x2,7082:21793x4,7909:20964x3;21755x1;21760x2;21754x1;21753x2,7910:29158x2;20969x2;30421x1;21763x2;21764x1;21769x2;21789x2;21780x4,7912:25882x10,7971:21758x4;20969x2,8151:20964x4;21758x4;21760x4;21763x4,8152:21769x4,10286:21765x2,11083:20832x4,11137:21748x4,11178:21766x2,11371:21789x4,11382:21780x2,11754:45054x1;21784x4,12359:21752x1;21774x2;21777x2;21784x4;21780x8,12360:21774x2;21777x2;21784x2;21789x2;21792x2;21793x4,12361:21774x2;21768x4;21790x1,12363:21778x1,12364:21774x2;21777x2;21791x2;29160x2,12365:25883x10,12662:21778x1,12799:21766x2;21767x1;21774x2,12800:30422x1;29159x2;21784x2;21792x2,12803:21791x4;21779x4,12804:21775x1;21777x4;21791x4,12808:21790x1;21778x2,12938:21780x2,18335:21784x4,20816:20906x2;21931x2;21932x2;25438x1;25439x1;21934x1;21933x1;20823x2;20955x2,20817:20820x1;30804x1;20823x1;30419x1;31154x1;20826x1;30420x1;20830x1;20909x2;20950x1;20967x1,20963:20958x1;20966x2;20960x2;21748x4;21755x3;21766x2,21752:20969x4;30421x1;21764x1;21754x1;21753x4;21766x2;21767x1;30422x1;21768x1;29159x1;21775x1;21790x1;29160x1;21792x2,21884:24082x3;24092x4;24093x6;24089x4;24126x4;35700x8;31398x6,21885:24080x3;24092x6;24093x4;31398x6,21886:24085x3;24097x6;24095x4;34363x20;24122x20;31399x6,21929:23098x1;23099x1;21779x1;31869x1;23101x1;35945x3,22451:34361x20,22452:31079x1;24124x4;35694x8,22456:24079x3;24097x4;24095x6;24128x2;35702x8;31399x6,22457:24098x8;30825x8;24086x3;24123x20;24127x4;35703x8,22578:32508x3,23077:23094x1;23095x1;28595x1;24074x2;35945x3;24124x2,23079:23103x1;23104x1;23105x1;24076x1;35945x3,23107:23108x1;23109x1;23100x1;23110x1;23111x1;31866x1;35945x3,23112:24075x2;23115x1;23114x1;35945x3;24117x2;24125x4,23117:23118x1;23120x1;24076x2;23119x1;23116x1;35945x3;24121x2,23436:24027x1;24030x1;24028x1;24036x1;24110x1;33131x1;33133x1;33134x1;24126x2,23437:35318x1;24067x1;24066x1;35707x1;33782x1;24122x2;24127x2,23438:24051x1;24033x1;24035x1;24039x1;33135x1;24123x2,23439:31868x1;24058x1;24059x1;24060x1,23440:24053x1;35315x1;24048x1;24032x1;33140x1;33144x1;33143x1;24125x2;35693x6,23441:24061x1;24065x1;24055x1;24054x1;24056x1;31867x1;24116x1;24128x2,23445:24074x1;24075x1;24076x1,23446:24078x1;24077x2,23447:32772x2;24088x1;30825x2;24114x2;24089x2;24117x2;24127x2;35700x8;35703x8,23448:24087x2;24106x2;24092x2;24097x2;24093x2;24098x2;24095x2;24123x20;24124x8;24126x2;31399x2,23449:24079x2;24080x2;24082x2;24110x4;24085x2;24086x2;24121x2;32776x12;24122x20;24125x4;35693x8;35694x8;31398x2,23571:34362x4,23572:34358x9,23573:24116x2;24128x6;35702x4,24243:31079x4,24478:32833x1;32772x8;32508x10;32776x20,24479:32774x1;32508x1;32836x1;32776x3,25867:25897x1;25899x1;25901x1;25896x1;32409x1;25898x1;35501x1,25868:34220x1;25890x1;25895x1;25893x1;25894x1;32410x1;35503x1,27860:32833x1;32836x1,31079:32774x4;24078x1;24077x1;24087x4;24079x3;24080x4;24082x4;24088x5;24110x1;24106x3;24116x2;24085x4;24092x1;24097x1;24093x1;24098x1;24095x1;24114x3;24086x4;24089x4;34360x6;34361x12;34362x12;34359x12;34363x12;24121x4;32776x4;24117x4;24123x5;24122x5;31398x4;31399x4,32227:34359x3;32193x1;32196x1;32194x1;35700x2;32199x1,32228:34359x3;35693x2;32206x1;32200x1;32201x1;32203x1,32229:32209x1;35761x1;32205x1;32198x1,32230:35702x2;32220x1;32225x1;32212x1;32211x1;32215x1;32221x1,32231:32222x1;35694x2;32217x1;32218x1;35760x1,32249:34360x6;35703x2;35759x1;32226x1;32224x1;32223x1;35758x1,34052:42340x1,34054:42701x1;42702x4;49110x5,34664:34361x5;34362x5;34363x5,35128:34361x4;34358x6;34362x4;34363x4,35622:43582x3;43253x1;42644x4;42647x6,35623:43252x1;42644x4;42645x6,35624:43246x1;43247x1;42339x1;42338x1;43249x1;43248x2;43250x2;42643x4;42646x6,35625:42643x4;42646x6,35627:43249x1;43251x3;42642x4;42647x6,36783:42701x1;43253x4,36784:42702x1,36860:43582x3;43498x4;43482x4;43252x2;42642x4;42645x6,36917:39900x1;39912x1;39905x1;39908x1;39910x1;42336x1;42339x1,36918:39996x1;39997x1;40001x1;40003x1;42418x1;42341x2;43251x1;45809x1;39998x1,36919:40111x1;40113x1;40112x1;40116x1;40118x1,36920:39917x1;39918x1;39909x1;39907x1;42337x1;42339x2,36921:40016x1;40017x1;40013x1;40000x1;42341x1,36922:40127x1;40128x1;40124x1;40115x1,36923:39915x1;39919x1;39927x1;39932x1;43245x1;42339x1;44943x1,36924:40014x1;40008x1;40010x1;40011x1;42413x2;45813x2,36925:40125x1;40119x1;40120x1;40122x1,36926:42420x1;39966x1;39939x1;39948x1;39942x1;39940x1;39945x1;39979x1;39935x1;39934x1;39968x1;39957x1;42421x1;43246x2;44943x1,36927:40058x1;40032x1;40038x1;40044x1;40034x1;40028x1;40026x1;40023x1;40022x1;40025x1;40049x1;42395x2;45808x2,36928:40162x1;40139x1;40143x1;40157x1;40141x1;40135x1;40133x1;40130x1;40129x1;40164x1;40153x1,36929:39949x1;39952x1;39955x1;39951x1;39947x1;39954x1;39956x1;39959x1;39967x1;39950x1;39965x1;39958x1;43244x1;42338x2,36930:40039x1;40052x1;40055x1;40041x1;40037x1;40048x1;40051x1;40059x1;40040x1;40057x1;40050x1;44063x2;42395x1;40045x1,36931:40144x1;40147x1;40150x1;40146x1;40142x1;40149x1;40152x1;40155x1;40163x1;40145x1;40160x1;40154x1;40159x1,36932:41367x1;39983x1;39978x1;39933x1;39981x1;39980x1;39975x1;39991x1;39976x1;39992x1;39977x1;39982x1;42421x1;43247x2;42338x2;44943x1,36933:40105x1;40091x1;40086x1;40100x1;40095x1;40088x1;40098x1;40089x1;40106x1;40090x1;40102x1;42418x2;44063x1;42413x1;42340x1;45812x3,36934:40179x1;40169x1;40165x1;40177x1;40171x1;40166x1;40180x1;40167x1;40182x1;40168x1;40173x1,37701:42336x2;43245x2;43244x2;42337x2,41163:42418x2;44063x2;42341x2;42413x2;42395x2;43582x2;42340x1;45812x1;43250x2;43253x2;43251x2;45808x2;43498x4;43482x4;45809x2;45813x2;43252x2;42643x2;42642x2;42644x2;42646x2;42645x2;42647x2,41266:41285x1;41307x1;41333x1;41335x1;41378x1;41379x1;41376x1;41377x1;41400x1;41339x1;41375x1,41334:41380x1;41389x1;41395x1;41396x1;41401x1;41385x1;41398x1;41382x1;41381x1;41397x1,42225:42142x1;42144x1;42143x1;42152x1;42158x1;42154x1;42150x1;42156x1;42149x1;36767x1;42145x1;42155x1;42151x1;42643x4;42642x4;42644x4;42646x4;42645x4;42647x4;49110x1,43102:43582x1;44943x1;42643x1;42642x1;42644x1;42646x1;42645x1;42647x1,51950:51951x5,52177:52081x1;52084x1;52082x1;52083x1;52085x1,52178:52089x1;52086x1;52087x1;52088x1,52179:52094x1;52092x1;52093x1;52091x1;52090x1,52180:52105x1;52097x1;52101x1;52102x1;52099x1;52100x1;52103x1;52096x1;52095x1;52098x1;52104x1,52181:52115x1;52117x1;52109x1;52112x1;52111x1;52116x1;52108x1;52118x1;52106x1;52110x1;52113x1;52107x1;52114x1,52182:52124x1;52121x1;52125x1;52120x1;52122x1;52126x1;52119x1;52128x1;52123x1;52127x1",
+	["TradeskillResultMats.Reverse.Leatherworking.Basic"]="783:4231x1,1206:5963x1,1529:4262x1;15067x2;15066x1,2318:2304x1;2302x2;7277x2;7276x2;5957x3;2303x4;4237x6;7280x5;2300x8;5081x4;2309x8;4239x3;2310x5;2311x8;7281x6;4242x6;2312x4;4246x6;2308x10;4243x6;6709x6;2307x7;5780x6;7282x10;5781x8;2319x4,2319:2313x4;7283x4;20575x8;2315x4;2317x6;5958x8;2316x8;5961x12;2314x10;4250x8;7285x6;7284x4;4248x8;7348x8;4251x4;4253x4;7352x6;7349x8;4252x12;7358x10;7359x12;4247x14;4234x5,2320:2302x1;7277x3;7276x1;5957x1;2303x1;4237x1;7280x5;2300x4;5081x1;2309x5;4239x2;2310x2;2311x2;7281x4;4242x2;2312x2;4246x2;4243x4;6709x4;2307x2;2313x1;4244x2,2321:2308x2;6466x1;5780x1;7282x1;5781x1;7283x1;20575x2;2315x2;2317x1;6467x2;5958x1;2316x1;6468x2;5961x1;2314x2;4250x2;7285x1;7284x1;4248x1;7348x2;4249x2;4251x1;4253x2;7352x2;7349x2;4252x2;7358x2;7359x2;4247x4;18662x1;4254x1;3719x2;4265x1;4255x4;4257x1;5962x2;7373x2;4456x2;4455x2;5963x2;4258x1;5782x3;5964x2;7374x2;7375x2;4256x2;7377x2;4259x1;4262x1;5739x2,2324:2311x1,2325:7373x1;7378x1;7387x2;15083x1;15084x1;15086x1;15087x3;15085x4;15088x2;25681x4,2457:7285x1,2459:7391x2,2604:25683x4,2605:4255x2;4257x1;4259x1,2840:34086x1,2934:2318x3,2997:5958x1;7359x2;34086x1,3182:4253x2,3356:7349x4,3383:4250x1,3389:4253x2,3390:4252x1,3824:7374x1;4256x1,3864:4262x1,4096:4264x2,4231:4242x1;2312x1;4243x3;6709x1;6466x1;7282x1;5781x1;20575x1;4244x2;2314x6,4232:4233x1,4233:7348x4;4249x1;4251x1;4253x2,4234:18662x2;4254x6;3719x5;4265x5;18948x8;4255x9;4257x5;5962x12;7373x10;4456x4;4455x4;5963x10;4258x4;5782x10;5964x8;7374x10;7375x10;4256x12;7377x6;4259x6;7378x16;5965x14;5739x14;17721x8;7386x8;5966x4;5783x14;7387x10;4260x6;4304x6;8174x12;4264x6;7390x8;7391x10,4235:4236x1,4236:18948x2;4257x1;4258x2;5782x1;5964x1;4256x2;4259x2;4262x4;5966x1;5783x1;4260x2;18238x4;8174x2;4264x2,4243:4244x1,4246:4249x1,4289:4231x1;4233x1;4236x3,4291:7378x2;5965x2;17721x1;7386x2;5966x1;5783x1;4260x1;8174x2;4264x1;7390x2;7391x1;8173x1;8176x2;8175x2;8192x3;8205x2;8203x4;8204x2;8193x4;8209x6,4304:18238x6;8173x5;8176x5;8175x7;8187x6;8192x8;8198x8;8189x6;8200x10;8201x8;8205x10;8203x12;8210x10;8347x24;8345x18;8204x6;8214x10;8211x12;8346x20;8193x14;8191x14;8197x16;8209x12;8185x14;8216x14;8202x10;8207x12;8206x14;8213x14;8170x6;8349x25;8348x30;8208x10;8215x16;8212x16;8367x40,4305:5962x2;5965x2;7387x2,4337:7391x2,4338:8192x6,4340:2315x1;2317x1;2316x1;5961x1;4248x1;4249x1;4252x1,4342:25680x4,4461:18948x1;4456x4;4455x6,5082:5081x3,5373:4248x2;7358x2,5498:6709x1;18948x4,5500:4262x1,5633:4264x1,5637:4254x2;18948x4,5784:5780x8;5781x12,5785:5782x12;5783x16,6470:6466x4;6467x5;6468x4,6471:6468x6,7067:7352x1;7359x2;7377x2;17721x4,7070:7377x2,7071:4257x1;4258x1;5739x1;7387x1;4264x1,7075:15054x1,7076:15053x1;15055x1,7077:8348x8,7078:15054x1;15053x1;20481x2;20479x2;20480x2;15055x1,7079:8346x4,7080:15071x1;15069x1;19052x4;15070x1;22665x2;22664x2;22666x2;22663x2;22662x2;22661x2;15068x1,7081:29964x8,7082:15057x2;15056x3;15058x3;18506x6;21278x4,7286:7283x12;20575x8,7287:7284x6,7392:7375x4;7386x6,7971:8349x2;15092x1,8150:8172x1,8151:8200x4;8201x6,8152:8216x4;8202x6,8153:8210x1;8345x12;8214x2;8211x2;8213x4;8215x6;8212x6;29970x4,8154:8205x4;8203x12;8204x8;8209x12;8207x16;8206x8;8208x20,8165:8347x12;8367x30;29971x10,8167:8187x8;8198x12;8189x12;8191x24;8185x28,8169:8172x1,8170:15564x5;15077x4;29964x10;29971x10;15045x20;29970x10;15083x8;15074x6;15076x6;15084x8;15046x20;15067x24;15061x12;15091x10;15054x6;18258x4;15057x16;15064x28;15073x4;15071x4;15078x6;15092x6;20296x20;15072x8;15082x6;15093x10;15086x12;34086x4;15048x28;15060x16;15056x16;15065x24;15069x6;15079x8;15053x8;15050x25;19052x30;15063x30;15066x35;19044x30;15075x10;15094x14;15087x12;15049x28;15058x12;15070x6;15080x8;18509x25;19162x12;20380x20;18510x30;15052x25;15051x20;20295x28;22759x12;15062x30;18504x12;15059x16;18506x12;15047x40;18508x12;15068x12;15081x14;15090x22;15095x18;15096x16;15055x10;15085x20;15088x14,8171:15407x1,8172:8210x1;8347x2;8345x4;8214x1;8211x1;8346x1;8213x2;8349x4;8348x2;8215x2;8212x2;8367x4;29964x2;29971x2;29970x2,8343:18238x1;8187x1;8198x1;8189x1;8200x1;8201x1;8347x4;8345x1;8346x4;8191x1;8197x2;8185x1;8216x2;8202x2;8207x2;8206x2;8349x4;8348x4;8208x2;8367x4,10285:18238x8;7390x2,11754:18506x4,12607:18509x4,12753:18511x2,12803:15074x1;15061x4;15073x1;15072x1;15060x6;19044x4;15075x1;20380x3;22761x2;22760x2;22759x2;19058x4;15059x8;19687x4;19686x4;19685x4;19049x6,12804:18504x12;19049x6,12809:19052x2;19058x4,12810:15049x2;22663x12;22662x12;22661x16;18511x10;22761x4;22760x6;19058x8;21278x6;19049x8;15090x4;15095x2;15096x4,14044:15138x1,14047:15091x6;15093x10;15094x10;15090x16;15095x12;15096x18,14048:18258x2,14227:15058x2;19157x4;19162x4;22665x4;22664x4;22666x4;19149x4;19163x4;22663x4;22662x4;22661x4;21278x2;19049x2,14256:15085x2,14341:15077x1;29964x1;29971x1;15045x2;29970x1;15083x1;15074x1;15076x1;15084x1;15046x1;15067x1;15061x1;15091x1;15054x1;18258x1;15057x1;15064x1;15073x1;15071x1;15078x1;15092x1;20296x2;15072x1;15082x1;15093x1;15086x1;34086x1;15048x1;15060x1;15056x1;15065x1;15069x1;15079x1;15053x1;15050x2;19052x2;15063x1;15066x1;19044x2;15075x1;15094x1;15087x1;16982x2;15049x1;15070x1;15080x1;25654x2;34482x3;25662x2;25669x2;25673x3;16984x2;18509x2;20380x2;18510x2;16983x2;18511x1;15052x2;15051x1;19688x3;19689x3;20295x2;18251x2;15062x1;18504x4;19058x2;15059x2;18506x4;15138x1;19687x3;19686x3;19685x4;15047x1;18508x4;15068x2;15081x2;15090x2;15095x1;15096x2;15055x2;15085x2;15088x2;25655x2;25661x2;25674x3;25670x2;25656x3;25668x3;25675x3;25660x3;25671x3;25676x3;29975x2;29974x2;29973x2;25657x3;25659x3;25685x3;25694x2;25692x2;25686x3;25687x3;25695x2;25693x2;25681x3;25683x3;25682x3;25680x3;25691x2;25690x2;34490x3;25697x2;25696x2;25689x2;30040x2;30042x2;30046x2;30041x2;30045x2;30039x2;30043x2;30044x2,14342:15059x2,15407:20296x1;15048x1;15060x1;15056x1;15050x1;19052x2;15066x1;19044x2;15087x1;15049x1;15080x1;18510x2;22665x2;22664x4;22666x3;22663x2;22662x3;22661x4;15052x1;15051x1;19688x3;19689x3;20295x2;22761x1;22760x2;22759x2;15062x1;18504x2;19058x2;15059x1;18506x2;19687x3;19686x4;19685x5;20478x2;20477x1;20479x2;20480x1;18508x4;19049x2;15068x1;15081x1;15090x1;15096x1;15085x2,15408:15077x4;15076x6;15078x8;15082x8;15079x12;15080x12;22665x16;22664x24;22666x16;15081x14,15409:15407x1,15410:15138x1,15412:15045x25;15046x25;20296x30,15414:18509x12;15047x30,15415:15048x30;15049x30;20295x36,15416:15050x25;16984x18;18509x12;15052x25;15051x15;29975x8,15417:15063x8;15062x14,15419:15064x12;15065x14,17010:16982x6;16984x3;19157x3;19162x4;19163x2;16983x3,17011:16982x2;16984x3;19157x2;19149x2;19163x2;16983x3,17012:16982x20;19157x8;19162x12;19149x2;19163x2;16983x12;18251x3,17056:8349x20;29970x5;15067x40;15066x40;34105x99,18240:18258x1,18512:18510x5;22760x2;20476x2;20478x2;20477x2;18508x8,19726:22759x2,19767:19687x8;19686x10;19685x14,19768:19688x25;19689x25,20381:20380x3,20498:20476x20;20478x40;20477x30;20481x20;20479x40;20480x30,20500:20481x1;20479x3;20480x2,20501:20476x1;20478x3;20477x2,21844:33122x12;33204x16,21884:29975x3;29486x4;29500x3;29499x3;29498x4;29494x3;29493x3;29492x4;25683x8;29511x14;29510x18;29509x10;29516x12;29517x8;29515x16,21885:29485x4;25694x3;25692x5;29500x3;29499x3;29498x4;29494x3;29493x3;29492x4;25693x4;29505x8;32574x4;30043x10;30044x10;32575x6,21886:29974x3;29483x4;25681x8;29506x16;29505x20;29508x12;34372x18;34376x18;30042x10;30041x12;32398x2;32582x6;32399x2;32400x4;32393x3;32396x4;32394x2;32395x2;32583x8;32397x3,21887:25679x2;25654x5;34482x20;25662x6;25669x6;25673x6;25650x4;25655x8;25661x8;25674x9;25670x10;25656x10;25668x10;25675x13;23793x5,22445:25653x6,22448:25653x1,22450:32398x1;32399x1;32400x1;32393x1;32396x1;32394x1;32395x1;32397x1,22451:29973x2;29533x4;25695x6;25697x4;25696x8;29535x8;29503x12;29502x15;29514x8;29504x18;29507x8;29509x14;34374x18;30040x10;30042x10;30046x10;32574x4;30045x10;32582x6;32577x4;32579x6;29520x12;29521x8;29519x16;32583x8;32575x6;32580x10;32581x12;29524x12;29523x8;29522x16;34105x2,22452:29540x4;25651x1;29973x2;29534x4;34207x3;25682x8;25691x4;25690x4;25689x4;29536x8;29512x22;29506x12;33204x12;29514x20;29507x18;32577x4;32579x6,22456:29487x4;25685x6;25686x8;25687x10;25680x8;33122x12;29503x12;29502x15;33204x12;34370x18;30040x10;32398x4;30039x12;32399x2;29516x12;29517x8;29515x16;32400x6;32393x4;32396x6;32394x4;32395x2;32397x4,22457:25652x1;29488x4;25694x3;25692x5;29497x6;29496x6;29495x8;29491x6;29490x6;29489x8;25693x4;29512x4;29508x12;29511x10;29510x12;29504x10;29520x12;29521x8;29519x16,22682:22665x4;22664x7;22666x5;22663x4;22662x5;22661x7,23571:25653x1;34369x6;34373x6;34374x8;34370x8;34371x6;34372x8;34375x6;34376x8;29526x5;29527x3;29525x6;29524x2;29523x1;29522x3,23572:33122x4;29536x1;29535x1;29503x1;29502x1;29512x1;29506x1;29505x1;29508x1;29511x1;29510x1;33204x2;29514x1;29504x1;29507x1;29509x1;34369x6;34373x6;34371x6;34375x6;30041x2;30045x2;30039x2;29516x1;29515x2;30043x2;29520x1;29519x2;29526x1;29525x2;29524x1;29522x2;34105x1,23793:29540x6;25652x3;25651x3;25660x2;25671x3;25676x3;29975x4;29974x4;29973x4;29534x4;29533x4;25657x2;25659x2;29528x3;29488x4;29485x4;29486x4;29487x4;29483x4;25685x6;25694x4;25692x8;29530x6;29531x6;34207x4;34330x3;29500x4;29499x4;29498x6;29497x4;29496x4;29495x6;29491x4;29490x4;29489x6;25686x10;25687x10;25695x6;29494x4;29493x4;29492x6;25693x6;25653x4;25681x6;25683x6;25682x6;25680x6;25691x4;25690x6;33122x8;34490x15;25697x6;25696x10;25689x6;29529x6;29536x4;29535x4;29503x4;29502x6;29512x4;29506x4;29505x6;29508x6;29511x4;29510x6;33204x10;29514x8;29504x6;29507x4;29509x4;34369x40;34373x40;34374x30;34370x30;34371x40;34372x30;34375x40;34376x30;29532x6;30040x4;30042x4;30046x4;32574x4;30041x4;30045x4;30039x4;32582x4;29516x6;29517x4;29515x8;30043x4;32577x4;32579x6;30044x4;29520x6;29521x4;29519x8;29526x6;29527x4;29525x8;32583x6;32575x6;32580x4;32581x6;29524x6;29523x4;29522x8;34105x8,25649:21887x5,25699:29974x12;25694x8;25692x12;25695x8;29494x8;29493x8;29492x12;25693x10;25697x6;25696x8,25700:25654x1;34482x4;25662x3;25655x1;25661x1;25656x3;25660x3;25657x3;25659x2;29528x3;29491x10;29490x10;29489x12;32398x4;32399x2;32400x3;32397x2,25707:34482x4;25685x6;29500x6;29499x8;29498x10;25686x8;25687x10;25695x4;34490x5;25697x6;25696x4;34369x24;34370x16;29532x4;32393x2;32396x3;32394x4;32395x2,25708:29534x8;29497x16;29496x16;29495x24;25691x20;25690x34;34490x5;25689x40;29529x4;29536x16;34371x24;34372x16,29539:29533x2;25681x2;25683x2;25682x2;25680x2;29535x4;29503x8;29502x10,29547:29530x4;34490x5;29504x20;29507x12;29509x14;34373x24;34374x16;30046x10;32574x12;30045x6;30043x6;32577x12;32579x16;30044x6;32575x16;29524x16;29523x12;29522x20,29548:29531x4;34490x5;29512x24;29508x28;29511x24;29510x28;29514x32;34375x24;34376x16;29516x24;29517x18;29515x30;29520x24;29521x18;29519x30,30183:30040x2;30042x2;30046x2;30044x2,32428:32574x4;32398x2;32582x4;32399x1;32400x3;32577x4;32579x2;32393x2;32396x3;32394x2;32395x1;32583x2;32575x2;32580x4;32581x2;32397x2,33567:33568x5,33568:38375x4;38404x8;38400x12;38412x8;38416x12;38409x8;38410x12;38421x12;38422x8;38403x10;38401x12;38414x12;38424x10;38407x10;38408x12;38418x10;38420x12;38406x10;38441x16;38405x10;38402x10;38413x10;38415x10;38411x10;38419x10;38417x10;38437x14;38433x12;38436x12;38440x14;38438x14;38434x12;38435x12;38439x14;38425x6,34055:47597x8;47598x8,34057:47579x4;47580x4,34664:34374x6;34370x6;34372x6;34376x6,35622:43264x1;43263x1;43261x1;43262x1;43255x2;43455x1;43453x1;43457x1;43452x1;43594x2;43595x2;43592x2;43591x2;43266x1;43273x1;43265x1;43271x1;43450x1;43454x1;43456x1;43451x1;43593x3;43590x3;43502x5;43495x6;43459x5;43458x6;43461x12;43469x10;44930x5;44931x6;47576x8;47577x8;47596x8;47595x8,35623:43435x1;43434x1;43260x1;43433x1;43444x1;43445x1;43447x1;43449x1;43436x1;43438x1;43439x1;43437x1;42731x2;43129x1;43442x1;43443x1;43446x1;43448x1;43459x5;43458x6;44930x5;44931x6;47597x8;47598x8;49896x10;49900x16,35624:44963x4;49901x16;49897x10,35625:43502x5;43495x6;47596x8;47595x8;47601x20;47602x20;47583x12;47584x12;49894x10;49898x16,35627:43133x2;43132x2;43566x4;43484x5;43481x6;45555x4;45564x2;47582x12;47581x12;47600x20;47599x20;49899x16;49895x10,36860:43130x2;43594x2;43595x2;43592x2;43591x2;43593x3;43590x3;43566x6;43484x5;43481x6,37700:38441x4;41238x5,37703:38592x5;38591x4;44441x4;44440x5;44445x2,37705:38590x6;41238x5;44437x4;44436x5;44444x4;44443x5,38425:38376x4;41238x6;38592x5;38591x6;44437x6;44436x4;44441x6;44440x4;44444x6;44443x4;38372x4;38371x3;38347x8;44446x8;38399x8;43435x8;43434x12;43260x12;43433x10;43133x10;43264x8;43263x12;43261x12;43262x10;43255x10;43455x12;43453x12;43457x10;43452x8;43444x8;43445x12;43447x12;43449x10;43130x12;43594x8;43595x8;43592x8;43591x8;43436x10;43438x12;43439x10;43437x10;42731x12;43132x14;43266x10;43273x10;43265x10;43271x12;43129x15;43450x10;43454x10;43456x12;43451x10;43442x10;43443x10;43446x10;43448x12;43257x25;43593x10;43590x10;43502x10;43495x12;43459x10;43458x12;43461x12;43469x10;43484x10;43481x10;44930x10;44931x12;49633x8;49634x8;45556x4;47582x20;47581x20;47600x24;47599x24;47601x24;47602x24;47583x20;47584x20,38557:44438x35;44445x30;43131x40;43594x4;43595x4;38374x2;43593x8;49633x8;45553x20;45565x20;45563x20;47576x40;47577x40;47596x40;47595x40;49901x20;49896x12;49900x20;49897x12,38558:38590x25;-60584x2;38372x1;44442x35;43258x30;43592x4;43591x4;38373x2;43590x8;43565x40;45554x20;47579x40;47580x40;47597x40;47598x40;49899x20;49895x12,38561:-60583x2;38371x12;43256x40;49634x8;45562x20;49894x12;49898x20,43102:43594x1;43595x1;43592x1;43591x1;44963x1;38373x1;38374x1;43593x1;43590x1;43565x1;43502x1;43495x1;43459x1;43458x1;43566x1;43461x1;43469x1;43484x1;43481x1;44930x1;44931x1,44128:-57701x1;-57683x1;-57692x1;-57694x1;-57699x1;-57696x1;-57691x1;-57690x1;44963x2;38373x2;38374x2;43565x2;43566x2;45556x3;45553x3;45554x3;45562x3;45565x3;45555x3;45564x3;45563x3;47579x6;47580x6;47582x6;47581x6;47576x6;47577x6;47596x8;47595x8;47597x8;47598x8;47600x8;47599x8;47601x8;47602x8;47583x6;47584x6;49899x8;49894x5;49901x8;49896x5;49895x8;49898x8;49900x8;49897x8,45087:45556x6;45553x6;45554x6;45562x6;45565x6;45555x6;45564x6;45563x6,47556:47579x4;47580x4;47582x4;47581x4;47576x4;47577x4;47596x8;47595x8;47597x8;47598x8;47600x8;47599x8;47601x8;47602x8;47583x4;47584x4,49908:49899x8;49894x5;49901x8;49896x5;49895x5;49898x8;49900x8;49897x5",
+	["TradeskillResultMats.Reverse.Leatherworking.Dragonscale"]="",
+	["TradeskillResultMats.Reverse.Leatherworking.Elemental"]="",
+	["TradeskillResultMats.Reverse.Leatherworking.Tribal"]="",
+	["TradeskillResultMats.Reverse.Smelting"]="2770:2840x1,2771:3576x1,2772:3575x1,2775:2842x1,2776:3577x1,2840:2841x1,3575:3859x1,3576:2841x1,3857:3859x1,3858:3860x1,7911:6037x1,10620:12359x1,11176:12655x3,11370:11371x8,12359:12655x1,12360:17771x10,17010:17771x1,18562:17771x1,18567:17771x3,21884:22574x1,22452:22573x1,23424:23445x2,23425:23446x2,23426:23449x2,23427:23447x2,23445:23448x3,23446:23573x10,23447:23448x2,23449:35128x3,23573:35128x1,35624:37663x1,35627:37663x1,36860:37663x1,36909:36916x1,36910:41163x2,36912:36913x2,41163:37663x3",
+	["TradeskillResultMats.Reverse.Tailoring.Basic"]="929:7049x4,1529:10041x1,2318:10046x1;2569x1;2578x1;4312x2;4313x2;2583x2,2319:4315x2;4320x4,2320:4344x1;2570x1;10045x1;2576x1;2568x1;7026x1;10046x1;4343x1;6238x1;6241x1;4307x1;2572x2;2577x1;2575x1;6786x1;4238x3;6240x1;6239x1;4308x2;2580x3;2569x1;6242x2,2321:2578x1;4309x2;2579x1;5762x1;10047x1;2584x1;4312x1;4240x1;2582x2;4310x1;5542x2;4313x1;2583x2;4241x1;2587x1;6263x2;4311x2;2585x3;4314x2;4316x4;4330x1;6787x1;6264x3;5763x1;10048x1;4315x2;6384x1;6385x1;45626x2;4331x4;4317x3;4318x3;4332x1;5766x2;7046x3;4321x2;7048x1;4319x2;7047x2;5770x2;7049x1;4245x3;4333x1;7050x2;4322x2;4334x1;7051x2;7052x2;7053x2;5764x3;7058x2;5765x4,2324:2576x1;6241x1;6786x1;6787x4;4331x2;6795x2;4334x2;10008x1;10053x1;10040x1,2325:5765x1;4336x1;10053x1;38278x3;38277x2,2589:2996x2,2592:2997x3,2604:2572x2;2575x1;6239x1;5762x1;4313x2;4330x2;6264x3;5763x1;10048x3;6796x2;7055x2;7056x2;7058x2;7059x2;7062x2;7063x4;7064x4;10009x2;10007x2;10018x2;10029x2;10051x2;10033x2;34085x2;21154x2;21542x2;38277x1;41248x1;41252x1;44558x4,2605:4308x1;2579x1;2582x1;4241x1;6385x2;7065x2;5764x1;17723x4;34087x2;41250x1;41255x1,2996:4344x1;2570x1;10045x1;2576x1;2568x1;7026x1;10046x2;4343x2;6238x3;6241x3;4307x2;2572x3;2577x2;2575x2;6786x2;4238x3;6240x3;6239x3;4308x3;2580x2;2569x3;2578x4;6242x4;4309x4;2579x3;5762x4;10047x4;4312x5,2997:2584x1;4240x3;2582x2;4310x3;5542x3;4313x4;2583x4;4241x4;2587x2;6263x4;4311x3;2585x4;4314x3;4316x5;4330x3;6787x3;6264x5;5763x4;10048x5;4315x6;6384x4;6385x4;4331x4;4317x6;4318x4;34087x1;34085x1,3182:4320x4;45626x6;5766x2;4321x1;5770x2,3383:4318x1,3577:14101x2;14100x2;14103x2;14104x4,3824:4323x1,3827:4326x1;7063x2,3829:4327x1,3864:4329x1,4234:4319x2;7047x2;7049x2;4245x2;5764x3;7061x4;4329x4,4291:6795x1;7065x1;4323x1;6796x1;4325x1;7055x1;7056x1;7057x2;4335x1;4326x1;17723x1;7054x2;7060x2;7059x2;7062x2;7061x2;4336x1;4327x2;4329x1;9999x3;9998x3;7063x1;7064x2;10050x2,4304:7064x2;10026x2;10031x2;6836x2,4305:4320x2;45626x3;4332x1;5766x2;7046x4;4321x3;7048x2;4319x3;7047x3;4324x5;5770x4;7049x3;4245x3;4333x2;7050x3;6795x3;4322x3;7065x5;4334x3;7051x3;4323x4;6796x3;7052x4;7053x3;4325x4;7055x4;5764x4;7056x5;7057x5;4328x4;4335x4;7058x4;4326x4;5765x5;17723x5;7060x6;7059x5;7062x4;7061x5;4336x5;7063x8;7064x6,4306:4305x4,4337:4322x2;4325x2;4328x2;4327x2,4338:4339x4,4339:7054x2;4327x3;4329x4;9999x2;9998x2;10001x3;10002x3;10008x1;10056x1;10003x2;10009x3;10007x3;10004x3;10052x2;10019x4;10021x6;10042x5;22246x4;10018x3;10023x5;10050x4;10054x2;10026x3;10024x3;10027x3;10055x3;10053x3;10029x4;10028x5;10051x4;10034x4;10030x3;10033x4;10031x6;38278x4;10035x4;10044x5;10025x2;10040x5;6836x4;10041x8;38277x5;10036x5,4340:2587x1;2585x1;6384x1;6385x1;4333x2,4341:4332x1;41254x1;41251x1;44558x2,4342:4335x1;10054x2,4589:10030x6,4625:21154x2;21542x2,5498:5542x1;4311x2,5500:4320x2;4331x1;4317x1,6037:10041x1,6048:7047x2,6260:2577x1;6786x1;6240x1;6242x2;6263x2;6384x2;7046x2;7048x2;4319x2;4324x4;7052x2;7053x2;7060x2;13869x2;13870x2;13871x2;41249x1;41253x1,6261:10056x1;10052x2,6371:7056x2;7059x2;7064x2,7067:7051x1;7054x2;7061x4,7068:7054x2;7063x4;7064x2;14134x4,7069:7054x2,7070:7052x1;7054x2,7071:7052x1;7055x1;4328x1;7061x1;4329x1,7072:7060x2,7076:19047x3;14152x10;19050x5,7077:10042x2;14042x2;14043x2;14134x4,7078:14134x4;14044x1;14045x1;18405x12;21342x4;16979x4;19165x10;19156x6;14152x10;14153x12;18408x10;18263x2,7079:13868x2,7080:14136x4;18405x12;22658x2;22654x4;22652x6;22655x2;14152x10,7082:14152x10,7910:18408x2;14130x1,7971:15802x2,7972:21340x2,8153:10019x4;10021x6;10041x4,8170:21340x4;14046x2;18258x4;13864x2;14108x2;14112x4;13867x4,8343:10001x1;10002x1;10008x1;10056x1;10003x2;10009x1;10007x1;10004x1;10052x1;10019x2;10021x2;10042x2;22246x2;10018x2;10023x2;10054x2;10026x2;10024x2;10027x2;10055x1;10053x1;10029x3;10028x2;10051x2;10034x2;10030x2;10033x2;10031x3;38278x3;10035x3;10044x3;10025x2;10040x3;10041x3;38277x3;10036x3;44554x5,8831:22251x10,9210:14143x2;14142x2;14141x3;14144x4;18405x10;14146x10;14154x10,10285:10002x2;10004x2;10023x5;10028x4;10031x6;10025x8,10286:10019x2;10021x2;10041x2,10290:10055x1,11040:22251x8,11137:22246x4,11176:14132x1;14128x2;14130x4,12360:18413x1,12364:14146x6,12662:14153x20;18407x6;14106x2;14112x2,12800:14140x1,12803:19047x3;22660x4;19050x5;22757x2;22758x4;22756x2,12804:19683x4;19682x3,12808:14136x4;14153x12;18407x8,12809:19056x2;19059x2;18413x4,12810:21341x6;19056x4;16979x2;16980x6;14146x8;14140x2;20539x2;20537x2;22249x4;18263x6,12811:14154x4,13468:22252x1,13926:19056x2;14146x6;14154x4;18409x2;18486x2,14047:14048x4,14048:34087x4;34085x4;21154x4;21542x4;13868x5;13869x5;13856x3;14042x5;13858x5;13857x5;21340x6;14046x5;13870x5;14143x2;13860x4;14101x4;14100x4;14043x4;14142x2;18258x2;14134x6;14103x4;22251x5;14044x5;22248x5;14107x5;14141x2;13863x5;14132x4;14045x6;13871x6;13864x4;14136x10;14108x2;13865x5;15802x6;19056x6;14137x6;19047x8;14104x6;14111x2;14144x3;13866x6;18405x16;16979x8;16980x12;22658x4;22654x4;22652x8;22655x2;14146x10;14152x12;14153x12;14154x12;14156x8;18413x12;18407x12;22660x2;18408x12;14140x4;18409x12;18486x6;14139x5;14138x6;20539x2;20537x4;20538x6;22757x4;22758x2;22756x4;22249x6;14106x8;14112x7;14155x4;13867x7;22252x6;14128x8;14130x6,14227:13858x1;13857x1;13860x1;21341x4;13865x2;19056x2;19047x2;21342x4;19165x4;19156x4;22658x4;22654x4;22652x8;22655x4;19059x2;19684x2;19683x2;19682x2;22660x4;19050x2;20539x2;20537x2;20538x2;22757x2;22758x2;22756x2;22249x4;13867x2;22252x4,14256:14342x2;14107x2;21341x12;14136x12;14108x2;14111x2;21342x20;14153x40;18407x20;20539x2;20537x4;20538x6;14106x3;14112x3,14341:34087x1;34085x1;21154x1;21542x1;13868x1;13869x1;13856x1;14042x1;13858x1;13857x1;21340x1;14046x1;13870x1;14043x1;18258x1;14134x1;22251x2;14044x1;22248x2;14107x1;13863x2;14132x1;14045x1;13871x1;13864x1;14136x1;14108x1;13865x1;15802x1;14137x1;14111x1;13866x2;18405x6;16979x2;16980x2;14146x2;14152x2;14153x2;14154x2;14156x2;18413x2;18407x2;18408x2;14140x2;18409x2;18486x2;14139x1;14138x1;14106x2;14112x2;14155x1;13867x1;14128x1;14130x1;18263x4;21850x1;21849x1;21841x1;21851x1;21852x1;24273x1;24275x1;21853x1;21859x1;21854x2;21855x2;21866x2;30837x2;21860x1;21863x4;21867x2;30838x2;21861x1;21862x1;21864x4;21868x2;30839x2;21865x4;30038x2;30036x2;30037x2;30035x2;24276x1;24274x1,14342:15802x4;14137x4;18405x10;19165x8;19156x10;14146x10;14154x10;19059x5;19684x4;19683x4;19682x3;14156x12;19050x5;14140x6;18409x6;18486x4;14139x5;14138x4;22757x2;14155x1;22252x2;18263x6,14344:18405x6;14156x2;22249x4,16203:22248x2,17010:16979x6;19165x5;16980x4;19156x2;18263x8,17011:19165x3;16980x4;19156x3,17012:21342x16;14156x2,18240:18258x1,19726:19684x4;19683x4;19682x3;22660x1;22756x2,20520:21341x2;20539x6;20537x6;20538x8,21840:44554x6;21850x3;21849x3;21841x4;21851x4;21842x3;21852x6;21853x6;21854x8;21844x1;21855x8;21866x6;30837x5;21867x8;30838x7;21868x12;30839x9;30460x6;30461x6;30459x10,21842:21843x4;21859x5;24270x6;21845x1;24272x1;24271x1;24251x4;24250x4;30831x4;24253x6;24252x6;21860x4;24249x4;24254x6;21861x6;21862x6;24257x6;24267x12;24263x12;30038x4;30036x4;32586x3;32587x4;32420x1;32392x1;32390x1;32389x2;32391x1;32585x4;32584x3,21844:21863x5;21864x6;21865x8,21845:21873x4;21874x8;24258x10;24255x8;34367x18;34365x20;30035x4;21875x14;32585x2;32584x4;24264x10;24261x10;38225x4;21876x8,21877:24268x3;21840x5,21881:21843x2;21859x2;30831x2;21860x2;21869x2;21873x2;21846x2;21861x2;21862x2;21870x2;21874x2;21847x4;21871x4;21875x4;21848x4;21872x4;21876x4;21858x4;30460x2;30461x2;30459x2,21882:21844x8,21884:24272x1;24271x1;24251x8;30837x5;21846x10;30838x7;24256x16;21847x12;30839x9;30038x15;21848x16;30460x3;30461x2;30459x5,21885:21845x1;21869x10;21870x12;34367x12;30036x10;21871x16,21886:24275x5;21845x1;30831x3;24254x6;21873x8;21874x8;34367x12;30036x10;24276x10;32420x2;32392x2;32390x3;32389x4;32391x2;32585x6;32584x8,21887:21851x2;21853x2;24270x4;21860x6;21863x6;30460x4;30461x4,22445:44554x4;21842x2;21866x12;21867x16;21868x20,22446:21843x1;21858x4,22450:32420x1;32392x1;32390x1;32389x1;32391x1,22451:24259x14,22452:24250x4;24253x6;24249x8;24258x12;24255x16,22456:24272x1;24250x4;24252x3;32420x2;32392x2;32390x4;32389x6;32391x4;30460x4;30461x6;30459x6,22457:24273x5;24271x1;30831x3;24252x3;24257x14;24260x12;32586x8;32587x6;21875x12;24274x10,22682:22658x5;22654x5;22652x7;22655x4,22794:38225x2,23112:44554x4,23571:24267x8;24263x8;24266x5;24262x5;24264x5;24261x5,23572:24257x1;24256x1;24260x1;24258x1;24255x1;24259x1;34365x2;34364x2;24267x1;24263x1;30037x2;30035x2;24276x1;24274x1;24266x1;24262x1;24264x1;24261x1,24271:21846x4;24260x10;21847x8;34366x10;34364x12;30037x4;30035x4;32586x4;32587x2;21848x14;24266x10;24262x10;21858x6,24272:21869x4;21870x8;24256x10;24259x10;34366x10;34364x12;30037x4;21871x14;21872x6,30183:30038x2;30036x2,32428:32586x4;32587x2;32420x1;32392x1;32390x2;32389x3;32391x2;32585x2;32584x4,33470:41510x5;41509x6,34052:47603x8;47604x8,34054:41511x2,34664:34367x6;34366x6,35622:41609x4;43585x2;43584x2;43583x3,35624:45811x4,35625:41594x2;41609x6;41602x4,35627:45810x4;41593x2;41610x4,36783:41523x1;41528x2;41607x1;41525x1;41608x1,36784:41609x1;41610x1,36860:41595x2;43585x2;43584x2;41610x6;43583x3;41604x4,36908:45773x6,36919:47585x1;47586x1,36922:47605x2;47606x2,36925:47585x1;47586x1,36930:44558x4,36934:47585x1;47586x1,37701:43969x3;43974x3;43970x4;43971x5;41516x4;43975x5;43972x5;43973x4,37702:41603x2;43969x3;43974x3;43970x4;43971x5;41516x4;43975x5;43972x5;43973x4,37704:41601x2,38425:42096x2;41985x2,38426:41513x1;41512x1;44211x1;41515x1;41522x1;41520x1;41521x1;41519x1;41523x4;41528x4;41525x4;41543x1;41546x1;41548x1;41551x1;-56034x1;-56039x1;41545x1;41549x1;41544x1;41550x1;41599x2;41553x2;41555x2;43969x2;43974x2;-55769x1;-55642x1;-55777x1;41554x2;43585x2;43584x2;43970x2;43971x2;41516x2;43975x2;43972x2;43973x2;42096x1;41986x1;42095x1;41985x1;42093x1;41984x1;43583x3;41597x1;42111x1;42103x1;42113x1;41598x1;41600x1;42101x1;42100x1;42102x1,41510:41513x3;41512x3;44211x3;41515x4;41522x3;41520x4;41521x5;41519x5;41523x7;41528x5;41607x7;41525x8;41608x8;41543x7;41546x8;41548x8;41511x2;41249x4;41253x4;41250x4;41255x4;41248x4;41252x4;41254x4;41251x4;41551x8;41545x9;41549x10;41544x10;41550x10,41511:45811x4;45810x4;41599x6;41553x5;41555x4;41593x1;41594x1;41595x1;43969x3;43974x3;41609x5;41554x5;43585x4;43584x4;43970x3;43971x4;41516x3;43975x4;43972x4;43973x3;41610x5;42096x4;41986x4;42095x4;41985x5;42093x6;41984x6;43583x6;44558x12;42111x4;42103x4;42113x4;42101x6;42100x6;42102x6,41593:-55769x1;41984x1;41597x4;42111x4;41600x4;42101x8;45557x4;45566x4;47603x8;47604x8;49890x6;49891x10,41594:-55642x1;42096x1;42095x1;42093x1;45773x4;42103x4;41598x2;41600x4;42100x8;45558x8;45567x8;47588x12;47587x12;47605x20;47606x20;49892x20;49893x10,41595:-55777x1;41986x1;41985x1;41597x2;42113x4;41598x4;42102x8;45557x4;45566x4;47585x8;47586x8;47603x8;47604x8;49890x6;49891x10,42253:41603x2;41601x2;45811x4;45810x4;41553x2;41555x2;41554x2;42096x4;41986x4;42095x4;41985x4;42093x4;41984x4;44558x4;41602x4;41604x4,43102:41609x1;43585x1;43584x1;41610x1;43583x1;41602x1;41604x1;42111x1;42103x1;42113x1;42101x1;42100x1;42102x1,45087:45558x6;45557x6;45567x6;45566x6,47556:47585x4;47586x4;47603x8;47604x8;47588x4;47587x4;47605x8;47606x8,49908:49890x5;49891x8;49892x8;49893x5",
+	["TradeskillResultMats.Reverse.Tailoring.Mooncloth"]="",
+	["TradeskillResultMats.Reverse.Tailoring.Shadoweave"]="",
+	["TradeskillResultMats.Reverse.Tailoring.Spellfire"]="",
+})
diff --git a/libs/LibPeriodicTable-3.1-TradeskillResultMats/LibPeriodicTable-3.1-TradeskillResultMats.toc b/libs/LibPeriodicTable-3.1-TradeskillResultMats/LibPeriodicTable-3.1-TradeskillResultMats.toc
new file mode 100644
index 0000000..3843088
--- /dev/null
+++ b/libs/LibPeriodicTable-3.1-TradeskillResultMats/LibPeriodicTable-3.1-TradeskillResultMats.toc
@@ -0,0 +1,16 @@
+## Interface: 30200
+## LoadOnDemand: 1
+## Title: Lib: PeriodicTable-3.1 [|cffeda55fTradeskillResultMats|r]
+## Notes: PeriodicTable data module.
+## Author: Nymbia
+## Version: 3.1
+## Dependencies: LibPeriodicTable-3.1
+## X-Category: Library
+## X-License: LGPL v2.1
+## X-PeriodicTable-3.1-Module: TradeskillResultMats
+## X-Curse-Packaged-Version: r295
+## X-Curse-Project-Name: LibPeriodicTable-3.1
+## X-Curse-Project-ID: libperiodictable-3-1
+## X-Curse-Repository-ID: wow/libperiodictable-3-1/mainline
+
+LibPeriodicTable-3.1-TradeskillResultMats.lua
diff --git a/libs/LibPeriodicTable-3.1.lua b/libs/LibPeriodicTable-3.1.lua
new file mode 100644
index 0000000..b5155b8
--- /dev/null
+++ b/libs/LibPeriodicTable-3.1.lua
@@ -0,0 +1,371 @@
+--[[
+Name: PeriodicTable-3.1
+Revision: $Rev: 6 $
+Author: Nymbia (nymbia@gmail.com)
+Many thanks to Tekkub for writing PeriodicTable 1 and 2, and for permission to use the name PeriodicTable!
+Website: http://www.wowace.com/wiki/PeriodicTable-3.1
+Documentation: http://www.wowace.com/wiki/PeriodicTable-3.1/API
+SVN: http://svn.wowace.com/wowace/trunk/PeriodicTable-3.1/PeriodicTable-3.1/
+Description: Library of compressed itemid sets.
+Dependencies: AceLibrary
+License: LGPL v2.1
+Copyright (C) 2007 Nymbia
+
+This library is free software; you can redistribute it and/or
+modify it under the terms of the GNU Lesser General Public
+License as published by the Free Software Foundation; either
+version 2.1 of the License, or (at your option) any later version.
+
+This library is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+Lesser General Public License for more details.
+
+You should have received a copy of the GNU Lesser General Public
+License along with this library; if not, write to the Free Software
+Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+]]
+
+local PT3, oldminor = LibStub:NewLibrary("LibPeriodicTable-3.1", tonumber(("$Revision: 6 $"):match("(%d+)")) + 90000)
+if not PT3 then
+	return
+end
+
+-- local references to oft-used global functions.
+local type = type
+local rawget = rawget
+local tonumber = tonumber
+local pairs = pairs
+local ipairs = ipairs
+local next = next
+local assert = assert
+local table_concat = table.concat
+
+local iternum, iterpos, cache, sets, embedversions
+---------------------------------------------
+--       Internal / Local Functions        --
+---------------------------------------------
+local getItemID, makeNonPresentMultiSet, shredCache, setiter, multisetiter
+
+function getItemID(item)
+	-- accepts either an item string ie "item:12345:0:0:0:2342:123324:12:1", hyperlink, or an itemid.
+	-- returns a number'ified itemid.
+	return tonumber(item) or tonumber(item:match("item:(%d+)")) or (-1 * ((item:match("enchant:(%d+)") or item:match("spell:(%d+)")) or 0))
+end
+
+do
+	local tables = setmetatable({},{__mode = 'k'})
+	function makeNonPresentMultiSet(parentname)
+		-- makes an implied multiset, ie if you define only the set "a.b.c",
+		-- a request to "a.b" will come through here for a.b to be built.
+		-- an expensive function because it needs to iterate all active sets,
+		-- moreso for invalid sets.
+
+		-- store some temp tables with weak keys to reduce garbage churn
+		local temp = next(tables)
+		if temp then
+			tables[temp] = nil
+		else
+			temp = {}
+		end
+		-- Escape characters that will screw up the name matching.
+		local escapedparentname = parentname:gsub("([%.%(%)%%%+%-%*%?%[%]%^%$])", "%%%1")
+		-- Check all the sets to see if they start with this name.
+		for k in pairs(sets) do
+			if k:match("^"..escapedparentname.."%.") then
+				temp[#temp+1] = k
+			end
+		end
+		if #temp == 0 then
+			sets[parentname] = false
+		else
+			sets[parentname] = "m,"..table_concat(temp, ',')
+		end
+		-- clear the temp table then feed it back into the recycler
+		for k in pairs(temp) do
+			temp[k] = nil
+		end
+		tables[temp] = true
+	end
+end
+
+function shredCache(setname)
+	-- If there's a cache for this set, delete it, since we just added a new copy.
+	if rawget(cache, setname) then
+		cache[setname] = nil
+	end
+	local parentname = setname:match("^(.+)%.[^%.]+$")
+	if parentname then
+		-- Recurse and do the same for the parent set if we find one.
+		shredCache(parentname)
+	end
+end
+
+function setiter(t)
+	local k,v
+	if iterpos then
+		-- We already have a position that we're at in the iteration, grab the next value up.
+		k,v = next(t,iterpos)
+	else
+		-- We havent yet touched this set, grab the first value.
+		k,v = next(t)
+	end
+	if k == "set" then
+		k,v = next(t, k)
+	end
+	if k then
+		iterpos = k
+		return k,v,t.set
+	end
+end
+
+function multisetiter(t)
+	local k,v
+	if iterpos then
+		-- We already have a position that we're at in the iteration, grab the next value up.
+		k,v = next(t[iternum],iterpos)
+	else
+		-- We havent yet touched this set, grab the first value.
+		k,v = next(t[iternum])
+	end
+	if k == "set" then
+		k,v = next(t[iternum], k)
+	end
+	if k then
+		-- There's an entry here, no need to move on to the next table yet.
+		iterpos = k
+		return k,v,t[iternum].set
+	else
+		-- No entry, time to check for a new table.
+		iternum = iternum + 1
+		if not t[iternum] then
+			return
+		end
+		k,v = next(t[iternum])
+		if k == "set" then
+			k,v = next(t[iternum],k)
+		end
+		iterpos = k
+		return k,v,t[iternum].set
+	end
+end
+
+do
+	-- Handle the initial scan of LoD data modules, storing in this local table so the sets metatable can find em
+	local lodmodules = {}
+	for i = 1, GetNumAddOns() do
+		local metadata = GetAddOnMetadata(i, "X-PeriodicTable-3.1-Module")
+		if metadata then
+			local name, _, _, enabled = GetAddOnInfo(i)
+			if enabled then
+				lodmodules[metadata] = name
+			end
+		end
+	end
+
+	PT3.sets = setmetatable(PT3.sets or {}, {
+		__index = function(self, key)
+			local base = key:match("^([^%.]+)%.") or key
+			if lodmodules[base] then
+				LoadAddOn(lodmodules[base])
+				lodmodules[base] = nil -- don't try to load again
+				-- still may need to generate multiset or something like that, so re-call the metamethod if need be
+				return self[key]
+			end
+			makeNonPresentMultiSet(key) -- this will store it as empty if this is an invalid set.
+			return self[key]
+		end
+	})
+end
+PT3.embedversions = PT3.embedversions or {}
+
+sets = PT3.sets
+embedversions = PT3.embedversions
+
+cache = setmetatable({}, {
+	__mode = 'v', -- weaken this table's values.
+	__index = function(self, key)
+		-- Get the setstring in question.  This call does most of the hairy stuff
+		-- like putting together implied but absent multisets and finding child sets
+		local setstring = sets[key]
+		if not setstring then
+			return
+		end
+		if setstring:sub(1,2) == "m," then
+			-- This table is a list of references to the members of this set.
+			self[key] = {}
+			local working = self[key]
+			for childset in setstring:sub(3):gmatch("([^,]+)") do
+				if childset ~= key then -- infinite loops is bad
+					local pointer = cache[childset]
+					if pointer then
+						local _, firstv = next(pointer)
+						if type(firstv) == "table" then
+							-- This is a multiset, copy its references
+							for _,v in ipairs(pointer) do
+								working[#working+1] = v
+							end
+						elseif firstv then
+							-- This is not a multiset, just stick a reference in.
+							working[#working+1] = pointer
+						end
+					end
+				end
+			end
+			return working
+		else
+			-- normal ol' set.  Well, maybe not, but close enough.
+			self[key] = {}
+			local working = self[key]
+			for itemstring in setstring:gmatch("([^,]+)") do
+				-- for each item (comma seperated)..
+				-- ...check to see if we have a value set (ie "14543:1121")
+				local id, value = itemstring:match("^([^:]+):(.+)$")
+				-- if we don't, (ie "14421,12312"), then set the value to true.
+				id, value = tonumber(id) or tonumber(itemstring), value or true
+				assert(id, 'malformed set? '..key)
+				working[id] = value
+			end
+			-- stick the set name in there so that we can find out which set an item originally came from.
+			working.set = key
+			return working
+		end
+	end
+})
+---------------------------------------------
+--                  API                    --
+---------------------------------------------
+-- These three are pretty simple.  Note that non-present chunks will be generated by the metamethods.
+function PT3:GetSetTable(set)
+	assert(type(set) == "string", "Invalid arg1: set must be a string")
+	return cache[set]
+end
+
+function PT3:GetSetString(set)
+	assert(type(set) == "string", "Invalid arg1: set must be a string")
+	return sets[set]
+end
+
+function PT3:IsSetMulti(set)
+	assert(type(set) == "string", "Invalid arg1: set must be a string")
+	-- Check if this set's a multiset by checking if its table contains tables instead of strings/booleans
+	local pointer = cache[set]
+	if not pointer then
+		return
+	end
+	local _, firstv = next(pointer)
+	if type(firstv) == "table" then
+		return true
+	else
+		return false
+	end
+end
+
+function PT3:IterateSet(set)
+	-- most of the work here is handled by the local functions above.
+	--!! this could maybe use some improvement...
+	local t = cache[set]
+	assert(t, "Invalid set: "..set)
+	if self:IsSetMulti(set) then
+		iternum, iterpos = 1, nil
+		return multisetiter, t
+	else
+		iterpos = nil
+		return setiter, t
+	end
+end
+
+-- Check if the item's contained in this set or any of it's child sets.  If it is, return the value
+-- (which is true for items with no value set) and the set where the item is contained in data.
+function PT3:ItemInSet(item, set)
+	assert(type(item) == "number" or type(item) == "string", "Invalid arg1: item must be a number or item link")
+	assert(type(set) == "string", "Invalid arg2: set must be a string")
+	-- Type the passed item out to an itemid.
+	item = getItemID(item)
+	assert(item ~= 0,"Invalid arg1: invalid item.")
+	local pointer = cache[set]
+	if not pointer then
+		return
+	end
+	local _, firstv = next(pointer)
+	if type(firstv) == "table" then
+		-- The requested set is a multiset, iterate its children.  Return the first matching item.
+		for _,v in ipairs(pointer) do
+			if v[item] then
+				return v[item], v.set
+			end
+		end
+	elseif pointer[item] then
+		-- Not a multiset, just return the value and set name.
+		return pointer[item], pointer.set
+	end
+end
+
+function PT3:AddData(arg1, arg2, arg3)
+	assert(type(arg1) == "string", "Invalid arg1: name must be a string")
+	assert(type(arg2) == "string" or type(arg2) == "table", "Invalid arg2: must be set contents string or table, or revision string")
+	assert((arg3 and type(arg3) == "table") or not arg3, "Invalid arg3: must be a table")
+	if not arg3 and type(arg2) == "string" then
+		-- Just a string.
+		local replacing
+		if rawget(sets, arg1) then
+			replacing = true
+		end
+		sets[arg1] = arg2
+		-- Clear the cache of this set's data if it exists, avoiding invoking the metamethod.
+		-- No sense generating data if we're just gonna nuke it anyway ;)
+		if replacing then
+			shredCache(arg1)
+		end
+	else
+		-- Table of sets passed.
+		if arg3 then
+			-- Woot, version numbers and everything.
+			assert(type(arg2) == "string", "Invalid arg2: must be revision string")
+			local version = tonumber(arg2:match("(%d+)"))
+			if embedversions[arg1] and embedversions[arg1] >= version then
+				-- The loaded version is newer than this one.
+				return
+			end
+			embedversions[arg1] = version
+			for k,v in pairs(arg3) do
+				-- Looks good, throw 'em in there one by one
+				self:AddData(k,v)
+			end
+		else
+			-- Boo, no version numbers.  Just overwrite all these sets.
+			for k,v in pairs(arg2) do
+				self:AddData(k,v)
+			end
+		end
+	end
+end
+
+function PT3:ItemSearch(item)
+	assert(type(item) == "number" or type(item) == "string", "Invalid arg1: item must be a number or item link")
+	item = tonumber(item) or tonumber(item:match("item:(%d+)"))
+	if item == 0 then
+		self:error("Invalid arg1: invalid item.")
+	end
+	local matches = {}
+	for k,v in pairs(self.sets) do
+		local _, set = self:ItemInSet(item, k)
+		if set then
+			local have
+			for _,v in ipairs(matches) do
+				if v == set then
+					have = true
+				end
+			end
+			if not have then
+				table.insert(matches, set)
+			end
+		end
+	end
+	if #matches > 0 then
+		return matches
+	end
+end
+
+-- ie, LibStub('PeriodicTable-3.1')('InstanceLoot') == LibStub('LibPeriodicTable-3.1'):GetSetTable('InstanceLoot')
+setmetatable(PT3, { __call = PT3.GetSetTable })
\ No newline at end of file
diff --git a/libs/LibQTip-1.0.lua b/libs/LibQTip-1.0.lua
new file mode 100644
index 0000000..586d36d
--- /dev/null
+++ b/libs/LibQTip-1.0.lua
@@ -0,0 +1,1208 @@
+local MAJOR = "LibQTip-1.0"
+local MINOR = 34 -- Should be manually increased
+assert(LibStub, MAJOR.." requires LibStub")
+
+local lib, oldminor = LibStub:NewLibrary(MAJOR, MINOR)
+if not lib then return end -- No upgrade needed
+
+------------------------------------------------------------------------------
+-- Upvalued globals
+------------------------------------------------------------------------------
+local type = type
+local select = select
+local error = error
+local pairs, ipairs = pairs, ipairs
+local tonumber, tostring = tonumber, tostring
+local strfind = string.find
+local math = math
+local min, max = math.min, math.max
+local setmetatable = setmetatable
+local tinsert, tremove = tinsert, tremove
+local wipe = wipe
+
+local CreateFrame = CreateFrame
+local UIParent = UIParent
+
+------------------------------------------------------------------------------
+-- Tables and locals
+------------------------------------------------------------------------------
+lib.frameMetatable = lib.frameMetatable or {__index = CreateFrame("Frame")}
+
+lib.tipPrototype = lib.tipPrototype or setmetatable({}, lib.frameMetatable)
+lib.tipMetatable = lib.tipMetatable or {__index = lib.tipPrototype}
+
+lib.providerPrototype = lib.providerPrototype or {}
+lib.providerMetatable = lib.providerMetatable or {__index = lib.providerPrototype}
+
+lib.cellPrototype = lib.cellPrototype or setmetatable({}, lib.frameMetatable)
+lib.cellMetatable = lib.cellMetatable or { __index = lib.cellPrototype }
+
+lib.activeTooltips = lib.activeTooltips or {}
+
+lib.tooltipHeap = lib.tooltipHeap or {}
+lib.frameHeap = lib.frameHeap or {}
+lib.tableHeap = lib.tableHeap or {}
+
+local tipPrototype = lib.tipPrototype
+local tipMetatable = lib.tipMetatable
+
+local providerPrototype = lib.providerPrototype
+local providerMetatable = lib.providerMetatable
+
+local cellPrototype = lib.cellPrototype
+local cellMetatable = lib.cellMetatable
+
+local activeTooltips = lib.activeTooltips
+
+------------------------------------------------------------------------------
+-- Private methods for Caches and Tooltip
+------------------------------------------------------------------------------
+local AcquireTooltip, ReleaseTooltip
+local AcquireCell, ReleaseCell
+local AcquireTable, ReleaseTable
+
+local InitializeTooltip, SetTooltipSize, ResetTooltipSize, LayoutColspans
+local ClearTooltipScripts
+local SetFrameScript, ClearFrameScripts
+
+------------------------------------------------------------------------------
+-- Cache debugging.
+------------------------------------------------------------------------------
+--[===[@debug@
+local usedTables, usedFrames, usedTooltips = 0, 0, 0
+--@end-debug@]===]
+
+------------------------------------------------------------------------------
+-- Internal constants to tweak the layout
+------------------------------------------------------------------------------
+local TOOLTIP_PADDING = 10
+local CELL_MARGIN_H = 6
+local CELL_MARGIN_V = 3
+
+------------------------------------------------------------------------------
+-- Public library API
+------------------------------------------------------------------------------
+--- Create or retrieve the tooltip with the given key.
+-- If additional arguments are passed, they are passed to :SetColumnLayout for the acquired tooltip.
+-- @name LibQTip:Acquire(key[, numColumns, column1Justification, column2justification, ...])
+-- @param key string or table - the tooltip key. Any value that can be used as a table key is accepted though you should try to provide unique keys to avoid conflicts.
+-- Numbers and booleans should be avoided and strings should be carefully chosen to avoid namespace clashes - no "MyTooltip" - you have been warned!
+-- @return tooltip Frame object - the acquired tooltip.
+-- @usage Acquire a tooltip with at least 5 columns, justification : left, center, left, left, left
+-- <pre>local tip = LibStub('LibQTip-1.0'):Acquire('MyFooBarTooltip', 5, "LEFT", "CENTER")</pre>
+function lib:Acquire(key, ...)
+	if key == nil then
+		error("attempt to use a nil key", 2)
+	end
+	local tooltip = activeTooltips[key]
+
+	if not tooltip then
+		tooltip = AcquireTooltip()
+		InitializeTooltip(tooltip, key)
+		activeTooltips[key] = tooltip
+	end
+
+	if select('#', ...) > 0 then
+		-- Here we catch any error to properly report it for the calling code
+		local ok, msg = pcall(tooltip.SetColumnLayout, tooltip, ...)
+
+		if not ok then
+			error(msg, 2)
+		end
+	end
+	return tooltip
+end
+
+function lib:Release(tooltip)
+	local key = tooltip and tooltip.key
+
+	if not key or activeTooltips[key] ~= tooltip then
+		return
+	end
+	ReleaseTooltip(tooltip)
+	activeTooltips[key] = nil
+end
+
+function lib:IsAcquired(key)
+	if key == nil then
+		error("attempt to use a nil key", 2)
+	end
+	return not not activeTooltips[key]
+end
+
+function lib:IterateTooltips()
+	return pairs(activeTooltips)
+end
+
+------------------------------------------------------------------------------
+-- Frame cache
+------------------------------------------------------------------------------
+local frameHeap = lib.frameHeap
+
+local function AcquireFrame(parent)
+	local frame = tremove(frameHeap) or CreateFrame("Frame")
+	frame:SetParent(parent)
+	--[===[@debug@
+	usedFrames = usedFrames + 1
+	--@end-debug@]===]
+	return frame
+end
+
+local function ReleaseFrame(frame)
+	frame:Hide()
+	frame:SetParent(nil)
+	frame:ClearAllPoints()
+	frame:SetBackdrop(nil)
+	ClearFrameScripts(frame)
+	tinsert(frameHeap, frame)
+	--[===[@debug@
+	usedFrames = usedFrames - 1
+	--@end-debug@]===]
+end
+
+------------------------------------------------------------------------------
+-- Dirty layout handler
+------------------------------------------------------------------------------
+lib.layoutCleaner = lib.layoutCleaner or CreateFrame('Frame')
+
+local layoutCleaner = lib.layoutCleaner
+layoutCleaner.registry = layoutCleaner.registry or {}
+
+function layoutCleaner:RegisterForCleanup(tooltip)
+	self.registry[tooltip] = true
+	self:Show()
+end
+
+function layoutCleaner:CleanupLayouts()
+	self:Hide()
+	for tooltip in pairs(self.registry) do
+		LayoutColspans(tooltip)
+	end
+	wipe(self.registry)
+end
+layoutCleaner:SetScript('OnUpdate', layoutCleaner.CleanupLayouts)
+
+------------------------------------------------------------------------------
+-- CellProvider and Cell
+------------------------------------------------------------------------------
+function providerPrototype:AcquireCell()
+	local cell = tremove(self.heap)
+	if not cell then
+		cell = setmetatable(CreateFrame("Frame", nil, UIParent), self.cellMetatable)
+		if type(cell.InitializeCell) == 'function' then
+			cell:InitializeCell()
+		end
+	end
+	self.cells[cell] = true
+	return cell
+end
+
+function providerPrototype:ReleaseCell(cell)
+	if not self.cells[cell] then return end
+	if type(cell.ReleaseCell) == 'function' then
+		cell:ReleaseCell()
+	end
+	self.cells[cell] = nil
+	tinsert(self.heap, cell)
+end
+
+function providerPrototype:GetCellPrototype()
+	return self.cellPrototype, self.cellMetatable
+end
+
+function providerPrototype:IterateCells()
+	return pairs(self.cells)
+end
+
+function lib:CreateCellProvider(baseProvider)
+	local cellBaseMetatable, cellBasePrototype
+	if baseProvider and baseProvider.GetCellPrototype then
+		cellBasePrototype, cellBaseMetatable = baseProvider:GetCellPrototype()
+	else
+		cellBaseMetatable = cellMetatable
+	end
+	local cellPrototype = setmetatable({}, cellBaseMetatable)
+	local cellProvider = setmetatable({}, providerMetatable)
+	cellProvider.heap = {}
+	cellProvider.cells = {}
+	cellProvider.cellPrototype = cellPrototype
+	cellProvider.cellMetatable = { __index = cellPrototype }
+	return cellProvider, cellPrototype, cellBasePrototype
+end
+
+------------------------------------------------------------------------------
+-- Basic label provider
+------------------------------------------------------------------------------
+if not lib.LabelProvider then
+	lib.LabelProvider, lib.LabelPrototype = lib:CreateCellProvider()
+end
+
+local labelProvider = lib.LabelProvider
+local labelPrototype = lib.LabelPrototype
+
+function labelPrototype:InitializeCell()
+	self.fontString = self:CreateFontString()
+	self.fontString:SetFontObject(GameTooltipText)
+end
+
+function labelPrototype:SetupCell(tooltip, value, justification, font, l_pad, r_pad, max_width, min_width, ...)
+	local fs = self.fontString
+	fs:SetFontObject(font or tooltip:GetFont())
+	fs:SetJustifyH(justification)
+	fs:SetText(tostring(value))
+
+	l_pad = l_pad or 0
+	r_pad = r_pad or 0
+
+	local width = fs:GetStringWidth() + l_pad + r_pad
+
+	fs:SetPoint("TOPLEFT", self, "TOPLEFT", l_pad, 0)
+	fs:SetPoint("BOTTOMRIGHT", self, "BOTTOMRIGHT", -r_pad, 0)
+
+	if max_width and min_width and (max_width < min_width) then
+		error("maximum width cannot be lower than minimum width: "..tostring(max_width).." < "..tostring(min_width), 2)
+	end
+
+	if min_width and width < min_width then
+		width = min_width
+	end
+
+	if max_width and max_width < width then
+		width = max_width
+	end
+	fs:SetWidth(width)
+	fs:Show()
+
+	-- Use GetHeight() instead of GetStringHeight() so lines which are longer than width will wrap.
+	return width, fs:GetHeight()
+end
+
+function labelPrototype:GetPosition() return self._line, self._column end
+
+------------------------------------------------------------------------------
+-- Tooltip cache
+------------------------------------------------------------------------------
+local tooltipHeap = lib.tooltipHeap
+
+-- Returns a tooltip
+function AcquireTooltip()
+	local tooltip = tremove(tooltipHeap)
+
+	if not tooltip then
+		tooltip = CreateFrame("Frame", nil, UIParent)
+
+		local scrollFrame = CreateFrame("ScrollFrame", nil, tooltip)
+		scrollFrame:SetPoint("TOP", tooltip, "TOP", 0, -TOOLTIP_PADDING)
+		scrollFrame:SetPoint("BOTTOM", tooltip, "BOTTOM", 0, TOOLTIP_PADDING)
+		scrollFrame:SetPoint("LEFT", tooltip, "LEFT", TOOLTIP_PADDING, 0)
+		scrollFrame:SetPoint("RIGHT", tooltip, "RIGHT", -TOOLTIP_PADDING, 0)
+		tooltip.scrollFrame = scrollFrame
+
+		local scrollChild = CreateFrame("Frame", nil, tooltip.scrollFrame)
+		scrollFrame:SetScrollChild(scrollChild)
+		tooltip.scrollChild = scrollChild
+		setmetatable(tooltip, tipMetatable)
+	end
+	--[===[@debug@
+	usedTooltips = usedTooltips + 1
+	--@end-debug@]===]
+	return tooltip
+end
+
+-- Cleans the tooltip and stores it in the cache
+function ReleaseTooltip(tooltip)
+	if tooltip.releasing then
+		return
+	end
+	tooltip.releasing = true
+
+	tooltip:Hide()
+
+	if tooltip.OnRelease then
+		local success, errorMessage = pcall(tooltip.OnRelease, tooltip)
+		if not success then
+			geterrorhandler()(errorMessage)
+		end
+		tooltip.OnRelease = nil
+	end
+
+	tooltip.releasing = nil
+	tooltip.key = nil
+
+	ClearTooltipScripts(tooltip)
+
+	tooltip:SetAutoHideDelay(nil)
+	tooltip:ClearAllPoints()
+	tooltip:Clear()
+
+	if tooltip.slider then
+		tooltip.slider:SetValue(0)
+		tooltip.slider:Hide()
+		tooltip.scrollFrame:SetPoint("RIGHT", tooltip, "RIGHT", -TOOLTIP_PADDING, 0)
+		tooltip:EnableMouseWheel(false)
+	end
+
+	for i, column in ipairs(tooltip.columns) do
+		tooltip.columns[i] = ReleaseFrame(column)
+	end
+	tooltip.columns = ReleaseTable(tooltip.columns)
+	tooltip.lines = ReleaseTable(tooltip.lines)
+	tooltip.colspans = ReleaseTable(tooltip.colspans)
+
+	layoutCleaner.registry[tooltip] = nil
+	tinsert(tooltipHeap, tooltip)
+	--[===[@debug@
+	usedTooltips = usedTooltips - 1
+	--@end-debug@]===]
+end
+
+------------------------------------------------------------------------------
+-- Cell 'cache' (just a wrapper to the provider's cache)
+------------------------------------------------------------------------------
+-- Returns a cell for the given tooltip from the given provider
+function AcquireCell(tooltip, provider)
+	local cell = provider:AcquireCell(tooltip)
+
+	cell:SetParent(tooltip.scrollChild)
+	cell:SetFrameLevel(tooltip.scrollChild:GetFrameLevel() + 3)
+	cell._provider = provider
+	return cell
+end
+
+-- Cleans the cell hands it to its provider for storing
+function ReleaseCell(cell)
+	cell:Hide()
+	cell:ClearAllPoints()
+	cell:SetParent(nil)
+	cell:SetBackdrop(nil)
+	ClearFrameScripts(cell)
+	cell._font, cell._justification, cell._colSpan,	cell._line, cell._column = nil
+
+	cell._provider:ReleaseCell(cell)
+	cell._provider = nil
+end
+
+------------------------------------------------------------------------------
+-- Table cache
+------------------------------------------------------------------------------
+local tableHeap = lib.tableHeap
+
+-- Returns a table
+function AcquireTable()
+	local tbl = tremove(tableHeap) or {}
+	--[===[@debug@
+	usedTables = usedTables + 1
+	--@end-debug@]===]
+	return tbl
+end
+
+-- Cleans the table and stores it in the cache
+function ReleaseTable(table)
+	wipe(table)
+	tinsert(tableHeap, table)
+	--[===[@debug@
+	usedTables = usedTables - 1
+	--@end-debug@]===]
+end
+
+------------------------------------------------------------------------------
+-- Tooltip prototype
+------------------------------------------------------------------------------
+function InitializeTooltip(tooltip, key)
+	----------------------------------------------------------------------
+	-- (Re)set frame settings
+	----------------------------------------------------------------------
+	tooltip:SetBackdrop(GameTooltip:GetBackdrop())
+	tooltip:SetBackdropColor(GameTooltip:GetBackdropColor())
+	tooltip:SetBackdropBorderColor(GameTooltip:GetBackdropBorderColor())
+	tooltip:SetScale(GameTooltip:GetScale())
+	tooltip:SetAlpha(1)
+	tooltip:SetFrameStrata("TOOLTIP")
+	tooltip:SetClampedToScreen(false)
+
+	----------------------------------------------------------------------
+	-- Internal data. Since it's possible to Acquire twice without calling
+	-- release, check for pre-existence.
+	----------------------------------------------------------------------
+	tooltip.key = key
+	tooltip.columns = tooltip.columns or AcquireTable()
+	tooltip.lines = tooltip.lines or AcquireTable()
+	tooltip.colspans = tooltip.colspans or AcquireTable()
+	tooltip.regularFont = GameTooltipText
+	tooltip.headerFont = GameTooltipHeaderText
+	tooltip.labelProvider = labelProvider
+	tooltip.cell_margin_h = tooltip.cell_margin_h or CELL_MARGIN_H
+	tooltip.cell_margin_v = tooltip.cell_margin_v or CELL_MARGIN_V
+
+	----------------------------------------------------------------------
+	-- Finishing procedures
+	----------------------------------------------------------------------
+	tooltip:SetAutoHideDelay(nil)
+	tooltip:Hide()
+	ResetTooltipSize(tooltip)
+end
+
+function tipPrototype:SetDefaultProvider(myProvider)
+	if not myProvider then
+		return
+	end
+	self.labelProvider = myProvider
+end
+
+function tipPrototype:GetDefaultProvider() return self.labelProvider end
+
+local function checkJustification(justification, level, silent)
+	if justification ~= "LEFT" and justification ~= "CENTER" and justification ~= "RIGHT" then
+		if silent then
+			return false
+		end
+		error("invalid justification, must one of LEFT, CENTER or RIGHT, not: "..tostring(justification), level+1)
+	end
+	return true
+end
+
+function tipPrototype:SetColumnLayout(numColumns, ...)
+	if type(numColumns) ~= "number" or numColumns < 1  then
+		error("number of columns must be a positive number, not: "..tostring(numColumns), 2)
+	end
+
+	for i = 1, numColumns do
+		local justification = select(i, ...) or "LEFT"
+
+		checkJustification(justification, 2)
+
+		if self.columns[i] then
+			self.columns[i].justification = justification
+		else
+			self:AddColumn(justification)
+		end
+	end
+end
+
+function tipPrototype:AddColumn(justification)
+	justification = justification or "LEFT"
+	checkJustification(justification, 2)
+
+	local colNum = #self.columns + 1
+	local column = self.columns[colNum] or AcquireFrame(self.scrollChild)
+	column:SetFrameLevel(self.scrollChild:GetFrameLevel() + 1)
+	column.justification = justification
+	column.width = 0
+	column:SetWidth(1)
+	column:SetPoint("TOP", self.scrollChild)
+	column:SetPoint("BOTTOM", self.scrollChild)
+
+	if colNum > 1 then
+		local h_margin = self.cell_margin_h or CELL_MARGIN_H
+
+		column:SetPoint("LEFT", self.columns[colNum - 1], "RIGHT", h_margin, 0)
+		SetTooltipSize(self, self.width + h_margin, self.height)
+	else
+		column:SetPoint("LEFT", self.scrollChild)
+	end
+	column:Show()
+	self.columns[colNum] = column
+	return colNum
+end
+
+------------------------------------------------------------------------------
+-- Convenient methods
+------------------------------------------------------------------------------
+
+function tipPrototype:Release()
+	lib:Release(self)
+end
+
+function tipPrototype:IsAcquiredBy(key)
+	return key ~= nil and self.key == key
+end
+
+------------------------------------------------------------------------------
+-- Script hooks
+------------------------------------------------------------------------------
+
+local RawSetScript = lib.frameMetatable.__index.SetScript
+
+function ClearTooltipScripts(tooltip)
+	if tooltip.scripts then
+		for scriptType in pairs(tooltip.scripts) do
+			RawSetScript(tooltip, scriptType, nil)
+		end
+		tooltip.scripts = ReleaseTable(tooltip.scripts)
+	end
+end
+
+function tipPrototype:SetScript(scriptType, handler)
+	RawSetScript(self, scriptType, handler)
+	if handler then
+		if not self.scripts then
+			self.scripts = AcquireTable()
+		end
+		self.scripts[scriptType] = true
+	elseif self.scripts then
+		self.scripts[scriptType] = nil
+	end
+end
+
+-- That might break some addons ; those addons were breaking other
+-- addons' tooltip though.
+function tipPrototype:HookScript()
+	geterrorhandler()(":HookScript is not allowed on LibQTip tooltips")
+end
+
+------------------------------------------------------------------------------
+-- Scrollbar data and functions
+------------------------------------------------------------------------------
+local sliderBackdrop = {
+	["bgFile"] = [[Interface\Buttons\UI-SliderBar-Background]],
+	["edgeFile"] = [[Interface\Buttons\UI-SliderBar-Border]],
+	["tile"] = true,
+	["edgeSize"] = 8,
+	["tileSize"] = 8,
+	["insets"] = {
+		["left"] = 3,
+		["right"] = 3,
+		["top"] = 3,
+		["bottom"] = 3,
+	},
+}
+
+local function slider_OnValueChanged(self)
+	self.scrollFrame:SetVerticalScroll(self:GetValue())
+end
+
+local function tooltip_OnMouseWheel(self, delta)
+	local slider = self.slider
+	local currentValue = slider:GetValue()
+	local minValue, maxValue = slider:GetMinMaxValues()
+
+	if delta < 0 and currentValue < maxValue then
+		slider:SetValue(min(maxValue, currentValue + 10))
+	elseif delta > 0 and currentValue > minValue then
+		slider:SetValue(max(minValue, currentValue - 10))
+	end
+end
+
+-- will resize the tooltip to fit the screen and show a scrollbar if needed
+function tipPrototype:UpdateScrolling(maxheight)
+	self:SetClampedToScreen(false)
+
+	-- all data is in the tooltip; fix colspan width and prevent the layout cleaner from messing up the tooltip later
+	LayoutColspans(self)
+	layoutCleaner.registry[self] = nil
+
+	local scale = self:GetScale()
+	local topside = self:GetTop()
+	local bottomside = self:GetBottom()
+	local screensize = UIParent:GetHeight() / scale
+	local tipsize = (topside - bottomside) / scale
+
+	-- if the tooltip would be too high, limit its height and show the slider
+	if bottomside < 0 or topside > screensize or (maxheight and tipsize > maxheight) then
+		local shrink = (bottomside < 0 and (5 - bottomside) or 0) + (topside > screensize and (topside - screensize + 5) or 0)
+
+		if maxheight and tipsize - shrink > maxheight then
+			shrink = tipsize - maxheight
+		end
+		self:SetHeight(2 * TOOLTIP_PADDING + self.height - shrink)
+		self:SetWidth(2 * TOOLTIP_PADDING + self.width + 20)
+		self.scrollFrame:SetPoint("RIGHT", self, "RIGHT", -(TOOLTIP_PADDING + 20), 0)
+
+		if not self.slider then
+			local slider = CreateFrame("Slider", nil, self)
+
+			self.slider = slider
+
+			slider:SetOrientation("VERTICAL")
+			slider:SetPoint("TOPRIGHT", self, "TOPRIGHT", -TOOLTIP_PADDING, -TOOLTIP_PADDING)
+			slider:SetPoint("BOTTOMRIGHT", self, "BOTTOMRIGHT", -TOOLTIP_PADDING, TOOLTIP_PADDING)
+			slider:SetBackdrop(sliderBackdrop)
+			slider:SetThumbTexture([[Interface\Buttons\UI-SliderBar-Button-Vertical]])
+			slider:SetMinMaxValues(0, 1)
+			slider:SetValueStep(1)
+			slider:SetWidth(12)
+			slider.scrollFrame = self.scrollFrame
+			slider:SetScript("OnValueChanged", slider_OnValueChanged)
+			slider:SetValue(0)
+		end
+		self.slider:SetMinMaxValues(0, shrink)
+		self.slider:Show()
+		self:EnableMouseWheel(true)
+		self:SetScript("OnMouseWheel", tooltip_OnMouseWheel)
+	else
+		self:SetHeight(2 * TOOLTIP_PADDING + self.height)
+		self:SetWidth(2 * TOOLTIP_PADDING + self.width)
+		self.scrollFrame:SetPoint("RIGHT", self, "RIGHT", -TOOLTIP_PADDING, 0)
+
+		if self.slider then
+			self.slider:SetValue(0)
+			self.slider:Hide()
+			self:EnableMouseWheel(false)
+			self:SetScript("OnMouseWheel", nil)
+		end
+	end
+end
+
+------------------------------------------------------------------------------
+-- Tooltip methods for changing its contents.
+------------------------------------------------------------------------------
+function tipPrototype:Clear()
+	for i, line in ipairs(self.lines) do
+		for j, cell in pairs(line.cells) do
+			if cell then
+				ReleaseCell(cell)
+			end
+		end
+		ReleaseTable(line.cells)
+		line.cells = nil
+		ReleaseFrame(line)
+		self.lines[i] = nil
+	end
+
+	for i, column in ipairs(self.columns) do
+		column.width = 0
+		column:SetWidth(1)
+	end
+	wipe(self.colspans)
+	self.cell_margin_h = nil
+	self.cell_margin_v = nil
+	ResetTooltipSize(self)
+end
+
+function tipPrototype:SetCellMarginH(size)
+	if #self.lines > 0 then
+		error("Unable to set horizontal margin while the tooltip has lines.", 2)
+	end
+
+	if not size or type(size) ~= "number" or size < 0 then
+		error("Margin size must be a positive number or zero.", 2)
+	end
+	self.cell_margin_h = size
+end
+
+function tipPrototype:SetCellMarginV(size)
+	if #self.lines > 0 then
+		error("Unable to set vertical margin while the tooltip has lines.", 2)
+	end
+
+	if not size or type(size) ~= "number" or size < 0 then
+		error("Margin size must be a positive number or zero.", 2)
+	end
+	self.cell_margin_v = size
+end
+
+local function checkFont(font, level, silent)
+	if not font or type(font) ~= 'table' or type(font.IsObjectType) ~= 'function' or not font:IsObjectType("Font") then
+		if silent then
+			return false
+		end
+		error("font must be Font instance, not: "..tostring(font), level + 1)
+	end
+	return true
+end
+
+function tipPrototype:SetFont(font)
+	checkFont(font, 2)
+	self.regularFont = font
+end
+
+function tipPrototype:GetFont() return self.regularFont end
+
+function tipPrototype:SetHeaderFont(font)
+	checkFont(font, 2)
+	self.headerFont = font
+end
+
+function tipPrototype:GetHeaderFont() return self.headerFont end
+
+function SetTooltipSize(tooltip, width, height)
+	tooltip:SetHeight(2 * TOOLTIP_PADDING + height)
+	tooltip.scrollChild:SetHeight(height)
+	tooltip.height = height
+
+	tooltip:SetWidth(2 * TOOLTIP_PADDING + width)
+	tooltip.scrollChild:SetWidth(width)
+	tooltip.width = width
+end
+
+-- Add 2 pixels to height so dangling letters (g, y, p, j, etc) are not clipped.
+function ResetTooltipSize(tooltip)
+	local h_margin = tooltip.cell_margin_h or CELL_MARGIN_H
+
+	SetTooltipSize(tooltip, max(0, (h_margin * (#tooltip.columns - 1)) + (h_margin / 2)), 2)
+end
+
+local function EnlargeColumn(tooltip, column, width)
+	if width > column.width then
+		SetTooltipSize(tooltip, tooltip.width + width - column.width, tooltip.height)
+
+		column.width = width
+		column:SetWidth(width)
+	end
+end
+
+function LayoutColspans(tooltip)
+	local columns = tooltip.columns
+
+	for colRange, width in pairs(tooltip.colspans) do
+		local h_margin = tooltip.cell_margin_h or CELL_MARGIN_H
+		local left, right = colRange:match("^(%d+)%-(%d+)$")
+		left, right = tonumber(left), tonumber(right)
+
+		for col = left, right-1 do
+			width = width - columns[col].width - h_margin
+		end
+		EnlargeColumn(tooltip, columns[right], width)
+	end
+	wipe(tooltip.colspans)
+end
+
+local function _SetCell(tooltip, lineNum, colNum, value, font, justification, colSpan, provider, ...)
+	local line = tooltip.lines[lineNum]
+	local cells = line.cells
+
+	-- Unset: be quick
+	if value == nil then
+		local cell = cells[colNum]
+
+		if cell then
+			for i = colNum, colNum + cell._colSpan - 1 do
+				cells[i] = nil
+			end
+			ReleaseCell(cell)
+		end
+		return lineNum, colNum
+	end
+
+	-- Check previous cell
+	local cell
+	local prevCell = cells[colNum]
+
+	if prevCell then
+		-- There is a cell here
+		font = font or prevCell._font
+		justification = justification or prevCell._justification
+		colSpan = colSpan or prevCell._colSpan
+
+		-- Clear the currently marked colspan
+		for i = colNum + 1, colNum + prevCell._colSpan - 1 do
+			cells[i] = nil
+		end
+
+		if provider == nil or prevCell._provider == provider then
+			-- Reuse existing cell
+			cell = prevCell
+			provider = cell._provider
+		else
+			-- A new cell is required
+			cells[colNum] = ReleaseCell(prevCell)
+		end
+	elseif prevCell == nil then
+		-- Creating a new cell, using meaningful defaults.
+		provider = provider or tooltip.labelProvider
+		font = font or tooltip.regularFont
+		justification = justification or tooltip.columns[colNum].justification or "LEFT"
+		colSpan = colSpan or 1
+	else
+		error("overlapping cells at column "..colNum, 3)
+	end
+	local tooltipWidth = #tooltip.columns
+	local rightColNum
+
+	if colSpan > 0 then
+		rightColNum = colNum + colSpan - 1
+
+		if rightColNum > tooltipWidth then
+			error("ColSpan too big, cell extends beyond right-most column", 3)
+		end
+	else
+		-- Zero or negative: count back from right-most columns
+		rightColNum = max(colNum, tooltipWidth + colSpan)
+		-- Update colspan to its effective value
+		colSpan = 1 + rightColNum - colNum
+	end
+
+	-- Cleanup colspans
+	for i = colNum + 1, rightColNum do
+		local cell = cells[i]
+
+		if cell then
+			ReleaseCell(cell)
+		elseif cell == false then
+			error("overlapping cells at column "..i, 3)
+		end
+		cells[i] = false
+	end
+
+	-- Create the cell
+	if not cell then
+		cell = AcquireCell(tooltip, provider)
+		cells[colNum] = cell
+	end
+
+	-- Anchor the cell
+	cell:SetPoint("LEFT", tooltip.columns[colNum])
+	cell:SetPoint("RIGHT", tooltip.columns[rightColNum])
+	cell:SetPoint("TOP", line)
+	cell:SetPoint("BOTTOM", line)
+
+	-- Store the cell settings directly into the cell
+	-- That's a bit risky but is really cheap compared to other ways to do it
+	cell._font, cell._justification, cell._colSpan,	cell._line, cell._column = font, justification, colSpan, lineNum, colNum
+
+	-- Setup the cell content
+	local width, height = cell:SetupCell(tooltip, value, justification, font, ...)
+	cell:Show()
+
+	if colSpan > 1 then
+		-- Postpone width changes until the tooltip is shown
+		local colRange = colNum.."-"..rightColNum
+
+		tooltip.colspans[colRange] = max(tooltip.colspans[colRange] or 0, width)
+		layoutCleaner:RegisterForCleanup(tooltip)
+	else
+		-- Enlarge the column and tooltip if need be
+		EnlargeColumn(tooltip, tooltip.columns[colNum], width)
+	end
+
+	-- Enlarge the line and tooltip if need be
+	if height > line.height then
+		SetTooltipSize(tooltip, tooltip.width, tooltip.height + height - line.height)
+
+		line.height = height
+		line:SetHeight(height)
+	end
+
+	if rightColNum < tooltipWidth then
+		return lineNum, rightColNum + 1
+	else
+		return lineNum, nil
+	end
+end
+
+local function CreateLine(tooltip, font, ...)
+	if #tooltip.columns == 0 then
+		error("column layout should be defined before adding line", 3)
+	end
+	local lineNum = #tooltip.lines + 1
+	local line = tooltip.lines[lineNum] or AcquireFrame(tooltip.scrollChild)
+
+	line:SetFrameLevel(tooltip.scrollChild:GetFrameLevel() + 2)
+	line:SetPoint('LEFT', tooltip.scrollChild)
+	line:SetPoint('RIGHT', tooltip.scrollChild)
+
+	if lineNum > 1 then
+		local v_margin = tooltip.cell_margin_v or CELL_MARGIN_V
+
+		line:SetPoint('TOP', tooltip.lines[lineNum-1], 'BOTTOM', 0, -v_margin)
+		SetTooltipSize(tooltip, tooltip.width, tooltip.height + v_margin)
+	else
+		line:SetPoint('TOP', tooltip.scrollChild)
+	end
+	tooltip.lines[lineNum] = line
+	line.cells = line.cells or AcquireTable()
+	line.height = 0
+	line:SetHeight(1)
+	line:Show()
+
+	local colNum = 1
+
+	for i = 1, #tooltip.columns do
+		local value = select(i, ...)
+
+		if value ~= nil then
+			lineNum, colNum = _SetCell(tooltip, lineNum, i, value, font, nil, 1, tooltip.labelProvider)
+		end
+	end
+	return lineNum, colNum
+end
+
+function tipPrototype:AddLine(...)
+	return CreateLine(self, self.regularFont, ...)
+end
+
+function tipPrototype:AddHeader(...)
+	return CreateLine(self, self.headerFont, ...)
+end
+
+local GenericBackdrop = {
+	bgFile = "Interface\\Tooltips\\UI-Tooltip-Background",
+}
+
+function tipPrototype:AddSeparator(height, r, g, b, a)
+	local lineNum, colNum = self:AddLine()
+	local line = self.lines[lineNum]
+	local color = NORMAL_FONT_COLOR
+
+	height = height or 1
+	SetTooltipSize(self, self.width, self.height + height)
+	line.height = height
+	line:SetHeight(height)
+	line:SetBackdrop(GenericBackdrop)
+	line:SetBackdropColor(r or color.r, g or color.g, b or color.b, a or 1)
+	return lineNum, colNum
+end
+
+function tipPrototype:SetCellColor(lineNum, colNum, r, g, b, a)
+	local cell = self.lines[lineNum].cells[colNum]
+
+	if cell then
+		local sr, sg, sb, sa = self:GetBackdropColor()
+		cell:SetBackdrop(GenericBackdrop)
+		cell:SetBackdropColor(r or sr, g or sg, b or sb, a or sa)
+	end
+end
+
+function tipPrototype:SetColumnColor(colNum, r, g, b, a)
+	local column = self.columns[colNum]
+
+	if column then
+		local sr, sg, sb, sa = self:GetBackdropColor()
+		column:SetBackdrop(GenericBackdrop)
+		column:SetBackdropColor(r or sr, g or sg, b or sb, a or sa)
+	end
+end
+
+function tipPrototype:SetLineColor(lineNum, r, g, b, a)
+	local line = self.lines[lineNum]
+
+	if line then
+		local sr, sg, sb, sa = self:GetBackdropColor()
+		line:SetBackdrop(GenericBackdrop)
+		line:SetBackdropColor(r or sr, g or sg, b or sb, a or sa)
+	end
+end
+
+-- TODO: fixed argument positions / remove checks for performance?
+function tipPrototype:SetCell(lineNum, colNum, value, ...)
+	-- Mandatory argument checking
+	if type(lineNum) ~= "number" then
+		error("line number must be a number, not: "..tostring(lineNum), 2)
+	elseif lineNum < 1 or lineNum > #self.lines then
+		error("line number out of range: "..tostring(lineNum), 2)
+	elseif type(colNum) ~= "number" then
+		error("column number must be a number, not: "..tostring(colNum), 2)
+	elseif colNum < 1 or colNum > #self.columns then
+		error("column number out of range: "..tostring(colNum), 2)
+	end
+
+	-- Variable argument checking
+	local font, justification, colSpan, provider
+	local i, arg = 1, ...
+
+	if arg == nil or checkFont(arg, 2, true) then
+		i, font, arg = 2, ...
+	end
+
+	if arg == nil or checkJustification(arg, 2, true) then
+		i, justification, arg = i + 1, select(i, ...)
+	end
+
+	if arg == nil or type(arg) == 'number' then
+		i, colSpan, arg = i + 1, select(i, ...)
+	end
+
+	if arg == nil or type(arg) == 'table' and type(arg.AcquireCell) == 'function' then
+		i, provider = i + 1, arg
+	end
+
+	return _SetCell(self, lineNum, colNum, value, font, justification, colSpan, provider, select(i, ...))
+end
+
+function tipPrototype:GetLineCount() return #self.lines end
+
+function tipPrototype:GetColumnCount() return #self.columns end
+
+
+------------------------------------------------------------------------------
+-- Frame Scripts
+------------------------------------------------------------------------------
+local highlight = CreateFrame("Frame", nil, UIParent)
+highlight:SetFrameStrata("TOOLTIP")
+highlight:Hide()
+
+highlight._texture = highlight:CreateTexture(nil, "OVERLAY")
+highlight._texture:SetTexture("Interface\\QuestFrame\\UI-QuestTitleHighlight")
+highlight._texture:SetBlendMode("ADD")
+highlight._texture:SetAllPoints(highlight)
+
+local scripts = {
+	OnEnter = function(frame, ...)
+		highlight:SetParent(frame)
+		highlight:SetAllPoints(frame)
+		highlight:Show()
+		if frame._OnEnter_func then
+			frame:_OnEnter_func(frame._OnEnter_arg, ...)
+		end
+	end,
+	OnLeave = function(frame, ...)
+		highlight:Hide()
+		highlight:ClearAllPoints()
+		highlight:SetParent(nil)
+		if frame._OnLeave_func then
+			frame:_OnLeave_func(frame._OnLeave_arg, ...)
+		end
+	end,
+	OnMouseDown = function(frame, ...)
+		frame:_OnMouseDown_func(frame._OnMouseDown_arg, ...)
+	end,
+	OnMouseUp = function(frame, ...)
+		frame:_OnMouseUp_func(frame._OnMouseUp_arg, ...)
+	end,
+}
+
+function SetFrameScript(frame, script, func, arg)
+	if not scripts[script] then
+		return
+	end
+	frame["_"..script.."_func"] = func
+	frame["_"..script.."_arg"] = arg
+
+	if script == "OnMouseDown" or script == "OnMouseUp" then
+		if func then
+			frame:SetScript(script, scripts[script])
+		else
+			frame:SetScript(script, nil)
+		end
+	end
+
+	-- if at least one script is set, set the OnEnter/OnLeave scripts for the highlight
+	if frame._OnEnter_func or frame._OnLeave_func or frame._OnMouseDown_func or frame._OnMouseUp_func then
+		frame:EnableMouse(true)
+		frame:SetScript("OnEnter", scripts.OnEnter)
+		frame:SetScript("OnLeave", scripts.OnLeave)
+	else
+		frame:EnableMouse(false)
+		frame:SetScript("OnEnter", nil)
+		frame:SetScript("OnLeave", nil)
+	end
+end
+
+function ClearFrameScripts(frame)
+	if frame._OnEnter_func or frame._OnLeave_func or frame._OnMouseDown_func or frame._OnMouseUp_func then
+		frame:EnableMouse(false)
+		frame:SetScript("OnEnter", nil)
+		frame._OnEnter_func = nil
+		frame._OnEnter_arg = nil
+		frame:SetScript("OnLeave", nil)
+		frame._OnLeave_func = nil
+		frame._OnLeave_arg = nil
+		frame:SetScript("OnMouseDown", nil)
+		frame._OnMouseDown_func = nil
+		frame._OnMouseDown_arg = nil
+		frame:SetScript("OnMouseUp", nil)
+		frame._OnMouseUp_func = nil
+		frame._OnMouseUp_arg = nil
+	end
+end
+
+function tipPrototype:SetLineScript(lineNum, script, func, arg)
+	SetFrameScript(self.lines[lineNum], script, func, arg)
+end
+
+function tipPrototype:SetColumnScript(colNum, script, func, arg)
+	SetFrameScript(self.columns[colNum], script, func, arg)
+end
+
+function tipPrototype:SetCellScript(lineNum, colNum, script, func, arg)
+	local cell = self.lines[lineNum].cells[colNum]
+	if cell then
+		SetFrameScript(cell, script, func, arg)
+	end
+end
+
+------------------------------------------------------------------------------
+-- Auto-hiding feature
+------------------------------------------------------------------------------
+
+-- Script of the auto-hiding child frame
+local function AutoHideTimerFrame_OnUpdate(self, elapsed)
+	self.checkElapsed = self.checkElapsed + elapsed
+	if self.checkElapsed > 0.1 then
+		if self.parent:IsMouseOver() or (self.alternateFrame and self.alternateFrame:IsMouseOver()) then
+			self.elapsed = 0
+		else
+			self.elapsed = self.elapsed + self.checkElapsed
+			if self.elapsed >= self.delay then
+				lib:Release(self.parent)
+			end
+		end
+		self.checkElapsed = 0
+	end
+end
+
+-- Usage:
+-- :SetAutoHideDelay(0.25) => hides after 0.25sec outside of the tooltip
+-- :SetAutoHideDelay(0.25, someFrame) => hides after 0.25sec outside of both the tooltip and someFrame
+-- :SetAutoHideDelay() => disable auto-hiding (default)
+function tipPrototype:SetAutoHideDelay(delay, alternateFrame)
+	local timerFrame = self.autoHideTimerFrame
+	delay = tonumber(delay) or 0
+
+	if delay > 0 then
+		if not timerFrame then
+			timerFrame = AcquireFrame(self)
+			timerFrame:SetScript("OnUpdate", AutoHideTimerFrame_OnUpdate)
+			self.autoHideTimerFrame = timerFrame
+		end
+		timerFrame.parent = self
+		timerFrame.checkElapsed = 0
+		timerFrame.elapsed = 0
+		timerFrame.delay = delay
+		timerFrame.alternateFrame = alternateFrame
+		timerFrame:Show()
+	elseif timerFrame then
+		self.autoHideTimerFrame = nil
+		timerFrame.alternateFrame = nil
+		timerFrame:SetScript("OnUpdate", nil)
+		ReleaseFrame(timerFrame)
+	end
+end
+
+------------------------------------------------------------------------------
+-- "Smart" Anchoring
+------------------------------------------------------------------------------
+local function GetTipAnchor(frame)
+	local x,y = frame:GetCenter()
+	if not x or not y then return "TOPLEFT", "BOTTOMLEFT" end
+	local hhalf = (x > UIParent:GetWidth() * 2/3) and "RIGHT" or (x < UIParent:GetWidth() / 3) and "LEFT" or ""
+	local vhalf = (y > UIParent:GetHeight() / 2) and "TOP" or "BOTTOM"
+	return vhalf..hhalf, frame, (vhalf == "TOP" and "BOTTOM" or "TOP")..hhalf
+end
+
+function tipPrototype:SmartAnchorTo(frame)
+	if not frame then
+		error("Invalid frame provided.", 2)
+	end
+	self:ClearAllPoints()
+	self:SetClampedToScreen(true)
+	self:SetPoint(GetTipAnchor(frame))
+end
+
+------------------------------------------------------------------------------
+-- Debug slashcmds
+------------------------------------------------------------------------------
+--[===[@debug@
+local print = print
+local function PrintStats()
+	local tipCache = tostring(#tooltipHeap)
+	local frameCache = tostring(#frameHeap)
+	local tableCache = tostring(#tableHeap)
+	local header = false
+
+	print("Tooltips used: "..usedTooltips..", Cached: "..tipCache..", Total: "..tipCache + usedTooltips)
+	print("Frames used: "..usedFrames..", Cached: "..frameCache..", Total: "..frameCache + usedFrames)
+	print("Tables used: "..usedTables..", Cached: "..tableCache..", Total: "..tableCache + usedTables)
+
+	for k, v in pairs(activeTooltips) do
+		if not header then
+			print("Active tooltips:")
+			header = true
+		end
+		print("- "..k)
+	end
+end
+
+SLASH_LibQTip1 = "/qtip"
+SlashCmdList["LibQTip"] = PrintStats
+--@end-debug@]===]
diff --git a/libs/LibStub.lua b/libs/LibStub.lua
new file mode 100644
index 0000000..3c48e5e
--- /dev/null
+++ b/libs/LibStub.lua
@@ -0,0 +1,30 @@
+-- LibStub is a simple versioning stub meant for use in Libraries.  http://www.wowace.com/wiki/LibStub for more info
+-- LibStub is hereby placed in the Public Domain Credits: Kaelten, Cladhaire, ckknight, Mikk, Ammo, Nevcairiel, joshborke
+local LIBSTUB_MAJOR, LIBSTUB_MINOR = "LibStub", 2  -- NEVER MAKE THIS AN SVN REVISION! IT NEEDS TO BE USABLE IN ALL REPOS!
+local LibStub = _G[LIBSTUB_MAJOR]
+
+if not LibStub or LibStub.minor < LIBSTUB_MINOR then
+	LibStub = LibStub or {libs = {}, minors = {} }
+	_G[LIBSTUB_MAJOR] = LibStub
+	LibStub.minor = LIBSTUB_MINOR
+
+	function LibStub:NewLibrary(major, minor)
+		assert(type(major) == "string", "Bad argument #2 to `NewLibrary' (string expected)")
+		minor = assert(tonumber(strmatch(minor, "%d+")), "Minor version must either be a number or contain a number.")
+
+		local oldminor = self.minors[major]
+		if oldminor and oldminor >= minor then return nil end
+		self.minors[major], self.libs[major] = minor, self.libs[major] or {}
+		return self.libs[major], oldminor
+	end
+
+	function LibStub:GetLibrary(major, silent)
+		if not self.libs[major] and not silent then
+			error(("Cannot find a library instance of %q."):format(tostring(major)), 2)
+		end
+		return self.libs[major], self.minors[major]
+	end
+
+	function LibStub:IterateLibraries() return pairs(self.libs) end
+	setmetatable(LibStub, { __call = LibStub.GetLibrary })
+end
diff --git a/libs/tekKonfig/tekKonfig.xml b/libs/tekKonfig/tekKonfig.xml
new file mode 100644
index 0000000..643421e
--- /dev/null
+++ b/libs/tekKonfig/tekKonfig.xml
@@ -0,0 +1,11 @@
+<Ui xmlns="http://www.blizzard.com/wow/ui/">
+<Script file="tekKonfigAboutPanel.lua"/>
+<Script file="tekKonfigButton.lua"/>
+<Script file="tekKonfigCheckbox.lua"/>
+<Script file="tekKonfigDropdown.lua" />
+<Script file="tekKonfigGroup.lua"/>
+<Script file="tekKonfigHeading.lua"/>
+<Script file="tekKonfigScroll.lua"/>
+<Script file="tekKonfigSlider.lua"/>
+<Script file="tekKonfigTopTab.lua"/>
+</Ui>
\ No newline at end of file
diff --git a/libs/tekKonfig/tekKonfigAboutPanel.lua b/libs/tekKonfig/tekKonfigAboutPanel.lua
new file mode 100644
index 0000000..2547979
--- /dev/null
+++ b/libs/tekKonfig/tekKonfigAboutPanel.lua
@@ -0,0 +1,115 @@
+
+local lib, oldminor = LibStub:NewLibrary("tekKonfig-AboutPanel", 5)
+if not lib then return end
+
+
+function lib.new(parent, addonname)
+	local frame = CreateFrame("Frame", nil, InterfaceOptionsFramePanelContainer)
+	frame.name, frame.parent, frame.addonname = parent and "About" or addonname, parent, addonname
+	frame:Hide()
+	frame:SetScript("OnShow", lib.OnShow)
+	InterfaceOptions_AddCategory(frame)
+	return frame
+end
+
+
+local editbox = CreateFrame('EditBox', nil, UIParent)
+editbox:Hide()
+editbox:SetAutoFocus(true)
+editbox:SetHeight(32)
+editbox:SetFontObject('GameFontHighlightSmall')
+lib.editbox = editbox
+
+local left = editbox:CreateTexture(nil, "BACKGROUND")
+left:SetWidth(8) left:SetHeight(20)
+left:SetPoint("LEFT", -5, 0)
+left:SetTexture("Interface\\Common\\Common-Input-Border")
+left:SetTexCoord(0, 0.0625, 0, 0.625)
+
+local right = editbox:CreateTexture(nil, "BACKGROUND")
+right:SetWidth(8) right:SetHeight(20)
+right:SetPoint("RIGHT", 0, 0)
+right:SetTexture("Interface\\Common\\Common-Input-Border")
+right:SetTexCoord(0.9375, 1, 0, 0.625)
+
+local center = editbox:CreateTexture(nil, "BACKGROUND")
+center:SetHeight(20)
+center:SetPoint("RIGHT", right, "LEFT", 0, 0)
+center:SetPoint("LEFT", left, "RIGHT", 0, 0)
+center:SetTexture("Interface\\Common\\Common-Input-Border")
+center:SetTexCoord(0.0625, 0.9375, 0, 0.625)
+
+editbox:SetScript("OnEscapePressed", editbox.ClearFocus)
+editbox:SetScript("OnEnterPressed", editbox.ClearFocus)
+editbox:SetScript("OnEditFocusLost", editbox.Hide)
+editbox:SetScript("OnEditFocusGained", editbox.HighlightText)
+editbox:SetScript("OnTextChanged", function(self)
+	self:SetText(self:GetParent().val)
+	self:HighlightText()
+end)
+
+
+function lib.OpenEditbox(self)
+	editbox:SetText(self.val)
+	editbox:SetParent(self)
+	editbox:SetPoint("LEFT", self)
+	editbox:SetPoint("RIGHT", self)
+	editbox:Show()
+end
+
+
+local fields = {"Version", "Author", "X-Category", "X-License", "X-Email", "X-Website", "X-Credits"}
+local haseditbox = {["Version"] = true, ["X-Website"] = true, ["X-Email"] = true}
+local function HideTooltip() GameTooltip:Hide() end
+local function ShowTooltip(self)
+	GameTooltip:SetOwner(self, "ANCHOR_TOPRIGHT")
+	GameTooltip:SetText("Click and press Ctrl-C to copy")
+end
+function lib.OnShow(frame)
+	local notes = GetAddOnMetadata(frame.addonname, "Notes")
+
+	local title = frame:CreateFontString(nil, "ARTWORK", "GameFontNormalLarge")
+	title:SetPoint("TOPLEFT", 16, -16)
+	title:SetText((frame.parent or frame.addonname).." - About")
+
+	local subtitle = frame:CreateFontString(nil, "ARTWORK", "GameFontHighlightSmall")
+	subtitle:SetHeight(32)
+	subtitle:SetPoint("TOPLEFT", title, "BOTTOMLEFT", 0, -8)
+	subtitle:SetPoint("RIGHT", parent, -32, 0)
+	subtitle:SetNonSpaceWrap(true)
+	subtitle:SetJustifyH("LEFT")
+	subtitle:SetJustifyV("TOP")
+	subtitle:SetText(notes)
+
+	local anchor
+	for _,field in pairs(fields) do
+		local val = GetAddOnMetadata(frame.addonname, field)
+		if val then
+			local title = frame:CreateFontString(nil, "ARTWORK", "GameFontNormalSmall")
+			title:SetWidth(75)
+			if not anchor then title:SetPoint("TOPLEFT", subtitle, "BOTTOMLEFT", -2, -8)
+			else title:SetPoint("TOPLEFT", anchor, "BOTTOMLEFT", 0, -6) end
+			title:SetJustifyH("RIGHT")
+			title:SetText(field:gsub("X%-", ""))
+
+			local detail = frame:CreateFontString(nil, "ARTWORK", "GameFontHighlightSmall")
+			detail:SetPoint("LEFT", title, "RIGHT", 4, 0)
+			detail:SetPoint("RIGHT", -16, 0)
+			detail:SetJustifyH("LEFT")
+			detail:SetText((haseditbox[field] and "|cff9999ff" or "").. val)
+
+			if haseditbox[field] then
+				local button = CreateFrame("Button", nil, frame)
+				button:SetAllPoints(detail)
+				button.val = val
+				button:SetScript("OnClick", lib.OpenEditbox)
+				button:SetScript("OnEnter", ShowTooltip)
+				button:SetScript("OnLeave", HideTooltip)
+			end
+
+			anchor = title
+		end
+	end
+
+	frame:SetScript("OnShow", nil)
+end
diff --git a/libs/tekKonfig/tekKonfigButton.lua b/libs/tekKonfig/tekKonfigButton.lua
new file mode 100644
index 0000000..4456258
--- /dev/null
+++ b/libs/tekKonfig/tekKonfigButton.lua
@@ -0,0 +1,55 @@
+
+local lib, oldminor = LibStub:NewLibrary("tekKonfig-Button", 5)
+if not lib then return end
+oldminor = oldminor or 0
+
+
+if oldminor < 5 then
+	local GameTooltip = GameTooltip
+	local function HideTooltip() GameTooltip:Hide() end
+	local function ShowTooltip(self)
+		if self.tiptext then
+			GameTooltip:SetOwner(self, "ANCHOR_RIGHT")
+			GameTooltip:SetText(self.tiptext, nil, nil, nil, nil, true)
+		end
+	end
+
+
+	-- Create a button.
+	-- All args optional, parent recommended
+	function lib.new(parent, ...)
+		local butt = CreateFrame("Button", nil, parent)
+		if select("#", ...) > 0 then butt:SetPoint(...) end
+		butt:SetWidth(80) butt:SetHeight(22)
+
+		-- Fonts --
+		butt:SetDisabledFontObject(GameFontDisable)
+		butt:SetHighlightFontObject(GameFontHighlight)
+		butt:SetNormalFontObject(GameFontNormal)
+
+		-- Textures --
+		butt:SetNormalTexture("Interface\\Buttons\\UI-Panel-Button-Up")
+		butt:SetPushedTexture("Interface\\Buttons\\UI-Panel-Button-Down")
+		butt:SetHighlightTexture("Interface\\Buttons\\UI-Panel-Button-Highlight")
+		butt:SetDisabledTexture("Interface\\Buttons\\UI-Panel-Button-Disabled")
+		butt:GetNormalTexture():SetTexCoord(0, 0.625, 0, 0.6875)
+		butt:GetPushedTexture():SetTexCoord(0, 0.625, 0, 0.6875)
+		butt:GetHighlightTexture():SetTexCoord(0, 0.625, 0, 0.6875)
+		butt:GetDisabledTexture():SetTexCoord(0, 0.625, 0, 0.6875)
+		butt:GetHighlightTexture():SetBlendMode("ADD")
+
+		-- Tooltip bits
+		butt:SetScript("OnEnter", ShowTooltip)
+		butt:SetScript("OnLeave", HideTooltip)
+
+		return butt
+	end
+
+
+	function lib.new_small(parent, ...)
+		local butt = lib.new(parent, ...)
+		butt:SetHighlightFontObject(GameFontHighlightSmall)
+		butt:SetNormalFontObject(GameFontNormalSmall)
+		return butt
+	end
+end
diff --git a/libs/tekKonfig/tekKonfigCheckbox.lua b/libs/tekKonfig/tekKonfigCheckbox.lua
new file mode 100644
index 0000000..180c9f0
--- /dev/null
+++ b/libs/tekKonfig/tekKonfigCheckbox.lua
@@ -0,0 +1,46 @@
+
+local lib, oldminor = LibStub:NewLibrary("tekKonfig-Checkbox", 1)
+if not lib then return end
+
+
+local GameTooltip = GameTooltip
+local function HideTooltip() GameTooltip:Hide() end
+local function ShowTooltip(self)
+	if self.tiptext then
+		GameTooltip:SetOwner(self, "ANCHOR_RIGHT")
+		GameTooltip:SetText(self.tiptext, nil, nil, nil, nil, true)
+	end
+end
+local function OnClick(self) PlaySound(self:GetChecked() and "igMainMenuOptionCheckBoxOn" or "igMainMenuOptionCheckBoxOff") end
+
+
+-- Creates a checkbox.
+-- All args optional but parent is highly recommended
+function lib.new(parent, size, label, ...)
+	local check = CreateFrame("CheckButton", nil, parent)
+	check:SetWidth(size or 26)
+	check:SetHeight(size or 26)
+	if select(1, ...) then check:SetPoint(...) end
+
+	check:SetHitRectInsets(0, -100, 0, 0)
+
+	check:SetNormalTexture("Interface\\Buttons\\UI-CheckBox-Up")
+	check:SetPushedTexture("Interface\\Buttons\\UI-CheckBox-Down")
+	check:SetHighlightTexture("Interface\\Buttons\\UI-CheckBox-Highlight")
+	check:SetDisabledCheckedTexture("Interface\\Buttons\\UI-CheckBox-Check-Disabled")
+	check:SetCheckedTexture("Interface\\Buttons\\UI-CheckBox-Check")
+
+	-- Tooltip bits
+	check:SetScript("OnEnter", ShowTooltip)
+	check:SetScript("OnLeave", HideTooltip)
+
+	-- Sound
+	check:SetScript("OnClick", OnClick)
+
+	-- Label
+	local fs = check:CreateFontString(nil, "ARTWORK", "GameFontHighlight")
+	fs:SetPoint("LEFT", check, "RIGHT", 0, 1)
+	fs:SetText(label)
+
+	return check, fs
+end
diff --git a/libs/tekKonfig/tekKonfigDropdown.lua b/libs/tekKonfig/tekKonfigDropdown.lua
new file mode 100644
index 0000000..42a9b16
--- /dev/null
+++ b/libs/tekKonfig/tekKonfigDropdown.lua
@@ -0,0 +1,85 @@
+local lib, oldminor = LibStub:NewLibrary("tekKonfig-Dropdown", 3)
+if not lib then return end
+oldminor = oldminor or 0
+
+
+local GameTooltip = GameTooltip
+local function HideTooltip() GameTooltip:Hide() end
+local function ShowTooltip(self)
+	if self.frame.tiptext then
+		GameTooltip:SetOwner(self, "ANCHOR_TOPRIGHT")
+		GameTooltip:SetText(self.frame.tiptext, nil, nil, nil, nil, true)
+	end
+end
+local function ShowTooltip2(self) ShowTooltip(self.container) end
+
+
+local function OnClick(self)
+	ToggleDropDownMenu(nil, nil, self:GetParent())
+	PlaySound("igMainMenuOptionCheckBoxOn")
+end
+
+local function OnHide() CloseDropDownMenus() end
+
+
+-- Create a dropdown.
+-- All args optional, parent recommended
+function lib.new(parent, label, ...)
+	local container = CreateFrame("Button", nil, parent)
+	container:SetWidth(149+13) container:SetHeight(32+24)
+	container:SetScript("OnEnter", ShowTooltip)
+	container:SetScript("OnLeave", HideTooltip)
+	if select("#", ...) > 0 then container:SetPoint(...) end
+
+	local name = "tekKonfigDropdown"..GetTime()  -- Sadly, some of these frames must be named
+	local f = CreateFrame("Frame", name, parent)
+	f:SetWidth(149) f:SetHeight(32)
+	f:SetPoint("TOPLEFT", container, -13, -24)
+	f:EnableMouse(true)
+	f:SetScript("OnHide", OnHide)
+	container.frame = f
+
+	local ltex = f:CreateTexture(name.."Left", "ARTWORK")
+	ltex:SetWidth(25) ltex:SetHeight(64)
+	ltex:SetPoint("TOPLEFT", 0, 17)
+	ltex:SetTexture("Interface\\Glues\\CharacterCreate\\CharacterCreate-LabelFrame")
+	ltex:SetTexCoord(0, 0.1953125, 0, 1)
+
+	local rtex = f:CreateTexture(nil, "ARTWORK")
+	rtex:SetWidth(25) rtex:SetHeight(64)
+	rtex:SetPoint("RIGHT")
+	rtex:SetTexture("Interface\\Glues\\CharacterCreate\\CharacterCreate-LabelFrame")
+	rtex:SetTexCoord(0.8046875, 1, 0, 1)
+
+	local mtex = f:CreateTexture(nil, "ARTWORK")
+	mtex:SetWidth(115) mtex:SetHeight(64)
+	mtex:SetPoint("LEFT", ltex, "RIGHT")
+	mtex:SetPoint("RIGHT", rtex, "LEFT")
+	mtex:SetTexture("Interface\\Glues\\CharacterCreate\\CharacterCreate-LabelFrame")
+	mtex:SetTexCoord(0.1953125, 0.8046875, 0, 1)
+
+	local text = f:CreateFontString(name.."Text", "ARTWORK", "GameFontHighlightSmall")
+	text:SetWidth(0) text:SetHeight(10)
+	text:SetPoint("RIGHT", rtex, -43, 2)
+	text:SetJustifyH("RIGHT")
+
+	local button = CreateFrame("Button", nil, f)
+	button:SetWidth(24) button:SetHeight(24)
+	button:SetPoint("TOPRIGHT", rtex, -16, -18)
+	button:SetScript("OnClick", OnClick)
+	button:SetScript("OnEnter", ShowTooltip2)
+	button.container = container
+
+	button:SetNormalTexture("Interface\\ChatFrame\\UI-ChatIcon-ScrollDown-Up")
+	button:SetPushedTexture("Interface\\ChatFrame\\UI-ChatIcon-ScrollDown-Down")
+	button:SetHighlightTexture("Interface\\Buttons\\UI-Common-MouseHilight")
+	button:SetDisabledTexture("Interface\\ChatFrame\\UI-ChatIcon-ScrollDown-Disabled")
+	button:GetHighlightTexture():SetBlendMode("ADD")
+
+	local labeltext = f:CreateFontString(nil, "BACKGROUND", "GameFontNormal")--GameFontHighlight
+	labeltext:SetPoint("BOTTOMLEFT", container, "TOPLEFT", 16-13, 3-24)
+	labeltext:SetText(label)
+
+	return f, text, container, labeltext
+end
+
diff --git a/libs/tekKonfig/tekKonfigGroup.lua b/libs/tekKonfig/tekKonfigGroup.lua
new file mode 100644
index 0000000..d406c54
--- /dev/null
+++ b/libs/tekKonfig/tekKonfigGroup.lua
@@ -0,0 +1,31 @@
+
+local lib, oldminor = LibStub:NewLibrary("tekKonfig-Group", 2)
+if not lib then return end
+
+lib.bg = {
+	bgFile = "Interface\\ChatFrame\\ChatFrameBackground",
+	edgeFile = "Interface\\Tooltips\\UI-Tooltip-Border",
+	tile = true,
+	tileSize = 16,
+	edgeSize = 16,
+	insets = { left = 5, right = 5, top = 5, bottom = 5 }
+}
+
+
+-- Creates a background box to place behind widgets for visual grouping.
+-- All args optional, parent highly recommended
+function lib.new(parent, label, ...)
+	local box = CreateFrame('Frame', nil, parent)
+	box:SetBackdrop(lib.bg)
+	box:SetBackdropBorderColor(0.4, 0.4, 0.4)
+	box:SetBackdropColor(0.1, 0.1, 0.1)
+	if select('#',...) > 0 then box:SetPoint(...) end
+
+	if label then
+		local fs = box:CreateFontString(nil, "OVERLAY", "GameFontNormalSmall")
+		fs:SetPoint("BOTTOMLEFT", box, "TOPLEFT", 16, 0)
+		fs:SetText(label)
+	end
+
+	return box
+end
diff --git a/libs/tekKonfig/tekKonfigHeading.lua b/libs/tekKonfig/tekKonfigHeading.lua
new file mode 100644
index 0000000..774bf80
--- /dev/null
+++ b/libs/tekKonfig/tekKonfigHeading.lua
@@ -0,0 +1,24 @@
+
+local lib, oldminor = LibStub:NewLibrary("tekKonfig-Heading", 1)
+if not lib then return end
+
+
+-- Creates a heading and subheading
+-- parent is required, texts are optional
+function lib.new(parent, text, subtext)
+	local title = parent:CreateFontString(nil, "ARTWORK", "GameFontNormalLarge")
+	title:SetPoint("TOPLEFT", 16, -16)
+	title:SetText(text)
+
+	local subtitle = parent:CreateFontString(nil, "ARTWORK", "GameFontHighlightSmall")
+	subtitle:SetHeight(32)
+	subtitle:SetPoint("TOPLEFT", title, "BOTTOMLEFT", 0, -8)
+	subtitle:SetPoint("RIGHT", parent, -32, 0)
+--~ 	nonSpaceWrap="true" maxLines="3"
+	subtitle:SetNonSpaceWrap(true)
+	subtitle:SetJustifyH("LEFT")
+	subtitle:SetJustifyV("TOP")
+	subtitle:SetText(subtext)
+
+	return title, subtitle
+end
diff --git a/libs/tekKonfig/tekKonfigScroll.lua b/libs/tekKonfig/tekKonfigScroll.lua
new file mode 100644
index 0000000..ff69b13
--- /dev/null
+++ b/libs/tekKonfig/tekKonfigScroll.lua
@@ -0,0 +1,80 @@
+
+local lib, oldminor = LibStub:NewLibrary("tekKonfig-Scroll", 2)
+if not lib then return end
+
+lib.bg = {
+	edgeFile = "Interface\\Tooltips\\UI-Tooltip-Border",
+	tile = true,
+	tileSize = 16,
+	edgeSize = 12,
+	insets = { left = 0, right = 0, top = 5, bottom = 5 }
+}
+
+-- Creates a scrollbar
+-- Parent is required, offset and step are optional
+function lib.new(parent, offset, step)
+	local f = CreateFrame("Slider", nil, parent)
+	f:SetWidth(16)
+
+	f:SetPoint("TOPRIGHT", 0 - (offset or 0), -16 - (offset or 0))
+	f:SetPoint("BOTTOMRIGHT", 0 - (offset or 0), 16 + (offset or 0))
+
+	local up = CreateFrame("Button", nil, f)
+	up:SetPoint("BOTTOM", f, "TOP")
+	up:SetWidth(16) up:SetHeight(16)
+	up:SetNormalTexture("Interface\\Buttons\\UI-ScrollBar-ScrollUpButton-Up")
+	up:SetPushedTexture("Interface\\Buttons\\UI-ScrollBar-ScrollUpButton-Down")
+	up:SetDisabledTexture("Interface\\Buttons\\UI-ScrollBar-ScrollUpButton-Disabled")
+	up:SetHighlightTexture("Interface\\Buttons\\UI-ScrollBar-ScrollUpButton-Highlight")
+
+	up:GetNormalTexture():SetTexCoord(1/4, 3/4, 1/4, 3/4)
+	up:GetPushedTexture():SetTexCoord(1/4, 3/4, 1/4, 3/4)
+	up:GetDisabledTexture():SetTexCoord(1/4, 3/4, 1/4, 3/4)
+	up:GetHighlightTexture():SetTexCoord(1/4, 3/4, 1/4, 3/4)
+	up:GetHighlightTexture():SetBlendMode("ADD")
+
+	up:SetScript("OnClick", function(self)
+		local parent = self:GetParent()
+		parent:SetValue(parent:GetValue() - (step or parent:GetHeight()/2))
+		PlaySound("UChatScrollButton")
+	end)
+
+	local down = CreateFrame("Button", nil, f)
+	down:SetPoint("TOP", f, "BOTTOM")
+	down:SetWidth(16) down:SetHeight(16)
+	down:SetNormalTexture("Interface\\Buttons\\UI-ScrollBar-ScrollDownButton-Up")
+	down:SetPushedTexture("Interface\\Buttons\\UI-ScrollBar-ScrollDownButton-Down")
+	down:SetDisabledTexture("Interface\\Buttons\\UI-ScrollBar-ScrollDownButton-Disabled")
+	down:SetHighlightTexture("Interface\\Buttons\\UI-ScrollBar-ScrollDownButton-Highlight")
+
+	down:GetNormalTexture():SetTexCoord(1/4, 3/4, 1/4, 3/4)
+	down:GetPushedTexture():SetTexCoord(1/4, 3/4, 1/4, 3/4)
+	down:GetDisabledTexture():SetTexCoord(1/4, 3/4, 1/4, 3/4)
+	down:GetHighlightTexture():SetTexCoord(1/4, 3/4, 1/4, 3/4)
+	down:GetHighlightTexture():SetBlendMode("ADD")
+
+	down:SetScript("OnClick", function(self)
+		local parent = self:GetParent()
+		parent:SetValue(parent:GetValue() + (step or parent:GetHeight()/2))
+		PlaySound("UChatScrollButton")
+	end)
+
+	f:SetThumbTexture("Interface\\Buttons\\UI-ScrollBar-Knob")
+	local thumb = f:GetThumbTexture()
+	thumb:SetWidth(16) thumb:SetHeight(24)
+	thumb:SetTexCoord(1/4, 3/4, 1/8, 7/8)
+
+	f:SetScript("OnValueChanged", function(self, value)
+		local min, max = self:GetMinMaxValues()
+		if value == min then up:Disable() else up:Enable() end
+		if value == max then down:Disable() else down:Enable() end
+	end)
+
+	local border = CreateFrame("Frame", nil, f)
+	border:SetPoint("TOPLEFT", up, -5, 5)
+	border:SetPoint("BOTTOMRIGHT", down, 5, -3)
+	border:SetBackdrop(lib.bg)
+	border:SetBackdropBorderColor(TOOLTIP_DEFAULT_COLOR.r, TOOLTIP_DEFAULT_COLOR.g, TOOLTIP_DEFAULT_COLOR.b, 0.5)
+
+	return f, up, down, border
+end
diff --git a/libs/tekKonfig/tekKonfigSlider.lua b/libs/tekKonfig/tekKonfigSlider.lua
new file mode 100644
index 0000000..98ec4cc
--- /dev/null
+++ b/libs/tekKonfig/tekKonfigSlider.lua
@@ -0,0 +1,86 @@
+
+local lib, oldminor = LibStub:NewLibrary("tekKonfig-Slider", 3)
+if not lib then return end
+oldminor = oldminor or 0
+
+
+local GameTooltip = GameTooltip
+local function HideTooltip() GameTooltip:Hide() end
+local function ShowTooltip(self)
+	if self.tiptext then
+		GameTooltip:SetOwner(self, "ANCHOR_RIGHT")
+		GameTooltip:SetText(self.tiptext, nil, nil, nil, nil, true)
+	end
+end
+
+
+local HorizontalSliderBG = {
+	bgFile = "Interface\\Buttons\\UI-SliderBar-Background",
+	edgeFile = "Interface\\Buttons\\UI-SliderBar-Border",
+	edgeSize = 8, tile = true, tileSize = 8,
+	insets = {left = 3, right = 3, top = 6, bottom = 6}
+}
+
+
+if oldminor < 2 then
+	-- Create a slider.
+	-- All args optional, parent recommended
+	-- If lowvalue and highvalue are strings it is assumed they are % values
+	-- and the % is parsed and set as decimal values for min/max
+	function lib.new(parent, label, lowvalue, highvalue, ...)
+		local container = CreateFrame("Frame", nil, parent)
+		container:SetWidth(144)
+		container:SetHeight(17+12+10)
+		if select(1, ...) then container:SetPoint(...) end
+
+		local slider = CreateFrame("Slider", nil, container)
+		slider:SetPoint("LEFT")
+		slider:SetPoint("RIGHT")
+		slider:SetHeight(17)
+		slider:SetHitRectInsets(0, 0, -10, -10)
+		slider:SetOrientation("HORIZONTAL")
+		slider:EnableMouseWheel(1)
+		slider:SetThumbTexture("Interface\\Buttons\\UI-SliderBar-Button-Horizontal") -- Dim: 32x32... can't find API to set this?
+		slider:SetBackdrop(HorizontalSliderBG)
+
+		local text = slider:CreateFontString(nil, "ARTWORK", "GameFontNormal")
+		text:SetPoint("BOTTOM", slider, "TOP")
+		text:SetText(label)
+
+		local low = slider:CreateFontString(nil, "ARTWORK", "GameFontHighlightSmall")
+		low:SetPoint("TOPLEFT", slider, "BOTTOMLEFT", -4, 3)
+		low:SetText(lowvalue)
+
+		local high = slider:CreateFontString(nil, "ARTWORK", "GameFontHighlightSmall")
+		high:SetPoint("TOPRIGHT", slider, "BOTTOMRIGHT", 4, 3)
+		high:SetText(highvalue)
+
+		if type(lowvalue) == "string" then slider:SetMinMaxValues(tonumber((lowvalue:gsub("%%", "")))/100, tonumber((highvalue:gsub("%%", "")))/100)
+		else slider:SetMinMaxValues(lowvalue, highvalue) end
+
+		-- Tooltip bits
+		slider:SetScript("OnEnter", ShowTooltip)
+		slider:SetScript("OnLeave", HideTooltip)
+
+		return slider, text, container, low, high
+	end
+end
+
+
+-- Create a slider without labels.
+-- All args optional, parent recommended
+function lib.newbare(parent, ...)
+	local slider = CreateFrame("Slider", nil, parent)
+	slider:SetHeight(17)
+	slider:SetWidth(144)
+	if select(1, ...) then slider:SetPoint(...) end
+	slider:SetOrientation("HORIZONTAL")
+	slider:SetThumbTexture("Interface\\Buttons\\UI-SliderBar-Button-Horizontal") -- Dim: 32x32... can't find API to set this?
+	slider:SetBackdrop(HorizontalSliderBG)
+
+	-- Tooltip bits
+	slider:SetScript("OnEnter", ShowTooltip)
+	slider:SetScript("OnLeave", HideTooltip)
+
+	return slider
+end
diff --git a/libs/tekKonfig/tekKonfigTopTab.lua b/libs/tekKonfig/tekKonfigTopTab.lua
new file mode 100644
index 0000000..d7c588c
--- /dev/null
+++ b/libs/tekKonfig/tekKonfigTopTab.lua
@@ -0,0 +1,68 @@
+
+local lib, oldminor = LibStub:NewLibrary("tekKonfig-TopTab", 1)
+if not lib then return end
+oldminor = oldminor or 0
+
+
+function lib:activatetab()
+	self.left:ClearAllPoints()
+	self.left:SetPoint("TOPLEFT")
+	self.left:SetTexture("Interface\\OptionsFrame\\UI-OptionsFrame-ActiveTab")
+	self.middle:SetTexture("Interface\\OptionsFrame\\UI-OptionsFrame-ActiveTab")
+	self.right:SetTexture("Interface\\OptionsFrame\\UI-OptionsFrame-ActiveTab")
+	self:Disable()
+end
+
+function lib:deactivatetab()
+	self.left:ClearAllPoints()
+	self.left:SetPoint("BOTTOMLEFT", 0, 2)
+	self.left:SetTexture("Interface\\OptionsFrame\\UI-OptionsFrame-InActiveTab")
+	self.middle:SetTexture("Interface\\OptionsFrame\\UI-OptionsFrame-InActiveTab")
+	self.right:SetTexture("Interface\\OptionsFrame\\UI-OptionsFrame-InActiveTab")
+	self:Enable()
+end
+
+function lib:SetTextHelper(...) self:SetWidth(40 + self:GetFontString():GetStringWidth()); return ... end
+function lib:NewSetText(...) return lib.SetTextHelper(self, self.OrigSetText(self, ...)) end
+
+function lib.new(parent, text, ...)
+	local tab = CreateFrame("Button", nil, parent)
+	tab:SetHeight(24)
+	tab:SetPoint(...)
+	tab:SetFrameLevel(tab:GetFrameLevel() + 4)
+
+	tab.left = tab:CreateTexture(nil, "BORDER")
+	tab.left:SetWidth(20) tab.left:SetHeight(24)
+	tab.left:SetTexCoord(0, 0.15625, 0, 1)
+
+	tab.right = tab:CreateTexture(nil, "BORDER")
+	tab.right:SetWidth(20) tab.right:SetHeight(24)
+	tab.right:SetPoint("TOP", tab.left)
+	tab.right:SetPoint("RIGHT", tab)
+	tab.right:SetTexCoord(0.84375, 1, 0, 1)
+
+	tab.middle = tab:CreateTexture(nil, "BORDER")
+	tab.middle:SetHeight(24)
+	tab.middle:SetPoint("LEFT", tab.left, "RIGHT")
+	tab.middle:SetPoint("RIGHT", tab.right, "Left")
+	tab.middle:SetTexCoord(0.15625, 0.84375, 0, 1)
+
+	tab:SetHighlightTexture("Interface\\PaperDollInfoFrame\\UI-Character-Tab-Highlight", "ADD")
+	local hilite = tab:GetHighlightTexture()
+	hilite:ClearAllPoints()
+	hilite:SetPoint("LEFT", 10, -4)
+	hilite:SetPoint("RIGHT", -10, -4)
+
+	tab:SetDisabledFontObject(GameFontHighlightSmall)
+	tab:SetHighlightFontObject(GameFontHighlightSmall)
+	tab:SetNormalFontObject(GameFontNormalSmall)
+	tab.OrigSetText = tab.SetText
+	tab.SetText = lib.NewSetText
+	tab:SetText(text)
+
+	tab.Activate, tab.Deactivate = lib.activatetab, lib.deactivatetab
+	tab:Activate()
+
+	return tab
+end
+
diff --git a/locale/deDE.lua b/locale/deDE.lua
new file mode 100644
index 0000000..fb0acbb
--- /dev/null
+++ b/locale/deDE.lua
@@ -0,0 +1,229 @@
+-- German localisation file
+_, BrokerGarbage = ...
+
+if GetLocale() == "deDE" then
+	BrokerGarbage.locale.label = "Kein Müll"
+
+	-- Chat Messages
+	BrokerGarbage.locale.sellAndRepair = "Müll für %1$s verkauft, repariert für %2$s. Änderung: %3$s."
+	BrokerGarbage.locale.repair = "Repariert für %s."
+	BrokerGarbage.locale.sell = "Müll verkauft für %s."
+
+	BrokerGarbage.locale.addedTo_exclude = "%s zur Behalten-Liste hinzugefügt."
+	BrokerGarbage.locale.addedTo_forceVendorPrice = "Für %s wird nun nur der Händlerpreis genutzt."
+	BrokerGarbage.locale.addedTo_include = "%s zur Müll-Liste hinzugefügt."
+	BrokerGarbage.locale.addedTo_autoSellList = "%s wird bei Händlern automatisch verkauft."
+	BrokerGarbage.locale.itemAlreadyOnList = "%s ist bereits auf dieser Liste!"
+	BrokerGarbage.locale.limitSet = "Für %s wurde das Limit auf %d gesetzt."
+	BrokerGarbage.locale.itemDeleted = "%1$sx%2$d wurde gelöscht."
+	BrokerGarbage.locale.couldNotRepair = "Konnte nicht reparieren, da du nicht genug Geld hast. Du brauchst %s."
+
+	BrokerGarbage.locale.listsUpdatedPleaseCheck = "Die Listeneinstellungen wurden geändert. Bitte sieh in den Einstellungen nach, ob sie für dich passend sind."
+	BrokerGarbage.locale.slashCommandHelp = [[Folgende Kommandos werden unterstützt:
+/garbage |cffc0c0c0config|r öffnet die Optionen.
+/garbage |cffc0c0c0format |cffc0c0ffformatstring|r lässt dich das Format der LDB Anzeige anpassen, |cffc0c0c0 format reset|r setzt es zurück.
+/garbage |cffc0c0c0limit |cffc0c0ffitemLink/ID Anzahl|r setzt ein Limit für das gewählte Item für den aktuellen Charakter.
+/garbage |cffc0c0c0globallimit |cffc0c0ffitemLink/ID Anzahl|r setzt ein Limit für alle Charaktere.
+/garbage |cffc0c0c0value |cffc0c0ffWertInKupfer|r setzt den Itemwert, ab dem Items gelootet werden (benötigt den Loot Manager).
+/garbage |cffc0c0c0freeslots |cffc0c0ffnumber|r setzt die Anzahl an Taschenplätzen, die frei bleiben sollen.]]
+	BrokerGarbage.locale.minValueSet = "Mindestwert für items wurde auf %s gesetzt."
+	BrokerGarbage.locale.minSlotsSet = "Der Loot Manager wird versuchen, mindestens %s Inventarplätze frei halten."
+	BrokerGarbage.locale.invalidArgument = "Ungültiges Argument. Bitte überprüfe deine Eingabe!"
+
+	BrokerGarbage.locale.GlobalSetting = "\n|cffffff9aDiese Einstellung ist global."
+
+	-- Tooltip
+	BrokerGarbage.locale.headerRightClick = "Rechts-Klick: Optionen"
+	BrokerGarbage.locale.headerShiftClick = "SHIFT-Klick: Zerstören"
+	BrokerGarbage.locale.headerCtrlClick = "STRG-Klick: Behalten"
+	BrokerGarbage.locale.moneyLost = "Gold verloren:"
+	BrokerGarbage.locale.moneyEarned = "Gold verdient:"
+	BrokerGarbage.locale.noItems = "Keine Items zum Löschen."
+	BrokerGarbage.locale.increaseTreshold = "Erhöhe die Item Qualität"
+
+	BrokerGarbage.locale.categoriesHeading = "Kategorien"
+	BrokerGarbage.locale.LPTNotLoaded = "LibPeriodicTable nicht aktiv"
+
+	BrokerGarbage.locale.autoSellTooltip = "Müll für %s verkaufen"
+	BrokerGarbage.locale.reportNothingToSell = "Nichts zu verkaufen!"
+
+	-- Statistics Frame
+	BrokerGarbage.locale.StatisticsHeading = "Statistiken"
+	BrokerGarbage.locale.ResetStatistic = "|cffffffffKlicke|r um diese Statistik zurückzusetzen.\n|cFFff0000Warnung: Dies lässt sich nicht tückgängig machen!."
+
+	BrokerGarbage.locale.MemoryUsageTitle = "Speicherverbrauch (kB)"
+	BrokerGarbage.locale.CollectMemoryUsageTooltip = "|cffffffffKlicke|r um Blizzards Garbage Collector manuell zu starten."
+
+	BrokerGarbage.locale.GlobalStatisticsHeading = "Globale Geldstatistiken:"
+	BrokerGarbage.locale.AverageSellValueTitle = "Durchschnittl. Verkaufswert"
+	BrokerGarbage.locale.AverageSellValueTooltip = "Durchschnittswert, den du für ein Item erhalten hast. Berechnet aus Gesamtverdienst/Anzahl verkaufter Items"
+	BrokerGarbage.locale.AverageDropValueTitle = "Durchschnittl. weggeworfen"
+	BrokerGarbage.locale.AverageDropValueTooltip = "Durchschnittswert, den du durch Wegwerfen von Items verloren hast. Berechnet aus Gesamtverlust/Anzahl weggeworfener Items"
+	BrokerGarbage.locale.GlobalMoneyEarnedTitle = "Gesamtverdienst"
+	BrokerGarbage.locale.GlobalMoneyLostTitle = "Gesamtverlust"
+	BrokerGarbage.locale.GlobalItemsSoldTitle = "Items verkauft"
+	BrokerGarbage.locale.ItemsDroppedTitle = "Items weggeworfen"
+
+	BrokerGarbage.locale.LocalStatisticsHeading = "Charakter-Statistik von %s:"
+	BrokerGarbage.locale.StatisticsLocalAmountEarned = "Verdienst"
+	BrokerGarbage.locale.StatisticsLocalAmountLost = "Verlust"
+
+	BrokerGarbage.locale.ResetAllText = "Alle Zurücksetzen"
+	BrokerGarbage.locale.ResetAllTooltip = "|cffffffffKlicke|r um alle charakterspezifischen Statistiken zu löschen. |cffffffffSHIFT-Klicke|r um alle globalen Statistiken zu löschen."
+
+	BrokerGarbage.locale.AuctionAddon = "Auktionsaddon"
+	BrokerGarbage.locale.AuctionAddonTooltip = "Broker_Garbage nutzt Auktionswerte von diesem Addon. Wurde kein Addon gefunden, kann es trotzdem sein, dass ein Addon vorhanden ist, das Broker_Garbage nicht kennt"
+	BrokerGarbage.locale.unknown = "Unbekannt"	-- refers to auction addon
+	BrokerGarbage.locale.na = "Nicht vorhanden"
+
+	-- Basic Options Frame
+	BrokerGarbage.locale.BasicOptionsTitle = "Allgemein"
+	BrokerGarbage.locale.BasicOptionsText = "Möchtest du einmal nicht automatisch verkaufen/reparieren? Halte SHIFT (je nach Einstellung) gedrückt, wenn du den Händler ansprichst!"
+
+	BrokerGarbage.locale.GroupBehavior = "Verhalten"
+	BrokerGarbage.locale.GroupTresholds = "Grenzwerte"
+	BrokerGarbage.locale.GroupDisplay = "Anzeige"
+	BrokerGarbage.locale.GroupTooltip = "Tooltip"
+
+	BrokerGarbage.locale.autoSellTitle = "Autom. Verkaufen"
+	BrokerGarbage.locale.autoSellText = "Wenn ausgewählt, werden graue Gegenstände automatisch beim Händler verkauft."
+
+	BrokerGarbage.locale.showAutoSellIconTitle = "Händlericon anzeigen"
+	BrokerGarbage.locale.showAutoSellIconText = "Auswählen um bei Händlern ein Icon zum automatischen Verkaufen anzuzeigen"
+
+	BrokerGarbage.locale.showNothingToSellTitle = "Nichts zu verkaufen"
+	BrokerGarbage.locale.showNothingToSellText = "Auswählen um bei Besuch eines Händlers eine Nachricht auszugegeben, falls es nichts zu verkaufen gibt"
+
+	BrokerGarbage.locale.autoRepairTitle = "Autom. Reparieren"
+	BrokerGarbage.locale.autoRepairText = "Auswählen um deine Ausrüstung automatisch bei Händlern zu reparieren"
+
+	BrokerGarbage.locale.autoRepairGuildTitle = "selbst zahlen"
+	BrokerGarbage.locale.autoRepairGuildText = "Auswählen um niemals auf Gildenkosten zu reparieren"
+
+	BrokerGarbage.locale.showLostTitle = "Zeige verlorenes Gold"
+	BrokerGarbage.locale.showLostText = "Auswählen um im Tooltip die Zeile 'Verlorenes Gold' anzuzeigen"
+
+	BrokerGarbage.locale.showSourceTitle = "Zeige Preisquelle"
+	BrokerGarbage.locale.showSourceText = "Auswählen um im Tooltip als letzte Spalte die Preisquelle anzuzeigen"
+
+	BrokerGarbage.locale.showEarnedTitle = "Zeige verdientes Gold"
+	BrokerGarbage.locale.showEarnedText = "Auswählen um im Tooltip die Zeile 'Verdientes Gold' anzuzeigen"
+
+	BrokerGarbage.locale.dropQualityTitle = "Höchstens wegwerfen bis"
+	BrokerGarbage.locale.dropQualityText = "Wähle bis zu welcher Qualität Items zum Löschen vorgeschlagen werden. Standard: Schlecht"
+
+	BrokerGarbage.locale.moneyFormatTitle = "Geld Anzeigeformat"
+	BrokerGarbage.locale.moneyFormatText = "Ändere die Art, wie Geldbeträge angezeigt werden."
+
+	BrokerGarbage.locale.maxItemsTitle = "Anzahl an Items"
+	BrokerGarbage.locale.maxItemsText = "Lege fest, wie viele Zeilen im Tooltip angezeigt werden. Standard: 9"
+
+	BrokerGarbage.locale.maxHeightTitle = "Max. Höhe"
+	BrokerGarbage.locale.maxHeightText = "Lege fest, wie hoch der Tooltip sein darf. Standard: 220"
+
+	BrokerGarbage.locale.sellNotUsableTitle = "Ausrüstung verkaufen"
+	BrokerGarbage.locale.sellNotUsableText = "Auswählen um Broker_Garbage seelengebundene Ausrüstung, die du niemals tragen kannst, automatisch verkaufen zu lassen.\n(inaktiv bei Verzauberern)"
+
+	BrokerGarbage.locale.SNUMaxQualityTitle = "Höchstens verkaufen bis"
+	BrokerGarbage.locale.SNUMaxQualityText = "Wähle die maximale Itemqualität, bei der unnütze Ausrüstung verkauft werden soll."
+
+	BrokerGarbage.locale.enchanterTitle = "Verzauberer"
+	BrokerGarbage.locale.enchanterTooltip = "Auswählen wenn du einen Verzauberer hast/kennst. Wenn aktiviert, wird Broker_Garbage Entzauberpreise verwenden, welche in der Regel höher sind als Händlerpreise."
+
+	BrokerGarbage.locale.DKTitle = "Temp. deaktivieren mit"
+	BrokerGarbage.locale.DKTooltip = "Wähle die Taste, die die Aktionen von BrokerGarbage temporär deaktiviert."
+	BrokerGarbage.locale.disableKeys = {
+		["None"] = "Kein",
+		["SHIFT"] = "SHIFT",
+		["ALT"] = "ALT",
+		["CTRL"] = "STRG",
+	}
+
+	BrokerGarbage.locale.LDBDisplayTextTitle = "LDB Anzeigetexte"
+	BrokerGarbage.locale.LDBDisplayTextTooltip = "Nutze diese Einstellung, um den Text zu ändern, den du in deinem LDB Display siehst."
+	BrokerGarbage.locale.LDBNoJunkTextTooltip = "Nutze diese Einstellung, um den Text zu ändern, der angezeigt wird, wenn du keinen Müll hast."
+	BrokerGarbage.locale.ResetToDefault = "Auf den Standardwert zurücksetzen"
+	BrokerGarbage.locale.LDBDisplayTextHelpTooltip = [[|cffffffffBasistags:|r
+[itemname] - Itemlink
+[itemcount] - Item Anzahl
+[itemvalue] - Itemwert
+[junkvalue] - Verkaufswert
+
+|cffffffffInventarplatz Tags:|r
+[freeslots] - freier Taschenplatz
+[totalslots] - Gesamttaschenplatz
+[basicfree],[specialfree] - frei
+[basicslots],[specialslots] - total
+
+|cffffffffFarbtags:|r
+[bagspacecolor]... - alle Taschen
+[basicbagcolor]... - nur allgemein
+[specialbagcolor]... - nur spezial
+...[endcolor] beendet Textfärbung]]
+
+	-- List Options Panel
+	BrokerGarbage.locale.LOTitle = "Listen"
+	BrokerGarbage.locale.LOSubTitle = [[Wenn du Hilfe brauchst, klicke das "?"-Tab an.
+
+|cffffd200Müll|r: Diese Liste beinhaltet Items, die weggeworfen werden können.
+|cffffd200Behalten|r: Items auf dieser Liste werden nie weggeworfen.
+|cffffd200Händlerpreis|r: Items nutzen keine Auktionspreise. (immer global!)
+|cffffd200Verkaufen|r: Diese Items werden bei Händlern automatisch verkauft.]]
+
+	BrokerGarbage.locale.defaultListsText = "Standardlisten"
+	BrokerGarbage.locale.defaultListsTooltip = "|cffffffffKlicke|r, um manuell die lokalen Standardeinträge für Listen einzufügen.\n|cffffffffRechtsklick|r um auch die globalen Einträge zu erstellen."
+
+	BrokerGarbage.locale.LOTabTitleInclude = "Müll"
+	BrokerGarbage.locale.LOTabTitleExclude = "Behalten"
+	BrokerGarbage.locale.LOTabTitleVendorPrice = "Händlerpreis"
+	BrokerGarbage.locale.LOTabTitleAutoSell = "Verkaufen"
+
+	BrokerGarbage.locale.LOIncludeAutoSellText = "Müll-Items verkaufen"
+	BrokerGarbage.locale.LOIncludeAutoSellTooltip = "Aktivieren, um Items von deiner Müll-Liste automatisch beim Händler zu verkaufen. Items ohne Wert werden ignoriert."
+
+	BrokerGarbage.locale.LOUseRealValues = "Echte Werte für Müll-Items"
+	BrokerGarbage.locale.LOUseRealValuesTooltip = "Aktivieren, um für Müll-Items den tatsächlichen Preis zu nutzen, anstatt sie auf 0c zu setzen."
+
+	BrokerGarbage.locale.listsBestUse = [[|cffffd200Listen-Beispiele|r
+Die Standardlisten geben eine Hilfestellung, was auf welcher Liste nützlich sein könnte.
+Setze erst alle Items, die du auf jeden Fall behalten möchtest, auf die |cffffd200Behalten-Liste|r. Denke auch daran, dass es Kategorien (s.u.) gibt! Ist der LootManager aktiv, wird er Items von dieser Liste immer plündern.
+|cffAAAAAAz.B. Klassenreagenzien, Fläschchen|r
+Dinge, von denen du weißt, dass sie sorglos weggeworfen werden können, gehören auf die |cffffd200Müll-Liste|r.
+|cffAAAAAAz.B. Herbeigezauberter Manakeks, Argentumlanze|r
+Sollte ein Item einen ungewollt hohen Wert zugewiesen bekommen, setze das Item auf die |cffffd200Händlerpreis-Liste|r. Diese Items werden nur den Händlerpreis nutzen.
+|cffAAAAAAz.B. Fischöl|r
+Auf die |cffffd200Verkaufen-Liste|r kannst du alles setzen, was Broker_Garbage verkaufen soll.
+|cffAAAAAAz.B. Wasser (als Krieger), Alterachochkäse|r]]
+
+	BrokerGarbage.locale.listsSpecialOptions = [[|cffffd200Spezielle Müll-Listen Optionen|r
+|cffffd200Verkaufen|r: Diese Einstellung ist nützlich für all diejenigen, die keine Unterscheidung zwischen Müll und zu verkaufenden Items treffen wollen. Wenn ausgewählt, werden sowohl die Items aus der Müll-Liste als auch die aus der Verkaufen-Liste bei Händlern verkauft.
+|cffffd200Echte Werte|r: Diese Einstellungen ändert das Verhalten der Müll-Liste. Standardmäßig (deaktiviert) bekommen Müll-Items einen Wert von 0c zugewiesen (beeinflusst nicht die Statistiken) und erscheinen damit als erstes im Tooltip. Wenn aktiviert, behalten diese Items ihren normalen Wert und tauchen entsprechend später in der Liste auf.]]
+
+	BrokerGarbage.locale.iconButtonsUse = [[|cffffd200Item-Buttons|r
+Angezeigt wird entweder das Icon des Items, ein Zahnrad, wenn es sich um eine Kategorie handelt, oder ein Fragezeichen, wenn der Server das Item nicht finden kann.
+Oben links jedes Buttons kann ein "G" stehen. Ist dies der Fall, ist das entsprechende Item auf der |cffffd200globalen Liste|r, d.h. diese Regel gilt für alle Charaktere.
+Items auf der Müll-Liste können ein |cffffd200Limit|r haben. Dies wird als kleine Zahl in der unteren rechten Ecke angezeigt. Zum Ändern nutze das |cffffd200Mausrad|r über dem Button. Diese Items werden erst gelöscht, sollte das Limit überschritten werden.]]
+
+	BrokerGarbage.locale.actionButtonsUse = [[|cffffd200Aktions-Buttons|r
+Unterhalb dieses Fensters siehst du 5 Buttons und eine Suchleiste.
+|TInterface\Icons\Spell_ChargePositive:18|t |cffffd200Plus|r: Hier kannst du Items zu der angezeigten Liste hinzufügen. Ziehe dazu einfach ein Item auf das Plus. Um eine |cffffd200Kategorie|r hinzuzufügen, rechtsklicke das Plus und wähle dann in dem neuen Menü eine Kategorie aus.
+|cffAAAAAAz.B. "Tradeskill > Recipe", "Misc > Key"|r
+|TInterface\Icons\Spell_ChargeNegative:18|t |cffffd200Minus|r: Markiere Items aus der Liste (anklicken). Beim Klick auf das Minus werden diese Items von der Liste entfernt.
+|TInterface\Icons\INV_Misc_GroupLooking:18|t |cffffd200Lokal|r: Markierte Items werden auf die lokale Liste gesetzt, gelten also nur für diesen Charakter.
+|TInterface\Icons\INV_Misc_GroupNeedMore:18|t |cffffd200Global|r: Analog zu Lokal, nur werden hierbei die Items auf die globale Liste gesetzt, die Regeln gelten damit für alle Charaktere.
+|TInterface\Buttons\UI-GroupLoot-Pass-UP:18|t |cffffd200Leeren|r: Ein Klick auf diesen Button leert die charakterspezifischen Regeln dieser Liste. Shift-Klick leert die accountweiten Regeln. |cffff0000Mit Vorsicht benutzen!|r]]
+
+	BrokerGarbage.locale.LOPlus = "Füge Items zu dieser Liste hinzu, indem du sie hierher |cffffffffziehst|r/hier |cffffffffablegst|r.\n|cffffffffRechtsklick|r, um Kategorien hinzuzufügen!"
+	BrokerGarbage.locale.LOMinus = "Wähle oben die Items, die du von dieser Liste entfernen willst. Dann |cffffffffklicke|r hier."
+	BrokerGarbage.locale.LODemote = "|cffffffffKlicke|r um alle markierten Items als charakterspezifische Regel zu nutzen."
+	BrokerGarbage.locale.LOPromote = "|cffffffffKlicke|r um alle markierten Items als globale Regel zu nutzen."
+	BrokerGarbage.locale.LOEmptyList = "|cffff0000Achtung!|r\n|cffffffffKlicke|r, um die lokalen Einträge dieser Liste zu löschen.\n"..
+		"|cffffffffShift-Klicke|r, um die globalen Einträge zu löschen."
+	BrokerGarbage.locale.search = "Suchen..."
+
+	-- LibPeriodicTable category testing
+	BrokerGarbage.locale.PTCategoryTest = "Kategorientest"
+	BrokerGarbage.locale.PTCategoryTestExplanation = "Wähle unten eine Kategorie aus um dir alle Gegenstände aus deinem Inventar anzeigen zu lassen, die dazuzählen.\nKategoriedaten kommen von LibPeriodicTable."
+	BrokerGarbage.locale.PTCategoryTestDropdownTitle = "Kategorie, die getestet werden soll"
+	BrokerGarbage.locale.PTCategoryTestDropdownText = "Wähle eine Kategorie"
+end
\ No newline at end of file
diff --git a/locale/enUS.lua b/locale/enUS.lua
new file mode 100644
index 0000000..c9332c8
--- /dev/null
+++ b/locale/enUS.lua
@@ -0,0 +1,229 @@
+-- enUS / enGB / default localization file
+_, BrokerGarbage = ...
+
+BrokerGarbage.locale = {
+	label = "Junk, be gone!",
+
+	-- Chat Messages
+	sellAndRepair = "Sold trash for %1$s, repaired for %2$s. Change: %3$s.",
+	repair = "Repaired for %s.",
+	sell = "Sold trash for %s.",
+
+	addedTo_exclude = "%s has been added to the Keep List.",
+	addedTo_forceVendorPrice = "%s will only have its vendor price considered.",
+	addedTo_include = "%s has been added to the Junk List.",
+	addedTo_autoSellList = "%s will be automatically sold when at a merchant.",
+	itemAlreadyOnList = "%s is already on this list!",
+	limitSet = "%s has been assigned a limit of %d.",
+	itemDeleted = "%1$sx%2$d has been deleted.",
+	couldNotRepair = "Could not repair because you don't have enough money. You need %s.",
+
+	listsUpdatedPleaseCheck = "Your lists have been updated. Please have a look at your settings and check if they fit your needs.",
+	slashCommandHelp = [[The following commands are available:
+/garbage |cffc0c0c0config|r opens the options panel.
+/garbage |cffc0c0c0format |cffc0c0ffformatstring|r lets you customize the LDB display text, |cffc0c0c0 format reset|r resets it.
+/garbage |cffc0c0c0limit |cffc0c0ffitemLink/ID count|r sets a limit for the given item on the current character.
+/garbage |cffc0c0c0globallimit |cffc0c0ffitemLink/ID count|r sets a limit for all characters.
+/garbage |cffc0c0c0value |cffc0c0ffvalueInCopper|r sets the minimum value for items to be looted (Loot Manager needed).
+/garbage |cffc0c0c0freeslots |cffc0c0ffnumber|r sets the number of inventory slots to keep empty.]],
+	minValueSet = "Items with a value less than %s will not be looted anymore.",
+	minSlotsSet = "The Loot Manager will try to keep at least %s slots free.",
+	invalidArgument = "You supplied an invalid argument. Please check your input and try again.",
+
+	GlobalSetting = "\n|cffffff9aThis setting is global.",
+
+	-- Tooltip
+	headerRightClick = "Right-Click for options",
+	headerShiftClick = "SHIFT-Click: Destroy",
+	headerCtrlClick = "CTRL-Click: Keep",
+	moneyLost = "Money Lost:",
+	moneyEarned = "Money Earned:",
+	noItems = "No items to delete.",
+	increaseTreshold = "Increase quality treshold",
+
+	categoriesHeading = "Categories",
+	LPTNotLoaded = "LibPeriodicTable not loaded",
+
+	autoSellTooltip = "Sell Items for %s",
+	reportNothingToSell = "Nothing to sell!",
+
+	-- Statistics Frame
+	StatisticsHeading = "Statistics",
+	ResetStatistic = "|cffffffffClick|r to reset this statistic.\n|cFFff0000Warning: This cannot be undone.",
+
+	MemoryUsageTitle = "Memory Usage (kB)",
+	CollectMemoryUsageTooltip = "|cffffffffClick|r to start the Blizzard's garbage collection.",
+
+	GlobalStatisticsHeading = "Account wide statistics:",
+	AverageSellValueTitle = "Average sell value",
+	AverageSellValueTooltip = "The average value an item earned you. Calculated as Money Earned/Items Sold.",
+	AverageDropValueTitle = "Average drop value",
+	AverageDropValueTooltip = "The average value of dropped/deleted items. Calculated as Money Lost/Items Dropped.",
+	GlobalMoneyEarnedTitle = "Total amount earned",
+	GlobalMoneyLostTitle = "Total amount lost",
+	GlobalItemsSoldTitle = "Items sold",
+	ItemsDroppedTitle = "Items dropped",
+
+	LocalStatisticsHeading = "This character's (%s) statistics:",
+	StatisticsLocalAmountEarned = "Amount earned",
+	StatisticsLocalAmountLost = "Amount lost",
+
+	ResetAllText = "Reset All",
+	ResetAllTooltip = "|cffffffffClick|r here to reset all character specific statistics. |cffffffffSHIFT-Click|r to clear all global statistics.",
+
+	AuctionAddon = "Auction addon",
+	AuctionAddonTooltip = "Broker_Garbage will take auction values from this addon. If none is listed, you may still have auction values available by an addon that Broker_Garbage doesn't know.",
+	unknown = "Unknown",	-- refers to auction addon
+	na = "Not Available",
+
+	-- Basic Options Frame
+	BasicOptionsTitle = "Basic Options",
+	BasicOptionsText = "Don't want to auto-sell/repair? Hold Shift (depending on your settings) when adressing the merchant!",
+
+	GroupBehavior = "Behavior",
+	GroupTresholds = "Tresholds",
+	GroupDisplay = "Display",
+	GroupTooltip = "Tooltip",
+
+	autoSellTitle = "Auto Sell",
+	autoSellText = "Check to have Broker_Garbage automatically sell your gray and junk items.",
+
+	showAutoSellIconTitle = "Show Merchant Icon",
+	showAutoSellIconText = "Check to show an icon to manually auto-sell when at a vendor.",
+
+	showNothingToSellTitle = "'Nothing to sell'",
+	showNothingToSellText = "Check to get a chat message when at a merchant but there is nothing to sell.",
+
+	autoRepairTitle = "Auto Repair",
+	autoRepairText = "Check to automatically repair when at a vendor.",
+
+	autoRepairGuildTitle = "No Guild Repair",
+	autoRepairGuildText = "Check to never repair using guild funds.",
+
+	showLostTitle = "Show Money Lost",
+	showLostText = "Check to show the character's lost money on the tooltip",
+
+	showSourceTitle = "Show Price Source",
+	showSourceText = "Check to show the last column in the tooltip, displaying the item value source.",
+
+	showEarnedTitle = "Show Money Earned",
+	showEarnedText = "Check to show the character's earned money (by selling junk items).",
+
+	dropQualityTitle = "Drop Quality",
+	dropQualityText = "Select up to which treshold items may be listed as deletable. Default: Poor",
+
+	moneyFormatTitle = "Money Format",
+	moneyFormatText = "Change the way money is being displayed.",
+
+	maxItemsTitle = "Max. Items",
+	maxItemsText = "Set how many lines you would like to have displayed in the tooltip. Default: 9",
+
+	maxHeightTitle = "Max. Height",
+	maxHeightText = "Set the height of the tooltip. Default: 220",
+
+	sellNotUsableTitle = "Sell Unusable Gear",
+	sellNotUsableText = "Check this to have Broker_Garbage sell all soulbound gear you cannot wear.\n(Only applies if not an enchanter)",
+
+	SNUMaxQualityTitle = "Sell Quality",
+	SNUMaxQualityText = "Select the maximum item quality to sell when 'Sell Unusable Gear' is checked.",
+
+	enchanterTitle = "Enchanter",
+	enchanterTooltip = "Check this if you have/know an enchanter.\nWhen checked disenchant values are considered, which are higher than vendor prices.",
+
+	DKTitle = "Temporary disable key",
+	DKTooltip = "Set a key to temporarily disable BrokerGarbage.",
+	disableKeys = {
+		["None"] = "None",
+		["SHIFT"] = "SHIFT",
+		["ALT"] = "ALT",
+		["CTRL"] = "CTRL",
+	},
+
+	LDBDisplayTextTitle = "LDB Display texts",
+	LDBDisplayTextTooltip = "Set the text to display in the LDB plugin.",
+	LDBNoJunkTextTooltip = "Set the text to display when no junk was found.",
+	ResetToDefault = "Reset to default value.",
+	LDBDisplayTextHelpTooltip = [[|cffffffffBasic tags:|r
+[itemname] - item link
+[itemcount] - item count
+[itemvalue] - item value
+[junkvalue] - total autosell value
+
+|cffffffffInventory space tags:|r
+[freeslots] - free bag slots
+[totalslots] - total bag slots
+[basicfree],[specialfree] - free
+[basicslots],[specialslots] - total
+
+|cffffffffColor tags:|r
+[bagspacecolor]... - all bags
+[basicbagcolor]... - basic only
+[specialbagcolor]... - special only
+...[endcolor] ends a color section]],
+
+	-- List Options Panel
+	LOTitle = "Lists",
+	LOSubTitle = [[If you need help click the "?"-tab.
+
+|cffffd200Junk|r: Items on this list can be thrown away if needed.
+|cffffd200Keep|r: Items on this list will never be deleted.
+|cffffd200Vendor Price|r: Items only use vendor values. (always global)
+|cffffd200Sell|r: Items on this list will be sold when at a merchant.]],
+
+	defaultListsText = "Default Lists",
+	defaultListsTooltip = "|cffffffffClick|r to manually create default local list entries.\n |cffffffffShift-Click|r to also create default global lists.", -- changed
+
+	LOTabTitleInclude = "Junk",
+	LOTabTitleExclude = "Keep",
+	LOTabTitleVendorPrice = "Vendor Price",
+	LOTabTitleAutoSell = "Sell",
+
+	LOIncludeAutoSellText = "Sell Junk List items",
+	LOIncludeAutoSellTooltip = "Check this to automatically sell items on your include list when at a merchant. Items without a value will be ignored.",
+
+	LOUseRealValues = "Use actual value for junk items",
+	LOUseRealValuesTooltip = "Check this to have junk items considered with their actual value, rather than 0c.",
+
+	listsBestUse = [[|cffffd200List Examples|r
+Don't forget to use the default lists! They provide a great example.
+First, put any items you don't want to lose on your |cffffd200Keep List|r. Make good use of categories (see below)! If the LootManager is active it will alwas try to loot these items.
+|cffAAAAAAe.g. class reagents, flasks|r
+Items which may be thrown away any time belong on the |cffffd200Junk List|r.
+|cffAAAAAAe.g. summoned food & drink, argent lance|r
+In case you encounter highly overrated items, put them on your |cffffd200Vendor Price List|r. They will only have their vendor value used instead of auction or disenchant values.
+|cffAAAAAAe.g. fish oil|r
+Put items on your |cffffd200Sell List|r that should be sold when visiting a merchant.
+|cffAAAAAAe.g. water as a warrior, cheese|r]],
+
+	listsSpecialOptions = [[|cffffd200Junk List special options|r
+|cffffd200Sell Junk List items|r: This setting is useful for those who do not want to distinguish between the Sell List and the Junk List. If you check this, any items on your Junk -or- Sell List will be sold when you visit a vendor.
+|cffffd200Use actual values|r: This setting changes the behavior of the Junk List. By default (disabled) Junk List items will get their value set to 0c (statistics will still work just fine!) and they will be shown first in the tooltip. If you enable this setting, these items will retain their regular value and will only show up in the tooltip once their value is reached.]],
+
+	iconButtonsUse = [[|cffffd200Item Buttons|r
+For any item you'll either see its icon, a gear if it's a category or a question mark in case the server doesn't know this item.
+In the top left of each button you'll see a "G" (or not). If it's there, the item is on your |cffffd200global list|r meaning this rule is effective for every character.
+Items on your Junk List may also have a |cffffd200limit|r. This will be shown as a small number in the lower right corner. By using the |cffffd200mousewheel|r on this button you can change this number. Limited items will only be dropped/destroyed if you have more than their limit indicates.]],
+
+	actionButtonsUse = [[|cffffd200Action Buttons|r
+Below this window you'll see five buttons and a search bar.
+|TInterface\Icons\Spell_ChargePositive:18|t |cffffd200Plus|r: Use this to add items to the currently shown list. Simply drag/drop them onto the plus. To add a |cffffd200category|r, right-click the plus and then choose a category.
+|cffAAAAAAe.g. "Tradeskill > Recipe", "Misc > Key"|r
+|TInterface\Icons\Spell_ChargeNegative:18|t |cffffd200Minus|r: Mark items on the list (by clicking them). When you click the minus, they will be removed from this list.
+|TInterface\Icons\INV_Misc_GroupLooking:18|t |cffffd200Local|r: Marked items will be put on your local list, meaning the rule is only active for the current character.
+|TInterface\Icons\INV_Misc_GroupNeedMore:18|t |cffffd200Global|r: Same as local, only this time items will be put on your global list. Those rules are active for all your characters.
+|TInterface\Buttons\UI-GroupLoot-Pass-UP:18|t |cffffd200Empty|r: Click this button to remove any character specific (local) items from it. Shift-click empties any account wide (global) rules. |cffff0000Use with caution!|r]],
+
+	LOPlus = "Add items to this list by |cffffffffdragging|r/ |cffffffffdropping|r them onto this button.\n|cffffffffRight-click|r to add categories!",
+	LOMinus = "Choose items to be removed from the list, then |cffffffffclick|r here.",
+	LODemote = "|cffffffffClick|r to have any marked items used as character specific rules.",
+	LOPromote = "|cffffffffClick|r to use any marked item as account wide rule.",
+	LOEmptyList = "|cffff0000Caution!|r\n|cffffffffClick|r to empty any local entries on this list.\n"..
+		"|cffffffffShift-Click|r to empty any global entries.",
+	search = "Search...",
+
+	-- LibPeriodicTable category testing
+	PTCategoryTest = "Category Test",
+	PTCategoryTestExplanation = "Simply select a category below and it will display all items in your inventory that match this category.\nCategory information is provided by LibPeriodicTable.",
+	PTCategoryTestDropdownTitle = "Category to check",
+	PTCategoryTestDropdownText = "Choose a category string",
+}
\ No newline at end of file
diff --git a/options.lua b/options.lua
new file mode 100644
index 0000000..50e04ed
--- /dev/null
+++ b/options.lua
@@ -0,0 +1,1369 @@
+_, BrokerGarbage = ...
+
+-- create drop down menu table for PT sets
+local interestingPTSets = {"Consumable", "Misc", "Tradeskill"}
+
+BrokerGarbage.PTSets = {}
+for set, _ in pairs( BrokerGarbage.PT and BrokerGarbage.PT.sets or {} ) do
+	local interesting = false
+	local partials = { strsplit(".", set) }
+	local maxParts = #partials
+
+	for i = 1, #interestingPTSets do
+		if strfind(partials[1], interestingPTSets[i]) then
+			interesting = true
+			break
+		end
+	end
+
+	if interesting then
+		local pre = BrokerGarbage.PTSets
+
+		for i = 1, maxParts do
+			if i == maxParts then
+				-- actual clickable entries
+				pre[ partials[i] ] = set
+			else
+				-- all parts before that
+				if not pre[ partials[i] ] or type(pre[ partials[i] ]) == "string" then
+					pre[ partials[i] ] = {}
+				end
+				pre = pre[ partials[i] ]
+			end
+		end
+	end
+end
+
+-- In case the addon is loaded from another condition, always call the remove interface options
+if AddonLoader and AddonLoader.RemoveInterfaceOptions then
+	AddonLoader:RemoveInterfaceOptions("Broker_Garbage")
+end
+
+-- options panel / statistics
+BrokerGarbage.options = CreateFrame("Frame", "BG_Options", InterfaceOptionsFramePanelContainer)
+BrokerGarbage.options.name = "Broker_Garbage"
+
+-- list options
+BrokerGarbage.listOptions = CreateFrame("Frame", "BG_ListOptions", InterfaceOptionsFramePanelContainer)
+BrokerGarbage.listOptions.name = BrokerGarbage.locale.LOTitle
+BrokerGarbage.listOptions.parent = "Broker_Garbage"
+
+-- button tooltip infos
+local function ShowTooltip(self)
+	GameTooltip:SetOwner(self, "ANCHOR_RIGHT")
+	-- LibPeriodicTable pretty tooltips
+	if self.tiptext and self:GetParent() == _G["BG_ListOptions_ScrollFrame"] and
+		not (self.itemID and string.find(self.tiptext, self.itemID)) then
+		local text = string.gsub(self.tiptext, "%.", " |cffffd200>|r ")
+
+		GameTooltip:ClearLines()
+		GameTooltip:AddLine("LibPeriodicTable")
+		GameTooltip:AddLine(text, 1, 1, 1, true)
+	else	-- all other tooltips
+		local itemLink = self.itemLink or (self.itemID and select(2,GetItemInfo(self.itemID)))
+		if itemLink then
+			GameTooltip:SetHyperlink(itemLink)
+			if not self.itemLink and self:GetParent() == _G["BG_ListOptions_ScrollFrame"] then
+				-- we just got new data for this tooltip!
+				BrokerGarbage:ListOptionsUpdate()
+			end
+		elseif self.tiptext then
+			GameTooltip:SetText(self.tiptext, nil, nil, nil, nil, true)
+		end
+	end
+	GameTooltip:Show()
+end
+local function HideTooltip() GameTooltip:Hide() end
+
+local function CreateHorizontalRule(parent)
+	local line = parent:CreateTexture(nil, "ARTWORK")
+	line:SetHeight(8)
+	line:SetTexture("Interface\\Tooltips\\UI-Tooltip-Border")
+	line:SetTexCoord(0.81, 0.94, 0.5, 1)
+
+	return line
+end
+
+local function CreateFrameBorders(frame)
+	local left = frame:CreateTexture(nil, "BACKGROUND")
+	left:SetWidth(8) left:SetHeight(20)
+	left:SetPoint("LEFT", -5, 0)
+	left:SetTexture("Interface\\Common\\Common-Input-Border")
+	left:SetTexCoord(0, 0.0625, 0, 0.625)
+	local right = frame:CreateTexture(nil, "BACKGROUND")
+	right:SetWidth(8) right:SetHeight(20)
+	right:SetPoint("RIGHT", 0, 0)
+	right:SetTexture("Interface\\Common\\Common-Input-Border")
+	right:SetTexCoord(0.9375, 1, 0, 0.625)
+	local center = frame:CreateTexture(nil, "BACKGROUND")
+	center:SetHeight(20)
+	center:SetPoint("RIGHT", right, "LEFT", 0, 0)
+	center:SetPoint("LEFT", left, "RIGHT", 0, 0)
+	center:SetTexture("Interface\\Common\\Common-Input-Border")
+	center:SetTexCoord(0.0625, 0.9375, 0, 0.625)
+
+	return left, center, right
+end
+
+local function UpdateOptionsPanel(frame)
+	if not BrokerGarbage.options.currentTab then return end
+	local panel = BrokerGarbage.tabs[ BrokerGarbage.options.currentTab ].panel
+	if panel and panel.Update then
+		panel:Update()
+	end
+end
+
+local function ChangeView(pluginID)
+	table.sort(BrokerGarbage.tabs, function(a, b)
+		return a.name < b.name
+	end)
+	for i, plugin in ipairs(BrokerGarbage.tabs) do
+		if not plugin.panel then
+			if not plugin.init then
+				BrokerGarbage:Print("Error! Panel " .. (name or "nil") .. " doesn't have an init script!")
+				return
+			end
+			plugin.init(i)	-- supply the plugin's ID just in case
+		end
+
+		if i == pluginID then
+			plugin.tab:Activate()
+			if plugin.panel.Update then
+				plugin.panel:Update()
+			end
+			plugin.panel:Show()
+
+			BrokerGarbage.options.currentTab = pluginID
+		else
+			plugin.tab:Deactivate()
+			plugin.panel:Hide()
+		end
+	end
+	UpdateOptionsPanel()
+end
+
+function BrokerGarbage:RegisterPlugin(name, init)
+	if not name or not init then
+		BrokerGarbage:Print("Error! Cannot register a plugin without a name and initialize function.")
+		return
+	end
+
+	table.insert(BrokerGarbage.tabs, {
+		name = name,
+		init = init
+	})
+	return #BrokerGarbage.tabs
+end
+
+local topTab = LibStub("tekKonfig-TopTab")
+function BrokerGarbage:CreateOptionsTab(id)
+	if not id then BrokerGarbage:Print("Error creating options tab: No id supplied."); return end
+	local plugin = BrokerGarbage.tabs[id]
+
+	local tab
+	if id == 1 then
+		tab = topTab.new(BrokerGarbage.options, plugin.name, "BOTTOMLEFT", BrokerGarbage.options.group, "TOPLEFT", 0, -4)
+	else
+		tab = topTab.new(BrokerGarbage.options, plugin.name, "BOTTOMLEFT", BrokerGarbage.tabs[ id - 1 ].tab, "BOTTOMRIGHT", -15, 0)
+	end
+
+	panel = CreateFrame("Frame", nil, BrokerGarbage.options.group)
+	panel:SetAllPoints()
+	panel.tab = tab
+
+	tab.panel = panel
+	tab:SetID(id)
+	tab:SetScript("OnClick", function(self)
+		ChangeView(self:GetID())
+	end)
+	tab:Deactivate()
+
+	plugin.panel = panel
+	plugin.tab = tab
+
+	return panel, tab
+end
+
+local function Options_BasicOptions(pluginID)
+	local panel, tab = BrokerGarbage:CreateOptionsTab(pluginID)
+
+	local behavior = LibStub("tekKonfig-Group").new(panel, BrokerGarbage.locale.GroupBehavior, "TOPLEFT", 21, -16)
+	behavior:SetHeight(190); behavior:SetWidth(180)
+	behavior:SetBackdropColor(0.1, 0.1, 0.1, 0.4)
+
+	local sell = LibStub("tekKonfig-Checkbox").new(behavior, nil, BrokerGarbage.locale.autoSellTitle, "TOPLEFT", behavior, "TOPLEFT", 4, -2)
+	sell.tiptext = BrokerGarbage.locale.autoSellText .. BrokerGarbage.locale.GlobalSetting
+	sell:SetChecked(BG_GlobalDB.autoSellToVendor)
+	local checksound = sell:GetScript("OnClick")
+	sell:SetScript("OnClick", function(sell)
+		checksound(sell)
+		BG_GlobalDB.autoSellToVendor = not BG_GlobalDB.autoSellToVendor
+	end)
+
+	local nothingToSell = LibStub("tekKonfig-Checkbox").new(behavior, nil, BrokerGarbage.locale.showNothingToSellTitle, "TOPLEFT", sell, "BOTTOMLEFT", 14, 4)
+	nothingToSell.tiptext = BrokerGarbage.locale.showNothingToSellText .. BrokerGarbage.locale.GlobalSetting
+	nothingToSell:SetChecked(BG_GlobalDB.reportNothingToSell)
+	local checksound = nothingToSell:GetScript("OnClick")
+	nothingToSell:SetScript("OnClick", function(nothingToSell)
+		checksound(nothingToSell)
+		BG_GlobalDB.reportNothingToSell = not BG_GlobalDB.reportNothingToSell
+	end)
+
+	local repair = LibStub("tekKonfig-Checkbox").new(behavior, nil, BrokerGarbage.locale.autoRepairTitle, "TOPLEFT", nothingToSell, "BOTTOMLEFT", -14, 4)
+	repair.tiptext = BrokerGarbage.locale.autoRepairText .. BrokerGarbage.locale.GlobalSetting
+	repair:SetChecked(BG_GlobalDB.autoRepairAtVendor)
+	local checksound = repair:GetScript("OnClick")
+	repair:SetScript("OnClick", function(repair)
+		checksound(repair)
+		BG_GlobalDB.autoRepairAtVendor = not BG_GlobalDB.autoRepairAtVendor
+	end)
+
+	local guildrepair = LibStub("tekKonfig-Checkbox").new(behavior, nil, BrokerGarbage.locale.autoRepairGuildTitle, "TOPLEFT", repair, "BOTTOMLEFT", 14, 4)
+	guildrepair.tiptext = BrokerGarbage.locale.autoRepairGuildText
+	guildrepair:SetChecked(BG_LocalDB.neverRepairGuildBank)
+	local checksound = guildrepair:GetScript("OnClick")
+	guildrepair:SetScript("OnClick", function(guildrepair)
+		checksound(guildrepair)
+		BG_LocalDB.neverRepairGuildBank = not BG_LocalDB.neverRepairGuildBank
+	end)
+
+	local sellGear = LibStub("tekKonfig-Checkbox").new(behavior, nil, BrokerGarbage.locale.sellNotUsableTitle, "TOPLEFT", guildrepair, "BOTTOMLEFT", -14, 4)
+	sellGear.tiptext = BrokerGarbage.locale.sellNotUsableText .. BrokerGarbage.locale.GlobalSetting
+	sellGear:SetChecked(BG_GlobalDB.sellNotWearable)
+	local checksound = sellGear:GetScript("OnClick")
+	sellGear:SetScript("OnClick", function(sellGear)
+		checksound(sellGear)
+		BG_GlobalDB.sellNotWearable = not BG_GlobalDB.sellNotWearable
+		BrokerGarbage:ScanInventory()
+	end)
+
+	local enchanter = LibStub("tekKonfig-Checkbox").new(behavior, nil, BrokerGarbage.locale.enchanterTitle, "TOPLEFT", sellGear, "BOTTOMLEFT", 0, 4)
+	enchanter.tiptext = BrokerGarbage.locale.enchanterTooltip .. BrokerGarbage.locale.GlobalSetting
+	enchanter:SetChecked(BG_GlobalDB.hasEnchanter)
+	local checksound = enchanter:GetScript("OnClick")
+	enchanter:SetScript("OnClick", function(enchanter)
+		checksound(enchanter)
+		BG_GlobalDB.hasEnchanter = not BG_GlobalDB.hasEnchanter
+	end)
+
+	-- -----------------------------------------------------------------
+	local line = CreateHorizontalRule(behavior)
+	line:SetPoint("TOPLEFT", enchanter, "BOTTOMLEFT", 2, 2)
+	line:SetPoint("RIGHT", -6, 2)
+	-- -----------------------------------------------------------------
+
+	local disableKey = CreateFrame("Frame", "BG_DisableKeyDropDown", behavior, "UIDropDownMenuTemplate")
+	disableKey.tiptext = BrokerGarbage.locale.DKTooltip .. BrokerGarbage.locale.GlobalSetting
+	disableKey.displayMode = "MENU"
+	disableKey:SetScript("OnEnter", ShowTooltip)
+	disableKey:SetScript("OnLeave", HideTooltip)
+       disableKey:SetPoint("TOPLEFT", enchanter, "BOTTOMLEFT", -8, -20)
+	local disableKeyLabel = disableKey:CreateFontString(nil, "BACKGROUND", "GameFontNormalSmall")
+	disableKeyLabel:SetPoint("BOTTOMLEFT", disableKey, "TOPLEFT", 20, 2)
+	disableKeyLabel:SetText(BrokerGarbage.locale.DKTitle)
+	_G[disableKey:GetName() .. "Button"]:SetPoint("LEFT", _G[disableKey:GetName().."Middle"])
+	UIDropDownMenu_SetSelectedValue(disableKey, BG_GlobalDB.disableKey)
+	UIDropDownMenu_SetText(disableKey, BrokerGarbage.locale.disableKeys[BG_GlobalDB.disableKey])
+
+	local function DisableKeyOnSelect(self)
+		UIDropDownMenu_SetSelectedValue(disableKey, self.value)
+		BG_GlobalDB.disableKey = self.value
+	end
+	UIDropDownMenu_Initialize(disableKey, function()
+		local selected, info = UIDropDownMenu_GetSelectedValue(disableKey), UIDropDownMenu_CreateInfo()
+		for name in pairs(BrokerGarbage.disableKey) do
+			info.text = BrokerGarbage.locale.disableKeys[name]
+			info.value = name
+			info.func = DisableKeyOnSelect
+			info.checked = name == selected
+			UIDropDownMenu_AddButton(info)
+		end
+	end)
+
+	local treshold = LibStub("tekKonfig-Group").new(panel, BrokerGarbage.locale.GroupTresholds, "TOPLEFT", behavior, "BOTTOMLEFT", 0, -14)
+	treshold:SetHeight(100); treshold:SetWidth(180)
+	treshold:SetBackdropColor(0.1, 0.1, 0.1, 0.4)
+
+	local qualityTreshold = CreateFrame("Frame", "BG_DropQualityDropDown", treshold, "UIDropDownMenuTemplate")
+	qualityTreshold.displayMode = "MENU"
+	qualityTreshold:SetPoint("TOPLEFT", treshold, -4, -20)
+	_G[qualityTreshold:GetName() .. "Button"]:SetPoint("LEFT", _G[qualityTreshold:GetName().."Middle"])
+	_G[qualityTreshold:GetName() .. "Button"].tiptext = BrokerGarbage.locale.dropQualityText .. BrokerGarbage.locale.GlobalSetting
+	_G[qualityTreshold:GetName() .. "Button"]:SetScript("OnEnter", ShowTooltip)
+	_G[qualityTreshold:GetName() .. "Button"]:SetScript("OnLeave", HideTooltip)
+
+	local qualityTresholdLabel = qualityTreshold:CreateFontString(nil, "BACKGROUND", "GameFontNormalSmall")
+	qualityTresholdLabel:SetPoint("BOTTOMLEFT", qualityTreshold, "TOPLEFT", 20, 2)
+	qualityTresholdLabel:SetText(BrokerGarbage.locale.dropQualityTitle)
+	UIDropDownMenu_SetSelectedValue(qualityTreshold, BG_GlobalDB.dropQuality)
+	UIDropDownMenu_SetText(qualityTreshold, BrokerGarbage.quality[BG_GlobalDB.dropQuality])
+	local function DropQualityOnSelect(self)
+		UIDropDownMenu_SetSelectedValue(qualityTreshold, self.value)
+		BG_GlobalDB.dropQuality = self.value
+		BrokerGarbage:ScanInventory()
+	end
+	UIDropDownMenu_Initialize(qualityTreshold, function(self)
+		local selected, info = UIDropDownMenu_GetSelectedValue(self), UIDropDownMenu_CreateInfo()
+		for i = 0, #BrokerGarbage.quality do
+			info.text = BrokerGarbage.quality[i]
+			info.value = i
+			info.func = DropQualityOnSelect
+			info.checked = i == selected
+			UIDropDownMenu_AddButton(info)
+		end
+	end)
+
+
+	local sellGearTeshold = CreateFrame("Frame", "BG_SellQualityDropDown", treshold, "UIDropDownMenuTemplate")
+	sellGearTeshold.displayMode = "MENU"
+	sellGearTeshold:SetPoint("TOPLEFT", qualityTreshold, "BOTTOMLEFT", 0, -15)
+	_G[sellGearTeshold:GetName() .. "Button"]:SetPoint("LEFT", _G[sellGearTeshold:GetName().."Middle"])
+	_G[sellGearTeshold:GetName() .. "Button"].tiptext = BrokerGarbage.locale.SNUMaxQualityText .. BrokerGarbage.locale.GlobalSetting
+	_G[sellGearTeshold:GetName() .. "Button"]:SetScript("OnEnter", ShowTooltip)
+	_G[sellGearTeshold:GetName() .. "Button"]:SetScript("OnLeave", HideTooltip)
+
+	local sellGearTesholdLabel = sellGearTeshold:CreateFontString(nil, "BACKGROUND", "GameFontNormalSmall")
+	sellGearTesholdLabel:SetPoint("BOTTOMLEFT", sellGearTeshold, "TOPLEFT", 20, 2)
+	sellGearTesholdLabel:SetText(BrokerGarbage.locale.SNUMaxQualityTitle)
+	UIDropDownMenu_SetSelectedValue(sellGearTeshold, BG_GlobalDB.sellNWQualityTreshold)
+	UIDropDownMenu_SetText(sellGearTeshold, BrokerGarbage.quality[BG_GlobalDB.sellNWQualityTreshold])
+	local function SellQualityOnSelect(self)
+		UIDropDownMenu_SetSelectedValue(sellGearTeshold, self.value)
+		BG_GlobalDB.sellNWQualityTreshold = self.value
+		BrokerGarbage:ScanInventory()
+	end
+	UIDropDownMenu_Initialize(sellGearTeshold, function(self)
+		local selected, info = UIDropDownMenu_GetSelectedValue(self), UIDropDownMenu_CreateInfo()
+		for i = 0, #BrokerGarbage.quality do
+			info.text = BrokerGarbage.quality[i]
+			info.value = i
+			info.func = SellQualityOnSelect
+			info.checked = i == selected
+			UIDropDownMenu_AddButton(info)
+		end
+	end)
+
+	local display = LibStub("tekKonfig-Group").new(panel, BrokerGarbage.locale.GroupDisplay, "TOPLEFT", behavior, "TOPRIGHT", 10, 0)
+	display:SetHeight(150); display:SetWidth(180)
+	display:SetBackdropColor(0.1, 0.1, 0.1, 0.4)
+
+	local sellIcon = LibStub("tekKonfig-Checkbox").new(display, nil, BrokerGarbage.locale.showAutoSellIconTitle, "TOPLEFT", display, "TOPLEFT", 4, -2)
+	sellIcon.tiptext = BrokerGarbage.locale.showAutoSellIconText .. BrokerGarbage.locale.GlobalSetting
+	sellIcon:SetChecked(BG_GlobalDB.showAutoSellIcon)
+	local checksound = sellIcon:GetScript("OnClick")
+	sellIcon:SetScript("OnClick", function(sellIcon)
+		checksound(sellIcon)
+		BG_GlobalDB.showAutoSellIcon = not BG_GlobalDB.showAutoSellIcon
+		BrokerGarbage:UpdateRepairButton()
+	end)
+
+	-- -----------------------------------------------------------------
+	local lineDisplay = CreateHorizontalRule(display)
+	lineDisplay:SetPoint("TOPLEFT", sellIcon, "BOTTOMLEFT", 2, 2)
+	lineDisplay:SetPoint("RIGHT", -6, 2)
+	-- -----------------------------------------------------------------
+
+	local function ResetEditBox(self)
+		self:SetText(BG_GlobalDB[self.setting])
+		self:ClearFocus()
+		BrokerGarbage:ScanInventory()
+	end
+	local function SubmitEditBox(self)
+		BG_GlobalDB[self.setting] = self:GetText()
+		self:SetText(BG_GlobalDB[self.setting])
+		self:ClearFocus()
+		BrokerGarbage:ScanInventory()
+	end
+	local function ResetEditBoxDefault(self)
+		BG_GlobalDB[self.setting] = BrokerGarbage.defaultGlobalSettings[self.setting]
+		self:SetText(BG_GlobalDB[self.setting])
+		self:ClearFocus()
+		BrokerGarbage:ScanInventory()
+	end
+
+	local LDBtitle = display:CreateFontString(nil, "ARTWORK", "GameFontNormalSmall")
+	LDBtitle:SetPoint("TOPLEFT", sellIcon, "BOTTOMLEFT", 8, -10)
+	LDBtitle:SetText(BrokerGarbage.locale.LDBDisplayTextTitle)
+
+	local editHelp = CreateFrame("Button", nil, display)
+	editHelp:SetPoint("LEFT", LDBtitle, "RIGHT", 2, 0)
+	editHelp:SetWidth(12); editHelp:SetHeight(12)
+	editHelp:SetNormalTexture("Interface\\RAIDFRAME\\ReadyCheck-Waiting")
+	editHelp.tiptext = BrokerGarbage.locale.LDBDisplayTextHelpTooltip
+	editHelp:SetScript("OnEnter", ShowTooltip)
+	editHelp:SetScript("OnLeave", HideTooltip)
+
+	-- LDB format string for "Junk"
+	local junkText = CreateFrame("EditBox", nil, display)
+	CreateFrameBorders(junkText)
+	junkText:SetPoint("TOPLEFT", LDBtitle, "BOTTOMLEFT", 2, 2)
+	junkText:SetWidth(140); junkText:SetHeight(32)
+	junkText:SetFontObject("GameFontHighlightSmall")
+	junkText:SetAutoFocus(false)
+	junkText:SetText(BG_GlobalDB.LDBformat)
+	junkText.tiptext = BrokerGarbage.locale.LDBDisplayTextTooltip .. BrokerGarbage.locale.GlobalSetting
+	junkText.setting = "LDBformat"
+
+	junkText:SetScript("OnEscapePressed", ResetEditBox)
+	junkText:SetScript("OnEnterPressed", SubmitEditBox)
+	junkText:SetScript("OnEnter", ShowTooltip)
+	junkText:SetScript("OnLeave", HideTooltip)
+
+	local editReset = CreateFrame("Button", nil, display)
+	editReset:SetPoint("LEFT", junkText, "RIGHT", 4, 0)
+	editReset:SetWidth(16); editReset:SetHeight(16)
+	editReset:SetNormalTexture("Interface\\RAIDFRAME\\ReadyCheck-NotReady")
+	editReset.tiptext = BrokerGarbage.locale.ResetToDefault
+	editReset:SetScript("OnEnter", ShowTooltip)
+	editReset:SetScript("OnLeave", HideTooltip)
+	editReset:SetScript("OnClick", ResetEditBoxDefault)
+
+	-- LDB format string for "No Junk"
+	local noJunkText = CreateFrame("EditBox", nil, display)
+	CreateFrameBorders(noJunkText)
+	noJunkText:SetPoint("TOPLEFT", junkText, "BOTTOMLEFT", 0, 12)
+	noJunkText:SetAutoFocus(false)
+	noJunkText:SetWidth(140); noJunkText:SetHeight(32)
+	noJunkText:SetFontObject("GameFontHighlightSmall")
+	noJunkText:SetText(BG_GlobalDB.LDBNoJunk)
+	noJunkText.tiptext = BrokerGarbage.locale.LDBNoJunkTextTooltip .. BrokerGarbage.locale.GlobalSetting
+	noJunkText.setting = "LDBNoJunk"
+
+	noJunkText:SetScript("OnEscapePressed", ResetEditBox)
+	noJunkText:SetScript("OnEnterPressed", SubmitEditBox)
+	noJunkText:SetScript("OnEnter", ShowTooltip)
+	noJunkText:SetScript("OnLeave", HideTooltip)
+
+	local editReset2 = CreateFrame("Button", nil, display)
+	editReset2:SetPoint("LEFT", noJunkText, "RIGHT", 4, 0)
+	editReset2:SetWidth(16); editReset2:SetHeight(16)
+	editReset2:SetNormalTexture("Interface\\RAIDFRAME\\ReadyCheck-NotReady")
+	editReset2.tiptext = BrokerGarbage.locale.ResetToDefault
+	editReset2:SetScript("OnEnter", ShowTooltip)
+	editReset2:SetScript("OnLeave", HideTooltip)
+	editReset2:SetScript("OnClick", ResetEditBoxDefault)
+
+	-- -----------------------------------------------------------------
+	local lineDisplay2 = CreateHorizontalRule(display)
+	lineDisplay2:SetPoint("TOPLEFT", noJunkText, "BOTTOMLEFT", -10, 2)
+	lineDisplay2:SetPoint("RIGHT", -6, 2)
+	-- -----------------------------------------------------------------
+
+	local testValue = 130007
+	local moneyFormat = CreateFrame("Frame", "BG_MoneyFormatDropDown", display, "UIDropDownMenuTemplate")
+	moneyFormat.displayMode = "MENU"
+	moneyFormat:SetPoint("TOPLEFT", noJunkText, "BOTTOMLEFT", -20, -20)
+	_G[moneyFormat:GetName() .. "Button"]:SetPoint("LEFT", _G[moneyFormat:GetName().."Middle"])
+	_G[moneyFormat:GetName() .. "Button"].tiptext = BrokerGarbage.locale.moneyFormatText .. BrokerGarbage.locale.GlobalSetting
+	_G[moneyFormat:GetName() .. "Button"]:SetScript("OnEnter", ShowTooltip)
+	_G[moneyFormat:GetName() .. "Button"]:SetScript("OnLeave", HideTooltip)
+
+	local moneyFormatLabel = moneyFormat:CreateFontString(nil, "BACKGROUND", "GameFontNormalSmall")
+	moneyFormatLabel:SetPoint("BOTTOMLEFT", moneyFormat, "TOPLEFT", 20, 2)
+	moneyFormatLabel:SetText(BrokerGarbage.locale.moneyFormatTitle)
+	UIDropDownMenu_SetSelectedValue(moneyFormat, BG_GlobalDB.showMoney)
+	UIDropDownMenu_SetText(moneyFormat, BrokerGarbage:FormatMoney(testValue))
+	local function MoneyFormatOnSelect(self)
+		UIDropDownMenu_SetSelectedValue(moneyFormat, self.value)
+		BG_GlobalDB.showMoney = self.value
+		BrokerGarbage:ScanInventory()
+	end
+	UIDropDownMenu_Initialize(moneyFormat, function(self)
+		local selected, info = UIDropDownMenu_GetSelectedValue(self), UIDropDownMenu_CreateInfo()
+		for i = 0, 4 do	-- currently 4 formats are supported
+			info.text = BrokerGarbage:FormatMoney(testValue, i)
+			info.value = i
+			info.func = MoneyFormatOnSelect
+			info.checked = i == selected
+			UIDropDownMenu_AddButton(info)
+		end
+	end)
+
+	local tooltip = LibStub("tekKonfig-Group").new(panel, BrokerGarbage.locale.GroupTooltip, "TOPLEFT", display, "BOTTOMLEFT", 0, -14)
+	tooltip:SetHeight(140); tooltip:SetWidth(180)
+	tooltip:SetBackdropColor(0.1, 0.1, 0.1, 0.4)
+
+	local showSource = LibStub("tekKonfig-Checkbox").new(tooltip, nil, BrokerGarbage.locale.showSourceTitle, "TOPLEFT", tooltip, "TOPLEFT", 4, -2)
+	showSource.tiptext = BrokerGarbage.locale.showSourceText .. BrokerGarbage.locale.GlobalSetting
+	showSource:SetChecked(BG_GlobalDB.showSource)
+	local checksound = showSource:GetScript("OnClick")
+	showSource:SetScript("OnClick", function(showSource)
+		checksound(showSource)
+		BG_GlobalDB.showSource = not BG_GlobalDB.showSource
+	end)
+
+	local showEarned = LibStub("tekKonfig-Checkbox").new(tooltip, nil, BrokerGarbage.locale.showEarnedTitle, "TOPLEFT", showSource, "BOTTOMLEFT", 0, 4)
+	showEarned.tiptext = BrokerGarbage.locale.showEarnedText .. BrokerGarbage.locale.GlobalSetting
+	showEarned:SetChecked(BG_GlobalDB.showEarned)
+	local checksound = showEarned:GetScript("OnClick")
+	showEarned:SetScript("OnClick", function(showEarned)
+		checksound(showEarned)
+		BG_GlobalDB.showEarned = not BG_GlobalDB.showEarned
+	end)
+
+	local showLost = LibStub("tekKonfig-Checkbox").new(tooltip, nil, BrokerGarbage.locale.showLostTitle, "TOPLEFT", showEarned, "BOTTOMLEFT", 0, 4)
+	showLost.tiptext = BrokerGarbage.locale.showLostText .. BrokerGarbage.locale.GlobalSetting
+	showLost:SetChecked(BG_GlobalDB.showLost)
+	local checksound = showLost:GetScript("OnClick")
+	showLost:SetScript("OnClick", function(showLost)
+		checksound(showLost)
+		BG_GlobalDB.showLost = not BG_GlobalDB.showLost
+	end)
+
+	-- -----------------------------------------------------------------
+	local lineTooltip = CreateHorizontalRule(tooltip)
+	lineTooltip:SetPoint("TOPLEFT", showLost, "BOTTOMLEFT", 2, 2)
+	lineTooltip:SetPoint("RIGHT", -6, 2)
+	-- -----------------------------------------------------------------
+
+	local numItems, numItemsText, _, low, high = LibStub("tekKonfig-Slider").new(tooltip,
+		BrokerGarbage.locale.maxItemsTitle .. ": " .. BG_GlobalDB.tooltipNumItems,
+		0, 50, "TOPLEFT", showLost, "BOTTOMLEFT", 12, -5)
+	numItems.tiptext = BrokerGarbage.locale.maxItemsText .. BrokerGarbage.locale.GlobalSetting
+	numItems:SetWidth(165)
+	numItems:SetValueStep(1);
+	numItems:SetValue(BG_GlobalDB.tooltipNumItems)
+	numItems:SetScript("OnValueChanged", function(numItems)
+		BG_GlobalDB.tooltipNumItems = numItems:GetValue()
+		numItemsText:SetText(BrokerGarbage.locale.maxItemsTitle .. ": " .. numItems:GetValue())
+	end)
+	low:Hide(); high:Hide()
+
+	local tooltipHeight, tooltipHeightText, _, low, high = LibStub("tekKonfig-Slider").new(tooltip,
+		BrokerGarbage.locale.maxHeightTitle .. ": " .. BG_GlobalDB.tooltipMaxHeight,
+		0, 500, "TOPLEFT", numItems, "BOTTOMLEFT", 0, -2)
+	tooltipHeight.tiptext = BrokerGarbage.locale.maxHeightText .. BrokerGarbage.locale.GlobalSetting
+	tooltipHeight:SetWidth(160)
+	tooltipHeight:SetValueStep(10);
+	tooltipHeight:SetValue(BG_GlobalDB.tooltipMaxHeight)
+	tooltipHeight:SetScript("OnValueChanged", function(tooltipHeight)
+		BG_GlobalDB.tooltipMaxHeight = tooltipHeight:GetValue()
+		tooltipHeightText:SetText(BrokerGarbage.locale.maxHeightTitle .. ": " .. tooltipHeight:GetValue())
+	end)
+	low:Hide(); high:Hide()
+
+	function panel:Update()
+		junkText:SetText(BG_GlobalDB.LDBformat)
+		noJunkText:SetText(BG_GlobalDB.LDBNoJunk)
+
+		local min, max = numItems:GetMinMaxValues()
+		if BG_GlobalDB.tooltipNumItems > min and BG_GlobalDB.tooltipNumItems < max then
+			numItems:SetValue(BG_GlobalDB.tooltipNumItems)
+		end
+		numItemsText:SetText(BrokerGarbage.locale.maxItemsTitle .. ": " .. BG_GlobalDB.tooltipNumItems)
+
+		min, max = tooltipHeight:GetMinMaxValues()
+		if BG_GlobalDB.tooltipMaxHeight > min and BG_GlobalDB.tooltipMaxHeight < max then
+			tooltipHeight:SetValue(BG_GlobalDB.tooltipMaxHeight)
+		end
+		tooltipHeightText:SetText(BrokerGarbage.locale.maxHeightTitle .. ": " .. BG_GlobalDB.tooltipMaxHeight)
+	end
+end
+local defaultTab = BrokerGarbage:RegisterPlugin(BrokerGarbage.locale.BasicOptionsTitle, Options_BasicOptions)
+
+local function Options_Statistics(pluginID)
+	local panel, tab = BrokerGarbage:CreateOptionsTab(pluginID)
+
+	local function ResetStatistics(self)
+		if not self or not self.stat then return end
+		if self.isGlobal then
+			variable = BG_GlobalDB[self.stat]
+		else
+			variable = BG_LocalDB[self.stat]
+		end
+
+		if variable then
+			variable = 0
+		end
+	end
+
+	local function AddStatistic(stat, label, value, tooltip, ...)
+		if not (label and value) then return end
+		local textLeft = panel:CreateFontString(nil, "ARTWORK", "GameFontNormalSmall")
+		textLeft:SetWidth(150)
+		textLeft:SetJustifyH("RIGHT")
+		textLeft:SetText(label)
+
+		local textRight = panel:CreateFontString(nil, "ARTWORK", "GameFontHighlightSmall")
+		textRight:SetPoint("LEFT", textLeft, "RIGHT", 4, 0)
+		textRight:SetWidth(150)
+		textRight:SetJustifyH("LEFT")
+		textRight:SetText(value)
+
+		if tooltip then
+			local action = CreateFrame("Button", nil, panel)
+			action:SetNormalTexture("Interface\\RAIDFRAME\\ReadyCheck-Waiting")
+			action:SetPoint("LEFT", textRight, "RIGHT",4, 0)
+			action:SetWidth(16); action:SetHeight(16)
+			action.tiptext = tooltip
+
+			action:SetScript("OnEnter", ShowTooltip)
+			action:SetScript("OnLeave", HideTooltip)
+
+			if stat then
+				action.isGlobal = string.match(stat, "^_.*") and true or nil
+				action.stat = string.match(stat, "^_?(.*)")
+				if stat == "collectgarbage" then
+					action:SetScript("OnClick", function() collectgarbage("collect"); UpdateOptionsPanel() end)
+				else
+					action:SetNormalTexture("Interface\\RAIDFRAME\\ReadyCheck-NotReady")
+					action:SetScript("OnClick", ResetStatistics)
+				end
+			else
+
+			end
+		end
+		if select('#',...) > 0 then	textLeft:SetPoint(...) end
+
+		return textLeft, textRight
+	end
+
+	UpdateAddOnMemoryUsage()
+	local memoryUsage, memoryUsageText = AddStatistic("collectgarbage", BrokerGarbage.locale.MemoryUsageTitle, math.floor(GetAddOnMemoryUsage("Broker_Garbage")), BrokerGarbage.locale.CollectMemoryUsageTooltip, "TOPRIGHT", panel, "TOP", -2, -40)
+
+	local auctionAddon, auctionAddonText = AddStatistic(nil, BrokerGarbage.locale.AuctionAddon, BrokerGarbage.auctionAddon, BrokerGarbage.locale.AuctionAddonTooltip, "TOPLEFT", memoryUsage, "BOTTOMLEFT", 0, -6)
+
+	local globalStatistics = panel:CreateFontString(nil, "ARTWORK", "GameFontHighlightSmall")
+	globalStatistics:SetPoint("TOPLEFT", auctionAddon, "BOTTOMLEFT", 0, -12)
+	globalStatistics:SetPoint("RIGHT", panel, -32, 0)
+	globalStatistics:SetNonSpaceWrap(true)
+	globalStatistics:SetJustifyH("LEFT")
+	globalStatistics:SetJustifyV("TOP")
+	globalStatistics:SetText(BrokerGarbage.locale.GlobalStatisticsHeading)
+
+	local globalEarned, globalEarnedText = AddStatistic("_moneyEarned", BrokerGarbage.locale.GlobalMoneyEarnedTitle, BrokerGarbage:FormatMoney(BG_GlobalDB.moneyEarned), BrokerGarbage.locale.ResetStatistic, "TOPLEFT", globalStatistics, "BOTTOMLEFT", 0, -15)
+
+	local itemsSold, itemsSoldText = AddStatistic("_itemsSold", BrokerGarbage.locale.GlobalItemsSoldTitle, BG_GlobalDB.itemsSold, BrokerGarbage.locale.ResetStatistic, "TOPLEFT", globalEarned, "BOTTOMLEFT", 0, -6)
+
+	local averageSellValue, averageSellValueText = AddStatistic(nil, BrokerGarbage.locale.AverageSellValueTitle, BrokerGarbage:FormatMoney(math.floor(BG_GlobalDB.moneyEarned / (BG_GlobalDB.itemsSold ~= 0 and BG_GlobalDB.itemsSold or 1))), BrokerGarbage.locale.AverageSellValueTooltip, "TOPLEFT", itemsSold, "BOTTOMLEFT", 0, -6)
+
+	local globalLost, globalLostText = AddStatistic("_moneyLostByDeleting", BrokerGarbage.locale.GlobalMoneyLostTitle, BrokerGarbage:FormatMoney(BG_GlobalDB.moneyLostByDeleting), BrokerGarbage.locale.ResetStatistic, "TOPLEFT", averageSellValue, "BOTTOMLEFT", 0, -15)
+
+	local itemsDropped, itemsDroppedText = AddStatistic("_itemsDropped", BrokerGarbage.locale.ItemsDroppedTitle, BG_GlobalDB.itemsDropped, BrokerGarbage.locale.ResetStatistic, "TOPLEFT", globalLost, "BOTTOMLEFT", 0, -6)
+
+	local averageValueLost, averageValueLostText = AddStatistic(nil, BrokerGarbage.locale.AverageDropValueTitle, BrokerGarbage:FormatMoney(math.floor(BG_GlobalDB.moneyLostByDeleting / (BG_GlobalDB.itemsDropped ~= 0 and BG_GlobalDB.itemsDropped or 1))), BrokerGarbage.locale.AverageDropValueTooltip, "TOPLEFT", itemsDropped, "BOTTOMLEFT", 0, -6)
+
+	local localStatistics = panel:CreateFontString(nil, "ARTWORK", "GameFontHighlightSmall")
+	localStatistics:SetPoint("TOPLEFT", averageValueLost, "BOTTOMLEFT", 0, -12)
+	localStatistics:SetPoint("RIGHT", panel, -32, 0)
+	localStatistics:SetNonSpaceWrap(true)
+	localStatistics:SetJustifyH("LEFT")
+	localStatistics:SetJustifyV("TOP")
+	localStatistics:SetText(format(BrokerGarbage.locale.LocalStatisticsHeading, BrokerGarbage:Colorize(RAID_CLASS_COLORS[BrokerGarbage.playerClass]) .. UnitName("player") .. "|r"))
+
+	local localEarned, localEarnedText = AddStatistic("moneyEarned", BrokerGarbage.locale.StatisticsLocalAmountEarned, BrokerGarbage:FormatMoney(BG_LocalDB.moneyEarned), BrokerGarbage.locale.ResetStatistic, "TOPLEFT", localStatistics, "BOTTOMLEFT", 0, -15)
+
+	local localLost, localLostText = AddStatistic("moneyLostByDeleting", BrokerGarbage.locale.StatisticsLocalAmountLost, BrokerGarbage:FormatMoney(BG_LocalDB.moneyLostByDeleting), BrokerGarbage.locale.ResetStatistic, "TOPLEFT", localEarned, "BOTTOMLEFT", 0, -6)
+
+	local resetAll = LibStub("tekKonfig-Button").new(panel, "TOPLEFT", localLostText, "BOTTOMLEFT", 0, -24)
+	resetAll:SetText(BrokerGarbage.locale.ResetAllText)
+	resetAll.tiptext = BrokerGarbage.locale.ResetAllTooltip
+	resetAll:SetWidth(150)
+	resetAll:SetScript("OnClick", function()
+		BrokerGarbage:ResetAll( IsShiftKeyDown() )
+		UpdateStats()
+	end)
+
+	function panel:Update()
+		UpdateAddOnMemoryUsage()
+		memoryUsageText:SetText(math.floor(GetAddOnMemoryUsage("Broker_Garbage")))
+
+		globalEarnedText:SetText(BrokerGarbage:FormatMoney(BG_GlobalDB.moneyEarned))
+		itemsSoldText:SetText(BG_GlobalDB.itemsSold)
+		globalLostText:SetText(BrokerGarbage:FormatMoney(BG_GlobalDB.moneyLostByDeleting))
+		itemsDroppedText:SetText(BG_GlobalDB.itemsDropped)
+
+		averageSellValueText:SetText(BrokerGarbage:FormatMoney(math.floor(BG_GlobalDB.moneyEarned / (BG_GlobalDB.itemsSold ~= 0 and BG_GlobalDB.itemsSold or 1))))
+		averageValueLostText:SetText(BrokerGarbage:FormatMoney(math.floor(BG_GlobalDB.moneyLostByDeleting / (BG_GlobalDB.itemsDropped ~= 0 and BG_GlobalDB.itemsDropped or 1))))
+
+		localEarnedText:SetText(BrokerGarbage:FormatMoney(BG_LocalDB.moneyEarned))
+		localLostText:SetText(BrokerGarbage:FormatMoney(BG_LocalDB.moneyLostByDeleting))
+	end
+end
+local _ = BrokerGarbage:RegisterPlugin(BrokerGarbage.locale.StatisticsHeading, Options_Statistics)
+
+-- creates child options frame for setting up one's lists
+local function ShowListOptions(frame)
+	local title = LibStub("tekKonfig-Heading").new(frame, "Broker_Garbage - " .. BrokerGarbage.locale.LOTitle)
+
+	local explanation = frame:CreateFontString(nil, "ARTWORK", "GameFontHighlightSmall")
+	explanation:SetHeight(70)
+	explanation:SetPoint("TOPLEFT", title, "TOPLEFT", 0, -20)
+	explanation:SetPoint("RIGHT", frame, -4, 0)
+	explanation:SetNonSpaceWrap(true)
+	explanation:SetJustifyH("LEFT")
+	explanation:SetJustifyV("TOP")
+	explanation:SetText(BrokerGarbage.locale.LOSubTitle)
+
+	local default = LibStub("tekKonfig-Button").new(frame, "TOPLEFT", explanation, "BOTTOMLEFT", 0, -4)
+	default:SetText(BrokerGarbage.locale.defaultListsText)
+	default.tiptext = BrokerGarbage.locale.defaultListsTooltip
+	default:SetWidth(150)
+	default:RegisterForClicks("RightButtonUp", "LeftButtonUp")
+	default:SetScript("OnClick", function(self, button)
+		BrokerGarbage:CreateDefaultLists(IsShiftKeyDown())
+	end)
+
+	local autoSellIncludeItems = LibStub("tekKonfig-Checkbox").new(frame, nil, BrokerGarbage.locale.LOIncludeAutoSellText, "LEFT", default, "RIGHT", 10, 8)
+	autoSellIncludeItems.tiptext = BrokerGarbage.locale.LOIncludeAutoSellTooltip .. BrokerGarbage.locale.GlobalSetting
+	autoSellIncludeItems:SetChecked(BG_GlobalDB.autoSellIncludeItems)
+	local checksound = autoSellIncludeItems:GetScript("OnClick")
+	autoSellIncludeItems:SetScript("OnClick", function(autoSellIncludeItems)
+		checksound(autoSellIncludeItems)
+		BG_GlobalDB.autoSellIncludeItems = not BG_GlobalDB.autoSellIncludeItems
+		BrokerGarbage.itemsCache = {}
+		BrokerGarbage:ScanInventory()
+	end)
+
+	local includeMode = LibStub("tekKonfig-Checkbox").new(frame, nil, BrokerGarbage.locale.LOUseRealValues, "TOPLEFT", autoSellIncludeItems, "BOTTOMLEFT", 0, 8)
+	includeMode.tiptext = BrokerGarbage.locale.LOUseRealValuesTooltip .. BrokerGarbage.locale.GlobalSetting
+	includeMode:SetChecked(BG_GlobalDB.useRealValues)
+	local checksound = includeMode:GetScript("OnClick")
+	includeMode:SetScript("OnClick", function(includeMode)
+		checksound(includeMode)
+		BG_GlobalDB.useRealValues = not BG_GlobalDB.useRealValues
+		BrokerGarbage.itemsCache = {}
+		BrokerGarbage:ScanInventory()
+		-- maybe: Update LDB
+	end)
+
+	local panel = LibStub("tekKonfig-Group").new(frame, nil, "TOP", default, "BOTTOM", 0, -28)
+	panel:SetPoint("LEFT", 8 + 3, 0)
+	panel:SetPoint("BOTTOMRIGHT", -8 -4, 34)
+
+	local include = topTab.new(frame, BrokerGarbage.locale.LOTabTitleInclude, "BOTTOMLEFT", panel, "TOPLEFT", 0, -4)
+	frame.current = "include"
+	local exclude = topTab.new(frame, BrokerGarbage.locale.LOTabTitleExclude, "LEFT", include, "RIGHT", -15, 0)
+	exclude:Deactivate()
+	local vendorPrice = topTab.new(frame, BrokerGarbage.locale.LOTabTitleVendorPrice, "LEFT", exclude, "RIGHT", -15, 0)
+	vendorPrice:Deactivate()
+	local autoSell = topTab.new(frame, BrokerGarbage.locale.LOTabTitleAutoSell, "LEFT", vendorPrice, "RIGHT", -15, 0)
+	autoSell:Deactivate()
+	local help = topTab.new(frame, "?", "LEFT", autoSell, "RIGHT", -15, 0)
+	help:Deactivate()
+
+	local scrollFrame = CreateFrame("ScrollFrame", frame:GetName().."_Scroll", panel, "UIPanelScrollFrameTemplate")
+	scrollFrame:SetPoint("TOPLEFT", panel, "TOPLEFT", 0, -4)
+	scrollFrame:SetPoint("BOTTOMRIGHT", panel, "BOTTOMRIGHT", -26, 3)
+	local scrollContent = CreateFrame("Frame", scrollFrame:GetName().."Frame", scrollFrame)
+	scrollFrame:SetScrollChild(scrollContent)
+	scrollContent:SetHeight(300); scrollContent:SetWidth(400)	-- will be replaced when used
+	scrollContent:SetAllPoints()
+
+	-- action buttons
+	local plus = CreateFrame("Button", "BrokerGarbage_AddButton", frame)
+	plus:SetPoint("TOPLEFT", panel, "BOTTOMLEFT", 4, -2)
+	plus:SetWidth(25); plus:SetHeight(25)
+	plus:SetHighlightTexture("Interface\\Buttons\\ButtonHilight-Square")
+	plus:SetNormalTexture("Interface\\Icons\\Spell_chargepositive")
+	plus.tiptext = BrokerGarbage.locale.LOPlus
+	plus:RegisterForClicks("LeftButtonUp", "RightButtonUp")
+	local minus = CreateFrame("Button", "BrokerGarbage_RemoveButton", frame)
+	minus:SetPoint("LEFT", plus, "RIGHT", 4, 0)
+	minus:SetWidth(25);	minus:SetHeight(25)
+	minus:SetHighlightTexture("Interface\\Buttons\\ButtonHilight-Square")
+	minus:SetNormalTexture("Interface\\Icons\\Spell_chargenegative")
+	minus.tiptext = BrokerGarbage.locale.LOMinus
+	local demote = CreateFrame("Button", "BrokerGarbage_DemoteButton", frame)
+	demote:SetPoint("LEFT", minus, "RIGHT", 14, 0)
+	demote:SetWidth(25) demote:SetHeight(25)
+	demote:SetHighlightTexture("Interface\\Buttons\\ButtonHilight-Square")
+	demote:SetNormalTexture("Interface\\Icons\\INV_Misc_GroupLooking")
+	demote.tiptext = BrokerGarbage.locale.LODemote
+	local promote = CreateFrame("Button", "BrokerGarbage_PromoteButton", frame)
+	promote:SetPoint("LEFT", demote, "RIGHT", 4, 0)
+	promote:SetWidth(25) promote:SetHeight(25)
+	promote:SetHighlightTexture("Interface\\Buttons\\ButtonHilight-Square")
+	promote:SetNormalTexture("Interface\\Icons\\INV_Misc_GroupNeedMore")
+	promote.tiptext = BrokerGarbage.locale.LOPromote
+	local emptyList = CreateFrame("Button", "BrokerGarbage_EmptyListButton", frame)
+	emptyList:SetPoint("LEFT", promote, "RIGHT", 14, 0)
+	emptyList:SetWidth(25); emptyList:SetHeight(25)
+	emptyList:SetNormalTexture("Interface\\Buttons\\UI-GroupLoot-Pass-UP")
+	emptyList.tiptext = BrokerGarbage.locale.LOEmptyList
+
+	-- editbox curtesy of Tekkub
+	local searchbox = CreateFrame("EditBox", frame:GetName().."SearchBox", frame)
+	searchbox:SetAutoFocus(false)
+	searchbox:SetPoint("TOPRIGHT", panel, "BOTTOMRIGHT", -4, 2)
+	searchbox:SetWidth(160)
+	searchbox:SetHeight(32)
+	searchbox:SetFontObject("GameFontHighlightSmall")
+	CreateFrameBorders(searchbox)
+
+	searchbox:SetTextColor(0.75, 0.75, 0.75, 1)
+	searchbox:SetText(BrokerGarbage.locale.search)
+
+	searchbox:SetScript("OnEscapePressed", searchbox.ClearFocus)
+	searchbox:SetScript("OnEnterPressed", searchbox.ClearFocus)
+	searchbox:SetScript("OnEditFocusGained", function(self)
+		if not self.searchString then
+			self:SetText("")
+			self:SetTextColor(1,1,1,1)
+		end
+	end)
+	searchbox:SetScript("OnEditFocusLost", function(self)
+		if self:GetText() == "" then
+			self:SetText(BrokerGarbage.locale.search)
+			self:SetTextColor(0.75, 0.75, 0.75, 1)
+		end
+	end)
+	searchbox:SetScript("OnTextChanged", function(self)
+		local t = self:GetText()
+		self.searchString = t ~= "" and t ~= BrokerGarbage.locale.search and t:lower() or nil
+		BrokerGarbage:UpdateSearch(self.searchString)
+	end)
+
+	-- tab changing actions
+	include:SetScript("OnClick", function(self)
+		self:Activate()
+		exclude:Deactivate()
+		vendorPrice:Deactivate()
+		autoSell:Deactivate()
+		help:Deactivate()
+		promote:Enable(); promote:GetNormalTexture():SetDesaturated(false)
+		demote:Enable(); demote:GetNormalTexture():SetDesaturated(false)
+		frame.current = "include"
+		scrollFrame:SetVerticalScroll(0)
+		BrokerGarbage:ListOptionsUpdate()
+	end)
+	exclude:SetScript("OnClick", function(self)
+		self:Activate()
+		include:Deactivate()
+		vendorPrice:Deactivate()
+		autoSell:Deactivate()
+		help:Deactivate()
+		promote:Enable(); promote:GetNormalTexture():SetDesaturated(false)
+		demote:Enable(); demote:GetNormalTexture():SetDesaturated(false)
+		frame.current = "exclude"
+		scrollFrame:SetVerticalScroll(0)
+		BrokerGarbage:ListOptionsUpdate()
+	end)
+	vendorPrice:SetScript("OnClick", function(self)
+		self:Activate()
+		include:Deactivate()
+		exclude:Deactivate()
+		autoSell:Deactivate()
+		help:Deactivate()
+		promote:Disable(); promote:GetNormalTexture():SetDesaturated(true)
+		demote:Disable(); demote:GetNormalTexture():SetDesaturated(true)
+		frame.current = "forceVendorPrice"
+		scrollFrame:SetVerticalScroll(0)
+		BrokerGarbage:ListOptionsUpdate()
+	end)
+	autoSell:SetScript("OnClick", function(self)
+		self:Activate()
+		include:Deactivate()
+		exclude:Deactivate()
+		vendorPrice:Deactivate()
+		help:Deactivate()
+		promote:Enable(); promote:GetNormalTexture():SetDesaturated(false)
+		demote:Enable(); demote:GetNormalTexture():SetDesaturated(false)
+		frame.current = "autoSellList"
+		scrollFrame:SetVerticalScroll(0)
+		BrokerGarbage:ListOptionsUpdate()
+	end)
+	help:SetScript("OnClick", function(self)
+		self:Activate()
+		include:Deactivate()
+		exclude:Deactivate()
+		autoSell:Deactivate()
+		vendorPrice:Deactivate()
+		promote:Enable(); promote:GetNormalTexture():SetDesaturated(false)
+		demote:Enable(); demote:GetNormalTexture():SetDesaturated(false)
+		frame.current = nil
+		scrollFrame:SetVerticalScroll(0)
+		BrokerGarbage:ListOptionsUpdate()
+	end)
+
+	-- function to set the drop treshold (limit) via the mousewheel
+	local function OnMouseWheel(self, dir)
+		if type(self.itemID) ~= "number" then return end
+		BrokerGarbage.itemsCache[self.itemID] = nil		-- clear item from cache
+
+		local text, limit = self.limit:GetText()
+		if self.isGlobal then
+			list = BG_GlobalDB[frame.current]
+		else
+			list = BG_LocalDB[frame.current]
+		end
+
+		local change = IsShiftKeyDown() and 10 or 1
+		if dir == 1 then	-- up
+			if list[self.itemID] == true then
+				list[self.itemID] = change
+			else
+				list[self.itemID] = list[self.itemID] + change
+			end
+			text = list[self.itemID]
+		else				-- down
+			if list[self.itemID] == true then	-- no change
+				text = ""
+			else
+				list[self.itemID] = list[self.itemID] - change
+				text = list[self.itemID]
+			end
+
+			if type(list[self.itemID]) == "number" and list[self.itemID] <= 0 then
+				list[self.itemID] = true
+				text = ""
+			end
+		end
+		self.limit:SetText(text)
+	end
+
+	-- function that updates & shows items from various lists
+	-- local numCols
+	function BrokerGarbage:ListOptionsUpdate()
+		scrollContent:SetWidth(scrollFrame:GetWidth())	-- update scrollframe content to full width
+		if frame.current == nil then
+			local index = 1
+			while _G["BG_ListOptions_ScrollFrame_Item"..index] do
+				_G["BG_ListOptions_ScrollFrame_Item"..index]:Hide()
+				index = index + 1
+			end
+			BrokerGarbage:ShowHelp()
+			return
+		elseif _G["BG_HelpFrame"] then
+			_G["BG_HelpFrame"]:Hide()
+		end
+
+		local globalList = BG_GlobalDB[frame.current]
+		local localList = BG_LocalDB[frame.current] or {}
+		local dataList = BrokerGarbage:JoinTables(globalList, localList)
+
+		-- make this table sortable
+		data = {}
+		for key, value in pairs(dataList) do
+			table.insert(data, key)
+		end
+		table.sort(data, function(a,b)
+			if type(a) == "string" and type(b) == "string" then
+				return a < b
+			elseif type(a) == "number" and type(b) == "number" then
+				return (GetItemInfo(a) or "z") < (GetItemInfo(b) or "z")
+			else
+				return type(a) == "string"
+			end
+		end)
+
+		local numCols = math.floor((scrollContent:GetWidth() - 20 - 2)/(36 + 2))	-- or is it panel's width we want?
+		for index, itemID in ipairs(data) do
+			local button = _G[scrollContent:GetName().."_Item"..index]
+			if not button then	-- create another button
+				button = CreateFrame("CheckButton", scrollContent:GetName().."_Item"..index, scrollContent)
+				button:SetWidth(36)
+				button:SetHeight(36)
+
+				button.limit = button:CreateFontString(nil, "ARTWORK", "NumberFontNormal")
+				button.limit:SetPoint("BOTTOMLEFT", button, "BOTTOMLEFT", 2, 2)
+				button.limit:SetPoint("BOTTOMRIGHT", button, "BOTTOMRIGHT", -2, 2)
+				button.limit:SetHeight(20)
+				button.limit:SetJustifyH("RIGHT")
+				button.limit:SetJustifyV("BOTTOM")
+				button.limit:SetText("")
+
+				button.global = button:CreateFontString(nil, "ARTWORK", "GameFontHighlightSmall")
+				button.global:SetPoint("TOPLEFT", button, "TOPLEFT", 2, -2)
+				button.global:SetPoint("BOTTOMRIGHT", button, "BOTTOMRIGHT", -3, 1)
+				button.global:SetJustifyH("LEFT")
+				button.global:SetJustifyV("TOP")
+				button.global:SetText("")
+
+				button:SetHighlightTexture("Interface\\Buttons\\ButtonHilight-Square")
+				button:SetCheckedTexture("Interface\\Buttons\\UI-Button-Outline")
+				button:SetChecked(false)
+				local tex = button:GetCheckedTexture()
+				tex:ClearAllPoints()
+				tex:SetPoint("CENTER")
+				tex:SetWidth(36/37*66) tex:SetHeight(36/37*66)
+
+				button:SetScript("OnClick", function(self)
+					local check = self:GetChecked()
+					if IsModifiedClick() then	-- this handles chat linking as well as dress-up
+						local linkText = type(self.itemID) == "string" and self.itemID or BrokerGarbage.locale.AuctionAddonUnknown
+						HandleModifiedItemClick(self.itemLink or linkText)
+						self:SetChecked(not check)
+					elseif not IsModifierKeyDown() then
+						self:SetChecked(check)
+					else
+						self:SetChecked(not check)
+					end
+				end)
+				button:SetScript("OnEnter", ShowTooltip)
+				button:SetScript("OnLeave", HideTooltip)
+			end
+
+			-- update button positions
+			if index == 1 then		-- place first icon
+				button:SetPoint("TOPLEFT", scrollContent, "TOPLEFT", 6, -6)
+			elseif mod(index, numCols) == 1 then	-- new row
+				button:SetPoint("TOPLEFT", _G[scrollContent:GetName().."_Item" .. index - numCols], "BOTTOMLEFT", 0, -6)
+			else					-- new button next to the old one
+				button:SetPoint("LEFT", _G[scrollContent:GetName().."_Item" .. index - 1], "RIGHT", 4, 0)
+			end
+
+			-- update this button with data
+			local itemLink, texture
+			if type(itemID) ~= "number" then	-- this is an item category
+				itemLink = nil
+				button.tiptext = itemID			-- category description string
+				button.itemID = nil
+				texture = "Interface\\Icons\\Trade_engineering"
+			else	-- this is an explicit item
+				_, itemLink, _, _, _, _, _, _, _, texture, _ = GetItemInfo(itemID)
+				button.itemID = itemID
+				button.tiptext = nil
+			end
+
+			if texture then	-- everything's fine
+				button.itemLink = itemLink
+
+				if globalList[itemID] then
+					button.global:SetText("G")
+					button.isGlobal = true
+				else
+					button.global:SetText("")
+					button.isGlobal = false
+				end
+				if button.isGlobal and globalList[itemID] ~= true then
+					button.limit:SetText(globalList[itemID])
+				elseif localList[itemID] ~= true then
+					button.limit:SetText(localList[itemID])
+				else
+					button.limit:SetText("")
+				end
+
+				if not itemLink and not BrokerGarbage.PT then
+					button:SetAlpha(0.2)
+					button.tiptext = button.tiptext .. "\n|cffff0000"..BrokerGarbage.locale.LPTNotLoaded
+				end
+			else	-- an item the server has not seen
+				button.tiptext = "ID: "..itemID
+			end
+			button:SetNormalTexture(texture or "Interface\\Icons\\Inv_misc_questionmark")
+
+			if BrokerGarbage.listOptions.current == "include" then
+				button:EnableMouseWheel(true)
+				button:SetScript("OnMouseWheel", OnMouseWheel)
+			else
+				button:EnableMouseWheel(false)
+			end
+			button:SetChecked(false)
+			button:Show()
+		end
+		-- hide unnessessary buttons
+		local index = #data + 1
+		while _G[scrollContent:GetName().."_Item"..index] do
+			_G[scrollContent:GetName().."_Item"..index]:Hide()
+			index = index + 1
+		end
+	end
+
+	-- shows some help strings for setting up the lists
+	function BrokerGarbage:ShowHelp()
+		if not _G["BG_HelpFrame"] then
+			local helpFrame = CreateFrame("Frame", "BG_HelpFrame", scrollContent)
+			helpFrame:SetAllPoints()
+
+			local helpTexts = helpFrame:CreateFontString(nil, "ARTWORK", "GameFontHighlightSmall")
+			helpTexts:SetPoint("TOPLEFT", helpFrame, "TOPLEFT", 8, -4)
+			helpTexts:SetWidth(helpFrame:GetWidth() - 8)	-- substract the offset we added to the left
+			helpTexts:SetWordWrap(true)
+			helpTexts:SetJustifyH("LEFT")
+			helpTexts:SetJustifyV("TOP")
+			helpTexts:SetText(BrokerGarbage.locale.listsBestUse .. "\n\n" ..
+				BrokerGarbage.locale.listsSpecialOptions .. "\n\n" ..
+				BrokerGarbage.locale.iconButtonsUse .. "\n\n" ..
+				BrokerGarbage.locale.actionButtonsUse .. "\n")
+		else
+			_G["BG_HelpFrame"]:Show()
+		end
+	end
+
+	-- when a search string is passed, suitable items will be shown while the rest is grayed out
+	function BrokerGarbage:UpdateSearch(searchString)
+		local index = 1
+		local button = _G[scrollContent:GetName().."_Item"..index]
+		while button and button:IsVisible() do
+			local name = button.itemID and GetItemInfo(button.itemID) or button.tiptext
+			name = (button.itemID or "") .. " " .. (name or "")
+			name = name:lower()
+
+			if not searchString or string.match(name, searchString) then
+				button:SetAlpha(1)
+			else
+				button:SetAlpha(0.3)
+			end
+			index = index + 1
+			button = _G[scrollContent:GetName().."_Item"..index]
+		end
+	end
+
+	local function AddItem(item)
+		BrokerGarbage:Debug("Add Item", item)
+		local cursorType, itemID, link = GetCursorInfo()
+		if not item and not (cursorType and itemID and link) then
+			return
+		end
+
+		-- find the item we want to add
+		if itemID then	-- real items
+			itemID = itemID
+			BrokerGarbage.itemsCache[itemID] = nil
+		else			-- category strings
+			itemID = item
+			BrokerGarbage.itemsCache = {}
+		end
+
+		-- create "link" for output
+		if type(itemID) == "number" then
+			link = select(2, GetItemInfo(itemID))
+		else
+			link = itemID
+		end
+
+		if BG_LocalDB[frame.current] and BG_LocalDB[frame.current][itemID] == nil then
+			BG_LocalDB[frame.current][itemID] = true
+			BrokerGarbage:Print(format(BrokerGarbage.locale["addedTo_" .. frame.current], link))
+			BrokerGarbage:ListOptionsUpdate()
+			ClearCursor()
+		elseif BG_LocalDB[frame.current] == nil and
+			BG_GlobalDB[frame.current] and BG_GlobalDB[frame.current][itemID] == nil then
+			BG_GlobalDB[frame.current][itemID] = true
+			BrokerGarbage:Print(format(BrokerGarbage.locale["addedTo_" .. frame.current], link))
+			BrokerGarbage:ListOptionsUpdate()
+			ClearCursor()
+		else
+			BrokerGarbage:Print(string.format(BrokerGarbage.locale.itemAlreadyOnList, link))
+		end
+		BrokerGarbage:ScanInventory()
+		BrokerGarbage:UpdateRepairButton()
+	end
+
+	if not _G["BG_LPTMenuFrame"] then
+		--initialize dropdown menu for adding setstrings
+		BrokerGarbage.menuFrame = CreateFrame("Frame", "BG_LPTMenuFrame", UIParent, "UIDropDownMenuTemplate")
+		UIDropDownMenu_Initialize(BrokerGarbage.menuFrame, function(self, level)
+			BrokerGarbage:LPTDropDown(self, level, function(self)
+				AddItem(self.value)
+				BrokerGarbage:ListOptionsUpdate()
+			end)
+		end, "MENU")
+	end
+
+	local function OnClick(self, button)
+		if frame.current == nil then return end
+		if button == "RightButton" then
+			-- toggle LibPeriodicTable menu
+			BrokerGarbage.menuFrame.clickTarget = self
+			ToggleDropDownMenu(1, nil, BrokerGarbage.menuFrame, self, -20, 0)
+			return
+		end
+
+		-- add action
+		if self == plus then
+			AddItem()
+		-- remove action
+		elseif self == minus then
+			BrokerGarbage:Debug("Clicked on Minus: Remove items")
+			local index = 1
+			while _G["BG_ListOptions_ScrollFrame_Item"..index] do
+				local button = _G["BG_ListOptions_ScrollFrame_Item"..index]
+				if button:IsVisible() and button:GetChecked() then
+					BrokerGarbage:Debug("Button visible & checked. removing")
+					local item = button.itemID or button.tiptext
+					if BG_LocalDB[frame.current] then
+						BrokerGarbage:Debug("is local")
+						BG_LocalDB[frame.current][item] = nil
+					end
+					if BG_GlobalDB[frame.current] then
+						BrokerGarbage:Debug("is global")
+						BG_GlobalDB[frame.current][item] = nil
+					end
+
+					if type(item) == "number" then	-- regular item
+						BrokerGarbage.itemsCache[item] = nil
+					else							-- category string
+						BrokerGarbage.itemsCache = {}
+					end
+				end
+				index = index + 1
+			end
+		-- demote action
+		elseif self == demote then
+			local index = 1
+			while _G["BG_ListOptions_ScrollFrame_Item"..index] do
+				local button = _G["BG_ListOptions_ScrollFrame_Item"..index]
+				if button:IsVisible() and button:GetChecked() then
+					local item = button.itemID or button.tiptext
+					if BG_GlobalDB[frame.current][item] and BG_LocalDB[frame.current] then
+						BG_LocalDB[frame.current][item] = BG_GlobalDB[frame.current][item]
+						BG_GlobalDB[frame.current][item] = nil
+					end
+				end
+				index = index + 1
+			end
+		-- promote action
+		elseif self == promote then
+			local index = 1
+			while _G["BG_ListOptions_ScrollFrame_Item"..index] do
+				local button = _G["BG_ListOptions_ScrollFrame_Item"..index]
+				if button:IsVisible() and button:GetChecked() then
+					local item = button.itemID or button.tiptext
+					if not BG_GlobalDB[frame.current][item] then
+						BG_GlobalDB[frame.current][item] = BG_LocalDB[frame.current][item]
+						BG_LocalDB[frame.current][item] = nil
+					end
+				end
+				index = index + 1
+			end
+		-- empty action
+		elseif self == emptyList then
+			BrokerGarbage.itemsCache = {}
+			if IsShiftKeyDown() then
+				BG_GlobalDB[frame.current] = {}
+			elseif BG_LocalDB[frame.current] then
+				BG_LocalDB[frame.current] = {}
+			end
+		end
+
+		BrokerGarbage:ScanInventory()
+		BrokerGarbage:ListOptionsUpdate()
+		BrokerGarbage:UpdateRepairButton()
+	end
+
+	plus:SetScript("OnClick", OnClick)
+	plus:SetScript("OnEnter", ShowTooltip)
+	plus:SetScript("OnLeave", HideTooltip)
+	minus:SetScript("OnClick", OnClick)
+	minus:SetScript("OnEnter", ShowTooltip)
+	minus:SetScript("OnLeave", HideTooltip)
+	demote:SetScript("OnClick", OnClick)
+	demote:SetScript("OnEnter", ShowTooltip)
+	demote:SetScript("OnLeave", HideTooltip)
+	promote:SetScript("OnClick", OnClick)
+	promote:SetScript("OnEnter", ShowTooltip)
+	promote:SetScript("OnLeave", HideTooltip)
+	emptyList:SetScript("OnClick", OnClick)
+	emptyList:SetScript("OnEnter", ShowTooltip)
+	emptyList:SetScript("OnLeave", HideTooltip)
+
+	-- support for add-mechanism
+	plus:RegisterForDrag("LeftButton")
+	plus:SetScript("OnReceiveDrag", ItemDrop)
+	plus:SetScript("OnMouseDown", ItemDrop)
+
+	BrokerGarbage:ListOptionsUpdate()
+	BrokerGarbage.listOptions:SetScript("OnShow", BrokerGarbage.ListOptionsUpdate)
+end
+
+function BrokerGarbage.CreateOptionsPanel(frame)
+	local title, subtitle = LibStub("tekKonfig-Heading").new(frame, "Broker_Garbage", BrokerGarbage.locale.BasicOptionsText)
+
+	local group = LibStub("tekKonfig-Group").new(frame, nil, "TOP", subtitle, "BOTTOM", 0, -24)
+	group:SetPoint("LEFT")
+	group:SetPoint("BOTTOMRIGHT")
+	group:SetBackdropColor(0.1, 0.1, 0.1, 0.3)
+	frame.group = group
+
+	ChangeView(defaultTab)
+	ShowListOptions(BrokerGarbage.listOptions)
+	collectgarbage()
+	frame:SetScript("OnShow", UpdateOptionsPanel)
+end
+
+BrokerGarbage.options:SetScript("OnShow", BrokerGarbage.CreateOptionsPanel)
+InterfaceOptions_AddCategory(BrokerGarbage.options)
+
+-- BrokerGarbage.listOptions:SetScript("OnShow", ShowListOptions)
+InterfaceOptions_AddCategory(BrokerGarbage.listOptions)
+
+LibStub("tekKonfig-AboutPanel").new("Broker_Garbage", "Broker_Garbage")
+
+-- register slash commands
+SLASH_BROKERGARBAGE1 = "/garbage"
+SLASH_BROKERGARBAGE2 = "/garb"
+function SlashCmdList.BROKERGARBAGE(msg, editbox)
+	local command, rest = msg:match("^(%S*)%s*(.-)$")
+	local command = strlower(command)
+	local LootManager = IsAddOnLoaded("Broker_Garbage-LootManager")
+
+	if command == "options" or command == "config" or command == "option" or command == "menu" then
+		BrokerGarbage:OptionsFirstLoad()
+		InterfaceOptionsFrame_OpenToCategory(BrokerGarbage.options)
+
+	elseif command == "format" then
+		if strlower(rest) ~= "reset" then
+			BG_GlobalDB.LDBformat = rest
+		else
+			BG_GlobalDB.LDBformat = BrokerGarbage.defaultGlobalSettings.LDBformat
+		end
+		BrokerGarbage:ScanInventory()
+
+	elseif command == "limit" or command == "glimit" or command == "globallimit" then
+		local itemID, count = rest:match("^[^0-9]-([0-9]+).-([0-9]+)$")
+		itemID = tonumber(itemID) or -1
+		count = tonumber(count) or -1
+
+		if itemID < 1 or count < 0 then
+			BrokerGarbage:Print(BrokerGarbage.locale.invalidArgument)
+		end
+		BrokerGarbage.itemsCache[itemID] = nil
+
+		if string.find(command, "g") then
+			BG_GlobalDB.include[itemID] = count
+		else
+			BG_LocalDB.include[itemID] = count
+		end
+		local itemLink = select(2,GetItemInfo(itemID)) or BrokerGarbage.locale.unknown
+		BrokerGarbage:Print(format(BrokerGarbage.locale.limitSet, itemLink, count))
+		BrokerGarbage:ListOptionsUpdate("include")
+
+	elseif command == "tooltiplines" or command == "numlines" then
+		rest = tonumber(rest)
+		if not rest then
+			BrokerGarbage:Print(BrokerGarbage.locale.invalidArgument)
+			return
+		end
+		BG_GlobalDB.tooltipNumItems = rest
+		BrokerGarbage:ScanInventory()
+		if BrokerGarbage.options.currentTab and BrokerGarbage.tabs[BrokerGarbage.options.currentTab].panel.Update then
+			BrokerGarbage.tabs[BrokerGarbage.options.currentTab].panel:Update()
+		end
+
+	elseif command == "tooltipheight" or command == "height" then
+		rest = tonumber(rest)
+		if not rest then
+			BrokerGarbage:Print(BrokerGarbage.locale.invalidArgument)
+			return
+		end
+		BG_GlobalDB.tooltipMaxHeight = rest
+		if BrokerGarbage.options.currentTab and BrokerGarbage.tabs[BrokerGarbage.options.currentTab].panel.Update then
+			BrokerGarbage.tabs[BrokerGarbage.options.currentTab].panel:Update()
+		end
+
+	elseif LootManager and (command == "value" or command == "minvalue") then
+		rest = tonumber(rest) or -1
+		if rest < 0 then
+			BrokerGarbage:Print(BrokerGarbage.locale.invalidArgument)
+			return
+		end
+
+		BrokerGarbage_LootManager:SetMinValue(rest)
+		BrokerGarbage:Print(format(BrokerGarbage.locale.minValueSet, BrokerGarbage:FormatMoney(BGLM_LocalDB.itemMinValue)))
+
+	elseif LootManager and (command == "freeslots" or command == "slots" or command == "free" or command == "minfree") then
+		rest = tonumber(rest)
+		if not rest then
+			BrokerGarbage:Print(BrokerGarbage.locale.invalidArgument)
+			return
+		end
+
+		BrokerGarbage_LootManager:SetMinSlots(rest)
+		BrokerGarbage:Print(format(BrokerGarbage.locale.minSlotsSet, BGLM_GlobalDB.tooFewSlots))
+
+	else
+		BrokerGarbage:Print(BrokerGarbage.locale.slashCommandHelp)
+	end
+end
\ No newline at end of file
diff --git a/readme.txt b/readme.txt
new file mode 100644
index 0000000..988b9a6
--- /dev/null
+++ b/readme.txt
@@ -0,0 +1,153 @@
+Broker_Garbage
+==============
+Author: ckaotik
+Version: 4.0v6
+WoW Version: 4.0.3
+
+WoWInterface: http://www.wowinterface.com/downloads/info15531-Broker_Garbage.html	(with Loot Manager)
+Curse:        http://wow.curse.com/downloads/wow-addons/details/broker_garbage.aspx	(with Loot Manager)
+GitHub:		  http://www.github.com/ckaotik/Broker_Garbage							(without Loot Manager)
+
+
+1. What it does
+-----------------
+Broker_Garbage is a LDB plugin that will show your least valuable items, their value and their amount in a tooltip. Then it enables you to drop them with just one click, making life for those tight-bagged people among us easier.
+As you probably don't want to drop everything just by it's vendor price, Broker_Garbage takes into account auction prices (you would need to have an auction price addon active) and different lists for managing exclusions and other "special" behaviour.
+
+2. First Start
+-----------------
+Depending on your LDB display addon you may or may not already see the Broker_Garbage plugin on it. If you don't, please check if you need to enable it in oder to be displayed (e.g. for DockingStation). It will be listed as either "Garbage" or "Broker_Garbage".
+If you still can't find it, have a look at your options panel (ESC - Interface - AddOns tab - look for Broker_Garbage). Should you not find it there it might be because it caused an error (you can turn on Lua error messages in the Interface menu) or it's not activated in the Login screen.
+
+If you get past that point (and really, you should) it's about time to set up your lists. For more information on lists, have at look at 5. List Management.
+1) Set up items you never want to delete, on any character, in your Keep List. Then, select them and push "Promote" to put them on your global Keep List.
+2) Now, go ahead and add character specific items to your Keep List (same as above, just no "Promote")
+3) With that taken care of you might want to think of items that always fill your inventory even though you don't need them or they can be easily gotten back. These items belong on your Junk List. Examples for this list are Argentum Lance, Light Feather (if you have a Mage/Priest that needs them, by default they will be put on their (local) Keep List) and the likes.
+
+
+3. I got an error!!!11!1!
+-----------------
+Well, that's not good, but it's good ;) If you report an error I can have a look to fix it. Of course, there shouldn't be any errors in the first place but you know ... I'm only human, too.
+To report a bug just log on to WoWInterface.com or curse.com and leave me a message or a comment (the full links can be found at the top of this file) giving as much information as you can. On curse it even offers a bug tracker and I wouldn't mind you using it. Some info you should always include:
+
+* When did it happen? (on login, on /reload, when selling, ...)
+* What happened? ("The tooltip went blank.", "The tooltip sticks to the cursor.", ...)
+* Comment ("Could be because addon XY does weird things.", "Didn't happen on my pally char".)
+
+
+4. Feature Suggestions
+-----------------
+Got a feature idea? Then tell me! Send me a message on curse/wowinterface or comment my addon on any of those sites. I'll make sure to read it!
+
+Still, do not feel bad if it doesn't make it into the addon. In that case I will most likely try to get you an individual solution - or include it at a later time.
+
+
+5. List Management
+-----------------
+There are several lists for you to use. Please be aware that itemIDs are prioritized above LibPeriodicTable (LPT) category strings, so if for example you had "Misc.Reagent.Class.Priest" on your Keep List but 17056 (Light Feather) on your Junk List, the feathers would be considered as junk items.
+
+* Whitelist: Keep List
+Items on here will be "saved" from any actions - they will not be sold, dropped or anything else.
+
+* Blacklist: Junk List
+Items on this list will be always be shown in the drop Tooltip, no matter what Quality Treshold you might have set. If you have too many, you won't see any other items in the tooltip. Caution!
+
+Junk List items can have a set limit. Use this if for example you only want to keep 5 Soulshards. Excess items will be listed in the Tooltip!
+
+* Vendor Price List
+Items on this list will never have their auction value used. This is useful for food, drinks and other things people tend to put on the AH at unbelievable prices.
+
+* Sell List
+Items on this list will be sold whenever you talk to a vendor. Items of higher quality than your Quality Treshold WILL be sold, just keep that in mind.
+
+Each of these lists except for 'Vendor Price' have a global (affects all your characters) and local (only affects the current character) component. You can promote/demote items between the two by selecting them and then clicking on the Promote/Demote icon below the list.
+Global items will have a "G" shown in their top left corner.
+
+6. 'Source' information on the tooltip
+-----------------
+If you check 'Show Source' in the options panel, the tooltip will display an additional column with color coded letters. These are to show you which item price Broker_Garbage decided on using. Possible codes are:
+	orange V		This item has its vendor price set as the highest value.
+	dark orange V 	This item is on your Sell List or Vendor Price List. It uses the item's vendor price
+	green A			This item has its auction value used
+	blue G			You have 'Sell Gear' checked and this item will be sold when at a merchant. It uses the vendor price.
+	white I			This item is on your Junk List and therefore is displayed first.
+
+7. Periodic Table -or- How to put entire categories onto those stupid lists
+-----------------
+Starting in version 3.3v11 you can add category strings to make your life easier. To do so, go to your settings panel for the list you wish to add it to and right-click on the 'plus' icon. You will see a list of all categories LibPeriodicTable has to offer (or at least the parts of it that I chose to include).
+Navigate your way through the menu and add any category you like simply by clicking on it.
+To remove a category simply do as you would with any other item on your list: Select it and then hit the 'Minus' icon.
+If you want to test which items are on what lists, just use the 'Category Test' panel in the options.
+
+Why are these categories only in English? There's a simple answer to that: Because that's what LPT does and I do not want to localize the complete LPT. Sorry for that, but it's kind of not my job to do that ;)
+
+8. How to adjust the LDB display text
+-----------------
+In 3.3v15 I added the possibility to adjust the LDB display text to your liking. To do so, simply change the text on the General Options panel or type "/garbage format 'formatstring'" (without any quotation marks) where formatstring is your desired output format. The LDB display format supports several parameters:
+
+	[itemname]		item name/link
+	[itemcount]		item count
+	[itemvalue]		item value
+
+	[freeslots]		number of free inventory slots
+	[totalslots]	total number of inventory slots
+
+	[basicfree]		number of general type free bag slots (i.e. bags that can hold any item)
+	[basicslots]	total number of general type bag slots
+	[specialfree]	number of special type free bag slots (i.e. mining bags)
+	[specialslots]	total number of special type bag slots
+
+	[bagspacecolor]	colors the following text corresponding to your bag situation
+	[basicbagcolor]	colors the following text corresponding to your basic bag situation
+	[specialbagcolor]	colors the following text corresponding to your specialty bag situation
+	[endcolor]		resets the coloring
+
+	[junkvalue]		the amount a vendor would give you for your junk/auto sell items
+
+Some examples:
+
+[Hearthstone]x1 (0c) - 8/32					can be achieved with
+	[itemname]x[itemcount] ([itemvalue]) - [bagspacecolor][freeslots]/[totalslots][endcolor]
+
+0c [Hearthstone]x1 - 13/9/136				can be achieved with
+	[itemvalue] [itemname]x[itemcount] - [basicbagcolor][basicfree][endcolor]/[specialbagcolor][specialfree][endcolor]/[bagspacecolor][freeslots][endcolor]
+
+[Hearthstone] - (18/48) - 0c				can be achieved with
+	[itemname] - ([freeslots]/[totalslots]) - [itemvalue]
+
+18 / 3g14s8c - [Hearthstone]						can be achieved with
+	[freeslots] / [junkvalue] - [itemname]
+
+9. The Loot Manager
+-----------------
+The Loot Manager has several settings for you to play around with. It is a seperate addon that can be (de)activated in the addons panel and ingame in the options panel.
+For more information on the Loot Manager, see its own readme.txt .
+
+Items on your Junk List will never be looted, while the Loot Manager will always try its best to loot those items that are on your Keep List.
+
+10. Slash Commands
+-----------------
+Broker_Garbage supports a hand full of slash commands. These are /garbage or short, /garb. Parameters supported:
+
+	/garbage format <formatstring>
+See information on this one above, in part 8.
+
+	/garbage option -or- /garbage options -or- /garbage menu -or- /garbage config
+All of these just open up the config window ;)
+
+	/garbage limit <itemLink or itemID> <amount>
+This will add the corresponding item to the character's include list and add a limit to it.
+
+	/garbage glimit -or- /garbage globallimit
+Same as the above, just adds the item to the global include list.
+
+	/garbage tooltiplines -or- /garbage numlines
+Sets the number of lines the tooltip will display. This setting can also be changed in the options panel.
+
+	/garbage tooltipheight -or- /garbage height
+Sets the height of the LDB tooltip. This setting can also be changed in the options panel
+
+11. How you can help
+-----------------
+I still need a few translations to get done. If you would like to help me with that, please do so on http://wow.curseforge.com/addons/broker_garbage/localization/  .
+Likewise, I need people to test the addon with different auction addons. If you have one that isn't yet supported, make a Feature Suggestion (see 4.).