1002,6,158,6,739,17,93,26,93,32,204,29,2750,40,456,40,877,38,448,30,103,36,934,36,552,36,993,21,2330,18,1798,19,4112,23,5438,44,214,19,1190,37,1479041,22,24933,17,3287,21,867,34,137,47,556,16,327,27,570,32,449,35,826,24,396,27,1316,23,367,34,387,26,565,30,118,32,567,43,386,35,606,39,118,29,367,40,419,32,617,36,118,26,393,25,331,28,1100,33,228,37,757,52,1066,46,371,48,365,35,707,47,431,38,119,34,632,39,1079,32,284,37,167,54,1291,29,127,33,1454,31,303,36,728,37,1065,37,327,31,425,38,383,41,489,38,1143,33,3850,20,106,33,385,32,302,37,684,35,713,38,915,38,1285,43,1580,56,494,52,500,64,1488,89,337,38,316,32,707,35,311,37,1268,36,812,28,491,49,162,51,217,30,1433,55,507,39,226,23,3235,44,618,40,877,50,1423,36,321,42,1195,38,539,38,539,25,3272,57,255,54,418,62,356,58,1421,46,691,70,1366,70,243,55,928,71,300,34,817,40,287,48,483,40,2205,45,123,49,1147,54,277,60,396,40,1025,46,104,51,2819,54,483,46,639,25,2265,28,1768,41,323,47,1017,43,517,43,517,30,1022,30,133,40,345,41,212,56,243,43,263,34,1792 _info {"project":"app01-avatar","branch":"master","version":203,"versionDate":"2024-04-18T11:31:10.000Z","fromVersion":0,"reset":true,"checksumDocs":"136-1619662"} _t.ls (function(){ return { no: { de: "Nein", en: "No", fr: "Non", es: "No", pt: "Não" }, yes: { de: "Ja", en: "Yes", fr: "Oui", es: "Sí", pt: "Sim" }, ok: { de: "OK", en: "Ok", fr: "OK", es: "Ok", pt: "Ok" }, continueButton: { de: "Weiter", en: "Continue", fr: "Continuer", es: "Continuar", pt: "Continuar" }, exit: { de: "Beenden", en: "Exit", fr: "Quitter", es: "Salir", pt: "Sair" }, loading: { de: "Lade ...", en: "Loading ...", fr: "Chargement ...", es: "Descargando...", pt: "Carregando..." }, size: { de: "Größe", en: "Size", fr: "Taille", es: "Tamaño", pt: "Tamanho" }, error: { de: "Es ist ein Fehler aufgetreten.", en: "An error occurred.", fr: "Une erreur s'est produite.", es: "Ocurrió un error.", pt: "Ocorreu um erro." } }; })(); avatar/avatar.ls (function(){ return function(o){ return inc("/lib/util/avatarWithCache/avatar")(o); }; })(); avatarWithCache/avatar.ls (function(){ return function(o){ return inc("/lib/util/avatarWithCache/avatar")(o); }; })(); lib/avatarItem/active/active.ls (function(){ return function(size, isActive){ if (!isActive) { return; } return Div().css({ position: "absolute", top: 0, right: 0, left: 0, bottom: 0, border: "3px solid " + Color.grey[700] }); }; })(); lib/avatarItem/avatarItem.ls (function(){ return function(o){ var size, option, path, currentAvatar, isActive, disableShadow, bigLabels, disableDebugLabel, disablePrice, entryPath, avatarItem, avatarMap, avatarMapItem, avatarMapItemOption, view, price, plusOnly, debugOnly, newBadgeUntil, purchaseId, isPurchased, key, value, colorPath, optionColor, ref$, ref1$, ref2$, div; size = o.size; option = o.option; path = o.path; currentAvatar = o.currentAvatar; isActive = o.isActive; disableShadow = o.disableShadow; bigLabels = o.bigLabels; disableDebugLabel = o.disableDebugLabel; disablePrice = o.disablePrice; if (_.includes(size, "em")) { size = inc("/../app01/lib/util/emToPx/emToPx")(size.replace("em", "")); } entryPath = path.slice(0, -7); avatarItem = _.set({}, path, option); avatarMap = inc("/../app01-avatar/lib/data/avatarMap")(); avatarMapItem = _.get(avatarMap, entryPath); avatarMapItemOption = _.find(avatarMapItem.optionParams, { name: option }); view = avatarMapItem.previewView; price = avatarMapItemOption != null ? avatarMapItemOption.price : void 8; plusOnly = avatarMapItemOption != null ? avatarMapItemOption.plusOnly : void 8; debugOnly = avatarMapItemOption != null ? avatarMapItemOption.debugOnly : void 8; newBadgeUntil = avatarMapItemOption != null ? avatarMapItemOption.newBadgeUntil : void 8; purchaseId = (path + "." + option).split(".").slice(-3).join(".").replace(".option.", "."); isPurchased = (typeof log != 'undefined' && log !== null ? log.findLast({ event: "unlockAvatarOption", id: purchaseId }) : void 8) != null; for (key in avatarMapItem) { value = avatarMapItem[key]; if (key.length === 2 && key[0] === "c") { colorPath = entryPath + "." + key; optionColor = _.get(currentAvatar, colorPath) || ((ref$ = _.find(avatarMapItem[key], { name: avatarItem != null ? avatarItem[key] : void 8 })) != null ? ref$.name : void 8) || ((ref1$ = _.find(avatarMapItem[key], { name: (ref2$ = avatarMapItem.defaultColor) != null ? ref2$[key] : void 8 })) != null ? ref1$.name : void 8) || avatarMapItem[key][0].name; _.set(avatarItem, colorPath, optionColor); } } div = Div({ width: size + "px", height: size + "px" }).append(inc("avatarItem/avatarItem")(avatarItem, view, entryPath, size, disableShadow), inc("debugLabel/debugLabel")(option, size, bigLabels, disableDebugLabel), inc("debugOnly/debugOnly")(debugOnly, size, disableShadow, bigLabels), inc("priceTag/priceTag")(size, price, purchaseId, disableShadow, bigLabels, disablePrice), inc("plusOnly/plusOnly")(size, plusOnly, isPurchased, disableShadow, bigLabels), inc("newBadge/newBadge")(size, newBadgeUntil, disableShadow, bigLabels), inc("active/active")(size, isActive)).attr(engine.isDebug ? { title: purchaseId } : void 8); div.getPrice = function(){ return price; }; return div; }; })(); lib/avatarItem/avatarItem/avatarItem.ls (function(){ return function(avatarItem, view, entryPath, size, disableShadow){ return Div().css({ background: Color.grey[150], borderRadius: "999px", overflow: "hidden", width: size + "px", height: size + "px" }).append(inc("/../app01-avatar/avatar/avatar")({ avatar: avatarItem, view: view, entryPath: entryPath }).css({ width: size + "px", height: size + "px", filter: !disableShadow ? "drop-shadow(0 0 0.5em rgba(0, 0, 0, 0.2))" : void 8 })); }; })(); lib/avatarItem/debugLabel/debugLabel.ls (function(){ return function(option, size, bigLabels, disableDebugLabel){ var f, i, p; if (!engine.isDebug || disableDebugLabel) { return; } f = size / 9; i = size / 6; p = size / 35; if (bigLabels) { debug("bigLabels"); f *= 1.4; i *= 1.4; p *= 1.4; } return Div().css({ position: "absolute", top: "50%", left: p + "px", right: p + "px", marginTop: "-" + (i + p) / 2 + "px", fontSize: f + "px", padding: p + "px", fontWeight: "bold", textTransform: "uppercase", backgroundColor: "rgba(0,0,0,0.3)", overflow: "hidden", textOverflow: "ellipsis", whiteSpace: "nowrap", zIndex: 1 }).html(Div({ display: "flex" }).append(SvgIcon({ svg: path("/../app01/lib/svg/shape/debug.svg"), color: Color.white, width: i + "px" }).css({ flex: "0 0 auto", width: i + "px", marginRight: p + "px" }), Div().css({ flex: "1 1 auto", textAlign: "left", color: Color.white }).html(option))); }; })(); lib/avatarItem/debugOnly/debugOnly.ls (function(){ return function(debugOnly, size, disableShadow, bigLabels){ var s, p; if (!debugOnly) { return; } s = size / 4; p = size / 35; if (bigLabels) { s *= 1.3; p *= 1.3; } return SvgIcon({ svg: path("/../app01/lib/svg/shape/debug.svg"), color: Color.grey[500], width: s + "px" }).css({ position: "absolute", top: p + "px", left: p + "px", zIndex: 1, filter: !disableShadow ? "drop-shadow(0 0 0.5em rgba(0, 0, 0, 0.2))" : void 8 }); }; })(); lib/avatarItem/newBadge/_t.ls (function(){ return { 'new': { de: "NEU", en: "NEW", fr: "NOUVEAU", es: "NUEVO", pt: "NOVO" } }; })(); lib/avatarItem/newBadge/newBadge.ls (function(){ return function(size, newBadgeUntil, disableShadow, bigLabels){ var nowDate, untilDate, s, f, p; if (!newBadgeUntil) { return; } nowDate = new Date(); untilDate = new Date(newBadgeUntil); if (untilDate <= nowDate) { return; } s = size / 3; f = size / 9; p = size / 35; if (bigLabels) { s *= 1.3; f *= 1.3; p *= 1.3; } return Div().css({ position: "absolute", top: p + "px", right: p + "px", flex: "0 0 auto", width: s + "px", height: s + "px", zIndex: 1, filter: !disableShadow ? "drop-shadow(0 0 0.5em rgba(0, 0, 0, 0.2))" : void 8 }).append(SvgIcon({ svg: path("/../app01/lib/svg/shape/badge.svg"), width: s + "px", height: s + "px", color: Color.pink[500] }).css({ position: "absolute", top: 0, left: 0 }), Div().css({ position: "absolute", top: 0, left: 0, display: "flex", width: s + "px", height: s + "px" }).html(Div().css({ color: Color.white, fontWeight: "bold", fontSize: f + "px" }).html(T("new")))); }; })(); lib/avatarItem/plusOnly/plusOnly.ls (function(){ return function(size, plusOnly, isPurchased, disableShadow, bigLabels, disablePurchased){ var s, p; if (!plusOnly) { return; } s = size / 4; p = size / 35; if (bigLabels) { s *= 1.3; p *= 1.3; } return SvgIcon({ width: s + "px", svg: isPurchased && !disablePurchased ? path("/../app01/lib/svg/shape/anton-plus.svg") : path("/../app01/lib/svg/illustration/anton-plus.svg") }).css({ position: "absolute", bottom: p + "px", left: p + "px", zIndex: 1, filter: !disableShadow ? "drop-shadow(0 0 0.5em rgba(0, 0, 0, 0.2))" : void 8 }); }; })(); lib/avatarItem/priceTag/priceTag.ls (function(){ return function(width, price, purchaseId, disableShadow, bigLabels, disablePrice){ var s, f, p, r, isPurchased; if (!price) { return; } s = width / 5; f = width / 7; p = width / 35; r = width / 27; if (bigLabels) { s *= 1.3; f *= 1.3; p *= 1.3; r *= 1.3; } isPurchased = log.findLast({ event: "unlockAvatarOption", id: purchaseId }) != null; return Div().css({ position: "absolute", display: "flex", bottom: p + "px", right: p + "px", zIndex: 1, backgroundColor: Color.white, borderRadius: r + "px", padding: "0 " + p + "px", filter: !disableShadow ? "drop-shadow(0 0 0.5em rgba(0, 0, 0, 0.2))" : void 8 }).append(Div().css({ flex: "1 0 auto", fontSize: f + "px", margin: p + "px", color: isPurchased || disablePrice ? Color.grey[400] : Color.orange[300] }).html(price), SvgIcon({ svg: isPurchased || disablePrice ? path("/../app01/lib/svg/illustration/coin-disabled.svg") : path("/../app01/lib/svg/illustration/coin.svg"), width: s + "px" }).css({ flex: "0 0 auto" })); }; })(); lib/colors/animal.ls (function(){ return function(){ var colors; colors = [ { name: "FAEDDB", color: '#FAEDDB' }, { name: "FCE3C4", color: '#FCE3C4' }, { name: "FAD8AB", color: '#FAD8AB' }, { name: "EDC8A5", color: '#EDC8A5' }, { name: "EEB866", color: '#EEB866' }, { name: "EDA439", color: '#EDA439' }, { name: "E98D43", color: '#E98D43' }, { name: "D99334", color: '#D99334' }, { name: "E6773A", color: '#E6773A' }, { name: "DF5140", color: '#DF5140' }, { name: "DD424B", color: '#DD424B' }, { name: "BF424E", color: '#BF424E' }, { name: "FACB3D", color: '#FACB3D' }, { name: "F1DE49", color: '#F1DE49' }, { name: "EADA55", color: '#EADA55' }, { name: "B1C578", color: '#B1C578' }, { name: "94C05F", color: '#94C05F' }, { name: "5FB346", color: '#5FB346' }, { name: "5D8C45", color: '#5D8C45' }, { name: "3C6432", color: '#3C6432' }, { name: "475D2D", color: '#475D2D' }, { name: "BDD7D5", color: '#BDD7D5' }, { name: "9ECDCC", color: '#9ECDCC' }, { name: "70C1BF", color: '#70C1BF' }, { name: "0DB2B8", color: '#0DB2B8' }, { name: "619CAC", color: '#619CAC' }, { name: "FAECEE", color: '#FAECEE' }, { name: "F2CCD8", color: '#F2CCD8' }, { name: "F3BDAA", color: '#F3BDAA' }, { name: "ED9D88", color: '#ED9D88' }, { name: "CBB9AB", color: '#CBB9AB' }, { name: "D0A655", color: '#D0A655' }, { name: "AD825D", color: '#AD825D' }, { name: "CD8E61", color: '#CD8E61' }, { name: "CA8652", color: '#CA8652' }, { name: "A7724C", color: '#A7724C' }, { name: "996232", color: '#996232' }, { name: "94704D", color: '#94704D' }, { name: "83644A", color: '#83644A' }, { name: "6F635B", color: '#6F635B' }, { name: "7D402A", color: '#7D402A' }, { name: "693F26", color: '#693F26' }, { name: "5C321D", color: '#5C321D' }, { name: "79564E", color: '#79564E' }, { name: "5B4634", color: '#5B4634' }, { name: "6C5625", color: '#6C5625' }, { name: "45413C", color: '#45413C' }, { name: "311F16", color: '#311F16' }, { name: "FFFFFF", color: '#FFFFFF' }, { name: "F0EFEA", color: '#F0EFEA' }, { name: "E9E9E2", color: '#E9E9E2' }, { name: "D3D5CD", color: '#D3D5CD' }, { name: "BDBEBA", color: '#BDBEBA' }, { name: "A9ABA8", color: '#A9ABA8' }, { name: "929591", color: '#929591' }, { name: "5F6461", color: '#5F6461' }, { name: "505452", color: '#505452' }, { name: "282B2B", color: '#282B2B' } ]; inc("../util/addByNameToArray/add")(colors); return colors; }; })(); lib/colors/eye.ls (function(){ return function(){ var colors; colors = [ { name: "594321", color: '#594321' }, { name: "805F2F", color: '#805F2F' }, { name: "9E763A", color: '#9E763A' }, { name: "BD8D46", color: '#BD8D46' }, { name: "401A03", color: '#401A03' }, { name: "692C06", color: '#692C06' }, { name: "943C06", color: '#943C06' }, { name: "C2510C", color: '#C2510C' }, { name: "5E5E5E", color: '#5E5E5E' }, { name: "808080", color: '#808080' }, { name: "9E9E9E", color: '#9E9E9E' }, { name: "B8B8B8", color: '#B8B8B8' }, { name: "41555E", color: '#41555E' }, { name: "607D8B", color: '#607D8B' }, { name: "6D8E9E", color: '#6D8E9E' }, { name: "80A7BA", color: '#80A7BA' }, { name: "275B75", color: '#275B75' }, { name: "3C8DB5", color: '#3C8DB5' }, { name: "49ADDE", color: '#49ADDE' }, { name: "52C0F7", color: '#52C0F7' }, { name: "15629E", color: '#15629E' }, { name: "1A7EC9", color: '#1A7EC9' }, { name: "2298F2", color: '#2298F2' }, { name: "59B7FF", color: '#59B7FF' }, { name: "235E36", color: '#235E36' }, { name: "369153", color: '#369153' }, { name: "42B366", color: '#42B366' }, { name: "4CCF76", color: '#4CCF76' }, { name: "1D5752", color: '#1D5752' }, { name: "2B8078", color: '#2B8078' }, { name: "37A39A", color: '#37A39A' }, { name: "44C9BE", color: '#44C9BE' }, { name: "9CA82C", color: '#9CA82C' }, { name: "B8C734", color: '#B8C734' }, { name: "CDDC39", color: '#CDDC39' }, { name: "DEF03E", color: '#DEF03E' }, { name: "876603", color: '#876603' }, { name: "E3AB05", color: '#E3AB05' }, { name: "FCBD00", color: '#FCBD00' }, { name: "FFD454", color: '#FFD454' }, { name: "BF0A46", color: '#BF0A46' }, { name: "E80C55", color: '#E80C55' }, { name: "FF2B72", color: '#FF2B72' }, { name: "FF6196", color: '#FF6196' } ]; inc("../util/addByNameToArray/add")(colors); return colors; }; })(); lib/colors/hair.ls (function(){ return function(){ var colors; colors = [ { name: "FFF7E0", color: '#FFF7E0' }, { name: "FFEBAD", color: '#FFEBAD' }, { name: "DEC887", color: '#DEC887' }, { name: "BAA566", color: '#BAA566' }, { name: "857349", color: '#857349' }, { name: "5E5234", color: '#5E5234' }, { name: "403923", color: '#403923' }, { name: "1C190F", color: '#1C190F' }, { name: "FFFAE3", color: '#FFFAE3' }, { name: "FFF2B0", color: '#FFF2B0' }, { name: "F0D030", color: '#F0D030' }, { name: "C9AB28", color: '#C9AB28' }, { name: "94761F", color: '#94761F' }, { name: "6E5817", color: '#6E5817' }, { name: "3B310C", color: '#3B310C' }, { name: "171305", color: '#171305' }, { name: "FFE5D6", color: '#FFE5D6' }, { name: "FFBB94", color: '#FFBB94' }, { name: "C27D55", color: '#C27D55' }, { name: "996343", color: '#996343' }, { name: "6D4730", color: '#6D4730' }, { name: "40291C", color: '#40291C' }, { name: "241710", color: '#241710' }, { name: "080503", color: '#080503' }, { name: "FFE1C9", color: '#FFE1C9' }, { name: "FFB882", color: '#FFB882' }, { name: "DB650B", color: '#DB650B' }, { name: "B55409", color: '#B55409' }, { name: "7E3A06", color: '#7E3A06' }, { name: "572804", color: '#572804' }, { name: "301602", color: '#301602' }, { name: "120801", color: '#120801' }, { name: "FFDFBD", color: '#FFDFBD' }, { name: "FFBA70", color: '#FFBA70' }, { name: "E37C0E", color: '#E37C0E' }, { name: "C46D10", color: '#C46D10' }, { name: "7A440A", color: '#7A440A' }, { name: "542F07", color: '#542F07' }, { name: "301B04", color: '#301B04' }, { name: "120A01", color: '#120A01' }, { name: "FAFAFA", color: '#FAFAFA' }, { name: "C9C9C9", color: '#C9C9C9' }, { name: "808080", color: '#808080' }, { name: "575757", color: '#575757' }, { name: "454545", color: '#454545' }, { name: "454545", color: '#454545' }, { name: "141414", color: '#141414' }, { name: "80182F", color: '#80182F' }, { name: "591121", color: '#591121' }, { name: "330A13", color: '#330A13' }, { name: "0F0306", color: '#0F0306' }, { name: "790906", color: '#790906' }, { name: "540604", color: '#540604' }, { name: "2E0302", color: '#2E0302' }, { name: "0F0101", color: '#0F0101' }, { name: "520E80", color: '#520E80' }, { name: "390A59", color: '#390A59' }, { name: "210633", color: '#210633' }, { name: "0D0214", color: '#0D0214' }, { name: "2E450D", color: '#2E450D' }, { name: "141F06", color: '#141F06' }, { name: "111A05", color: '#111A05' }, { name: "030501", color: '#030501' }, { name: "110A6E", color: '#110A6E' }, { name: "0B0647", color: '#0B0647' }, { name: "04021A", color: '#04021A' }, { name: "010108", color: '#010108' }, { name: "686E6A", color: '#686E6A' }, { name: "444745", color: '#444745' }, { name: "1F2120", color: '#1F2120' }, { name: "070807", color: '#070807' }, { name: "red.600", color: Color.red[600] }, { name: "pink.600", color: Color.pink[600] }, { name: "purple.600", color: Color.purple[600] }, { name: "blue.600", color: Color.blue[600] }, { name: "cyan.600", color: Color.cyan[600] }, { name: "green.600", color: Color.green[600] }, { name: "lime.600", color: Color.lime[600] }, { name: "orange.600", color: Color.orange[600] }, { name: "DBC5A9", color: '#DBC5A9' }, { name: "E3CCBA", color: '#E3CCBA' }, { name: "EBD8C5", color: '#EBD8C5' }, { name: "E6DFCA", color: '#E6DFCA' }, { name: "E8D9AC", color: '#E8D9AC' }, { name: "DEC98C", color: '#DEC98C' }, { name: "E3C298", color: '#E3C298' }, { name: "E3BC8D", color: '#E3BC8D' }, { name: "D9B793", color: '#D9B793' }, { name: "DEB985", color: '#DEB985' }, { name: "C2997C", color: '#C2997C' }, { name: "BF9265", color: '#BF9265' }, { name: "9E8262", color: '#9E8262' }, { name: "855C3D", color: '#855C3D' }, { name: "7A5133", color: '#7A5133' }, { name: "693F1F", color: '#693F1F' }, { name: "C47C5A", color: '#C47C5A' }, { name: "A3674B", color: '#A3674B' }, { name: "AB542C", color: '#AB542C' }, { name: "964520", color: '#964520' }, { name: "855539", color: '#855539' }, { name: "73462C", color: '#73462C' }, { name: "543318", color: '#543318' }, { name: "24170F", color: '#24170F' } ]; inc("../util/addByNameToArray/add")(colors); return colors; }; })(); lib/colors/material.ls (function(){ return function(){ var rgbToHex, colors; rgbToHex = inc("/lib/util/convertRgbaToHex/convert"); colors = [ { name: "red.200", color: '#f5c2c2' }, { name: "red.300", color: rgbToHex(Color.red[300]) }, { name: "red.400", color: rgbToHex(Color.red[400]) }, { name: "red.500", color: rgbToHex(Color.red[500]) }, { name: "red.600", color: rgbToHex(Color.red[600]) }, { name: "red.700", color: rgbToHex(Color.red[700]) }, { name: "red.800", color: rgbToHex(Color.red[800]) }, { name: "red.900", color: '#6e1111' }, { name: "pink.200", color: '#f8bcd0' }, { name: "pink.300", color: rgbToHex(Color.pink[300]) }, { name: "pink.400", color: rgbToHex(Color.pink[400]) }, { name: "pink.500", color: rgbToHex(Color.pink[500]) }, { name: "pink.600", color: rgbToHex(Color.pink[600]) }, { name: "pink.700", color: rgbToHex(Color.pink[700]) }, { name: "pink.800", color: rgbToHex(Color.pink[800]) }, { name: "pink.900", color: '#52082f' }, { name: "purple.200", color: '#e2bee8' }, { name: "purple.300", color: rgbToHex(Color.purple[300]) }, { name: "purple.400", color: rgbToHex(Color.purple[400]) }, { name: "purple.500", color: rgbToHex(Color.purple[500]) }, { name: "purple.600", color: rgbToHex(Color.purple[600]) }, { name: "purple.700", color: rgbToHex(Color.purple[700]) }, { name: "purple.800", color: rgbToHex(Color.purple[800]) }, { name: "purple.900", color: '#2c0c54' }, { name: "blue.200", color: '#bcdffb' }, { name: "blue.300", color: rgbToHex(Color.blue[300]) }, { name: "blue.400", color: rgbToHex(Color.blue[400]) }, { name: "blue.500", color: rgbToHex(Color.blue[500]) }, { name: "blue.600", color: rgbToHex(Color.blue[600]) }, { name: "blue.700", color: rgbToHex(Color.blue[700]) }, { name: "blue.800", color: rgbToHex(Color.blue[800]) }, { name: "blue.900", color: '#082b61' }, { name: "blueGrey.200", color: '#d0d8dc' }, { name: "blueGrey.300", color: rgbToHex(Color.blueGrey[300]) }, { name: "blueGrey.400", color: rgbToHex(Color.blueGrey[400]) }, { name: "blueGrey.500", color: rgbToHex(Color.blueGrey[500]) }, { name: "blueGrey.600", color: rgbToHex(Color.blueGrey[600]) }, { name: "blueGrey.700", color: rgbToHex(Color.blueGrey[700]) }, { name: "blueGrey.800", color: rgbToHex(Color.blueGrey[800]) }, { name: "blueGrey.900", color: '#171e22' }, { name: "cyan.200", color: '#b3ebf2' }, { name: "cyan.300", color: rgbToHex(Color.cyan[300]) }, { name: "cyan.400", color: rgbToHex(Color.cyan[400]) }, { name: "cyan.500", color: rgbToHex(Color.cyan[500]) }, { name: "cyan.600", color: rgbToHex(Color.cyan[600]) }, { name: "cyan.700", color: rgbToHex(Color.cyan[700]) }, { name: "cyan.800", color: rgbToHex(Color.cyan[800]) }, { name: "cyan.900", color: '#003a3c' }, { name: "lightGreen.200", color: '#dcedc9' }, { name: "lightGreen.300", color: rgbToHex(Color.lightGreen[300]) }, { name: "lightGreen.400", color: rgbToHex(Color.lightGreen[400]) }, { name: "lightGreen.500", color: rgbToHex(Color.lightGreen[500]) }, { name: "lightGreen.600", color: rgbToHex(Color.lightGreen[600]) }, { name: "lightGreen.700", color: rgbToHex(Color.lightGreen[700]) }, { name: "lightGreen.800", color: rgbToHex(Color.lightGreen[800]) }, { name: "lightGreen.900", color: '#1f3f12' }, { name: "lime.200", color: '#f0f5c4' }, { name: "lime.300", color: rgbToHex(Color.lime[300]) }, { name: "lime.400", color: rgbToHex(Color.lime[400]) }, { name: "lime.500", color: rgbToHex(Color.lime[500]) }, { name: "lime.600", color: rgbToHex(Color.lime[600]) }, { name: "lime.700", color: rgbToHex(Color.lime[700]) }, { name: "lime.800", color: rgbToHex(Color.lime[800]) }, { name: "lime.900", color: '#4e470e' }, { name: "yellow.200", color: '#fff9c4' }, { name: "yellow.300", color: rgbToHex(Color.yellow[300]) }, { name: "yellow.400", color: rgbToHex(Color.yellow[400]) }, { name: "yellow.500", color: rgbToHex(Color.yellow[500]) }, { name: "yellow.600", color: rgbToHex(Color.yellow[600]) }, { name: "yellow.700", color: rgbToHex(Color.yellow[700]) }, { name: "yellow.800", color: rgbToHex(Color.yellow[800]) }, { name: "yellow.900", color: '#934c0e' }, { name: "orange.200", color: '#ffe0b3' }, { name: "orange.300", color: rgbToHex(Color.orange[300]) }, { name: "orange.400", color: rgbToHex(Color.orange[400]) }, { name: "orange.500", color: rgbToHex(Color.orange[500]) }, { name: "orange.600", color: rgbToHex(Color.orange[600]) }, { name: "orange.700", color: rgbToHex(Color.orange[700]) }, { name: "orange.800", color: rgbToHex(Color.orange[800]) }, { name: "orange.900", color: '#8a3100' }, { name: "brown.200", color: '#d7ccc8' }, { name: "brown.300", color: rgbToHex(Color.brown[300]) }, { name: "brown.400", color: rgbToHex(Color.brown[400]) }, { name: "brown.500", color: rgbToHex(Color.brown[500]) }, { name: "brown.600", color: rgbToHex(Color.brown[600]) }, { name: "brown.700", color: rgbToHex(Color.brown[700]) }, { name: "brown.800", color: rgbToHex(Color.brown[800]) }, { name: "brown.900", color: '#251715' }, { name: "grey.100", color: rgbToHex(Color.grey[100]) }, { name: "grey.300", color: rgbToHex(Color.grey[300]) }, { name: "grey.400", color: rgbToHex(Color.grey[400]) }, { name: "grey.500", color: rgbToHex(Color.grey[500]) }, { name: "grey.600", color: rgbToHex(Color.grey[600]) }, { name: "grey.700", color: rgbToHex(Color.grey[700]) }, { name: "grey.800", color: rgbToHex(Color.grey[800]) }, { name: "grey.900", color: rgbToHex(Color.grey[900]) } ]; inc("../util/addByNameToArray/add")(colors); return colors; }; })(); lib/colors/materialColorsWithTransparent.ls (function(){ return function(){ var colors; colors = [{ name: "transparent", color: "transparent" }]; colors = colors.concat(inc("material")()); inc("../util/addByNameToArray/add")(colors); return colors; }; })(); lib/colors/skin.ls (function(){ return function(){ var colors; colors = [ { name: "fff0e6", color: '#fff0e6' }, { name: "F5EACB", color: '#F5EACB' }, { name: "F7DDC2", color: '#F7DDC2' }, { name: "F6E3AA", color: '#F6E3AA' }, { name: "EBD288", color: '#EBD288' }, { name: "EFD0B8", color: '#EFD0B8' }, { name: "E9CBA7", color: '#E9CBA7' }, { name: "EFC793", color: '#EFC793' }, { name: "EFC088", color: '#EFC088' }, { name: "E6BD91", color: '#E6BD91' }, { name: "CF9D7A", color: '#CF9D7A' }, { name: "CB9662", color: '#CB9662' }, { name: "AB8962", color: '#AB8962' }, { name: "92613C", color: '#92613C' }, { name: "875632", color: '#875632' }, { name: "75431D", color: '#75431D' }, { name: "D17D56", color: '#D17D56' }, { name: "B85427", color: '#B85427' }, { name: "B06949", color: '#B06949' }, { name: "964520", color: '#964520' }, { name: "9E5B34", color: '#9E5B34' }, { name: "80492A", color: '#80492A' }, { name: "613817", color: '#613817' }, { name: "4F2A11", color: '#4F2A11' }, { name: "301E12", color: '#301E12' }, { name: "332114", color: '#332114' }, { name: "2E1D12", color: '#2E1D12' }, { name: "1A0B01", color: '#1A0B01' } ]; inc("../util/addByNameToArray/add")(colors); return colors; }; })(); lib/data/avatarLayerMapRendered.json [ { "name": "shadow", "class": ".layer-shadow", "options": [ { "name": "a", "class": ".opt-a", "svg": "\n\n" } ], "svg": "" }, { "name": "wheelchair", "class": ".layer-wheelchair", "options": [ { "name": "default", "class": ".opt-default", "svg": "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n" } ], "svg": "" }, { "name": "body_wings", "class": ".layer-body_wings", "options": [ { "name": "n", "class": ".opt-n", "svg": "\n\n\n\n\n\n\n" }, { "name": "m", "class": ".opt-m", "svg": "\n\n\n\n\n\n\n" }, { "name": "l", "class": ".opt-l", "svg": "\n\n\n\n\n\n\n" }, { "name": "k", "class": ".opt-k", "svg": "\n\n\n\n\n\n\n" }, { "name": "j", "class": ".opt-j", "svg": "\n\n\n\n\n\n\n" }, { "name": "i", "class": ".opt-i", "svg": "\n\n\n\n\n\n\n" }, { "name": "h", "class": ".opt-h", "svg": "\n\n\n\n\n\n\n" }, { "name": "g", "class": ".opt-g", "svg": "\n\n\n\n\n\n\n" }, { "name": "f", "class": ".opt-f", "svg": "\n\n\n\n\n\n\n" }, { "name": "e", "class": ".opt-e", "svg": "\n\n\n\n\n\n\n" }, { "name": "c", "class": ".opt-c", "svg": "\n\n\n\n\n\n\n" }, { "name": "b", "class": ".opt-b", "svg": "\n\n\n\n\n\n\n" } ], "svg": "" }, { "name": "body_animal", "class": ".layer-body_animal-group_2", "options": [ { "name": "racoon", "class": ".opt-racoon", "svg": "\n\n\n\n\n\n" }, { "name": "skunk", "class": ".opt-skunk", "svg": "\n\n\n" }, { "name": "zebra", "class": ".opt-zebra", "svg": "\n\n\n\n\n\n" }, { "name": "turtle", "class": ".opt-turtle", "svg": "\n\n\n" }, { "name": "multi", "class": ".opt-multi", "svg": "\n\n\n" } ], "group": "2", "svg": "" }, { "name": "headgear", "class": ".layer-headgear-group_2", "options": [ { "name": "agent", "class": ".opt-agent", "svg": "\n\n\n" }, { "name": "witch", "class": ".opt-witch", "svg": "\n\n\n" }, { "name": "cape", "class": ".opt-cape", "svg": "\n\n\n" }, { "name": "cowboy", "class": ".opt-cowboy", "svg": "\n\n\n" }, { "name": "cap_reverse", "class": ".opt-cap_reverse", "svg": "\n\n\n" }, { "name": "feather3", "class": ".opt-feather3", "svg": "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n" }, { "name": "eskimo", "class": ".opt-eskimo", "svg": "\n\n\n" }, { "name": "desert", "class": ".opt-desert", "svg": "\n\n\n" }, { "name": "hijab", "class": ".opt-hijab", "svg": "\n\n\n" }, { "name": "sheikh", "class": ".opt-sheikh", "svg": "\n\n\n" } ], "group": "2", "svg": "" }, { "name": "head_human_hair_back", "class": ".layer-head_human_hair_back", "options": [ { "name": "q", "class": ".opt-q", "svg": "\n\n" }, { "name": "p", "class": ".opt-p", "svg": "\n\n" }, { "name": "o", "class": ".opt-o", "svg": "\n\n" }, { "name": "n", "class": ".opt-n", "svg": "\n\n" }, { "name": "m", "class": ".opt-m", "svg": "\n\n" }, { "name": "l", "class": ".opt-l", "svg": "\n\n" }, { "name": "k", "class": ".opt-k", "svg": "\n\n" }, { "name": "j", "class": ".opt-j", "svg": "\n\n\n" }, { "name": "i", "class": ".opt-i", "svg": "\n\n\n" }, { "name": "h", "class": ".opt-h", "svg": "\n\n\n" }, { "name": "g", "class": ".opt-g", "svg": "\n\n\n" }, { "name": "f", "class": ".opt-f", "svg": "\n\n\n" }, { "name": "e", "class": ".opt-e", "svg": "\n\n\n" }, { "name": "d", "class": ".opt-d", "svg": "\n\n\n" }, { "name": "c", "class": ".opt-c", "svg": "\n\n\n" }, { "name": "b", "class": ".opt-b", "svg": "\n\n\n" }, { "name": "a", "class": ".opt-a", "svg": "\n\n\n" } ], "svg": "" }, { "name": "body_coat", "class": ".layer-body_coat-group_2", "options": [ { "name": "penguin", "class": ".opt-penguin", "svg": "\n\n\n" }, { "name": "vampire", "class": ".opt-vampire", "svg": "\n\n\n\n" }, { "name": "d", "class": ".opt-d", "svg": "\n\n" }, { "name": "e", "class": ".opt-e", "svg": "\n\n" }, { "name": "b", "class": ".opt-b", "svg": "\n\n\n" }, { "name": "a", "class": ".opt-a", "svg": "\n\n\n" } ], "group": "2", "svg": "" }, { "name": "body_human_shirt_neckline", "class": ".layer-body_human_shirt_neckline-group_2", "options": [ { "name": "i", "class": ".opt-i", "svg": "\n\n\n" } ], "group": "2", "svg": "" }, { "name": "robot_legs", "class": ".layer-robot_legs", "options": [ { "name": "u", "class": ".opt-u", "svg": "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n" }, { "name": "t", "class": ".opt-t", "svg": "\n\n\n\n\n\n\n\n\n" }, { "name": "s", "class": ".opt-s", "svg": "\n\n\n\n\n\n\n\n\n\n\n\n\n" }, { "name": "r", "class": ".opt-r", "svg": "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n" }, { "name": "q", "class": ".opt-q", "svg": "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n" }, { "name": "p", "class": ".opt-p", "svg": "\n\n\n\n\n\n\n" }, { "name": "o", "class": ".opt-o", "svg": "\n\n\n\n\n\n\n" }, { "name": "n", "class": ".opt-n", "svg": "\n\n\n\n\n\n\n" }, { "name": "m", "class": ".opt-m", "svg": "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n" }, { "name": "l", "class": ".opt-l", "svg": "\n\n\n\n\n\n\n" }, { "name": "j", "class": ".opt-j", "svg": "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n" }, { "name": "i", "class": ".opt-i", "svg": "\n\n\n\n\n\n\n\n\n\n\n\n\n" }, { "name": "h", "class": ".opt-h", "svg": "\n\n\n\n\n\n\n\n" }, { "name": "g", "class": ".opt-g", "svg": "\n\n\n\n\n\n\n" }, { "name": "f", "class": ".opt-f", "svg": "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n" }, { "name": "e", "class": ".opt-e", "svg": "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n" }, { "name": "d", "class": ".opt-d", "svg": "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n" }, { "name": "c", "class": ".opt-c", "svg": "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n" }, { "name": "b", "class": ".opt-b", "svg": "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n" }, { "name": "a", "class": ".opt-a", "svg": "\n\n\n\n\n\n" }, { "name": "k", "class": ".opt-k", "svg": "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n" } ], "svg": "" }, { "name": "legs_monster", "class": ".layer-legs_monster", "options": [ { "name": "q", "class": ".opt-q", "svg": "\n\n\n\n\n\n\n\n\n\n\n" }, { "name": "p", "class": ".opt-p", "svg": "\n\n\n\n\n\n\n\n\n\n\n" }, { "name": "o", "class": ".opt-o", "svg": "\n\n\n\n\n\n\n" }, { "name": "n", "class": ".opt-n", "svg": "\n\n\n\n\n\n\n" }, { "name": "m", "class": ".opt-m", "svg": "\n\n\n\n\n\n\n\n\n\n\n" }, { "name": "l", "class": ".opt-l", "svg": "\n\n\n\n\n\n\n\n\n\n\n" }, { "name": "k", "class": ".opt-k", "svg": "\n\n\n\n\n\n\n\n\n\n\n" }, { "name": "j", "class": ".opt-j", "svg": "\n\n\n\n\n\n\n\n\n\n\n" }, { "name": "i", "class": ".opt-i", "svg": "\n\n\n\n\n\n\n" }, { "name": "h", "class": ".opt-h", "svg": "\n\n\n\n\n\n\n" }, { "name": "e", "class": ".opt-e", "svg": "\n\n\n\n\n\n\n" }, { "name": "d", "class": ".opt-d", "svg": "\n\n\n\n\n\n\n" }, { "name": "b", "class": ".opt-b", "svg": "\n\n\n\n\n\n\n" }, { "name": "m", "class": ".opt-m", "svg": "\n\n\n\n\n\n\n\n\n\n\n" }, { "name": "g", "class": ".opt-g", "svg": "\n\n\n\n\n\n\n" }, { "name": "c", "class": ".opt-c", "svg": "\n\n\n\n\n\n\n\n\n" }, { "name": "a", "class": ".opt-a", "svg": "\n\n\n\n\n\n\n" }, { "name": "f", "class": ".opt-f", "svg": "\n\n\n\n\n\n\n" } ], "svg": "" }, { "name": "legs_human_skin", "class": ".layer-legs_human_skin", "options": [ { "name": "a", "class": ".opt-a", "svg": "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n" } ], "svg": "" }, { "name": "necklace", "class": ".layer-necklace-group_2", "options": [ { "name": "x", "class": ".opt-x", "svg": "\n\n\n" }, { "name": "z", "class": ".opt-z", "svg": "\n\n\n" } ], "group": "2", "svg": "" }, { "name": "body_human_skin", "class": ".layer-body_human_skin", "options": [ { "name": "a", "class": ".opt-a", "svg": "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n" } ], "svg": "" }, { "name": "legs_animal", "class": ".layer-legs_animal", "options": [ { "name": "cow", "class": ".opt-cow", "svg": "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n" }, { "name": "zebra", "class": ".opt-zebra", "svg": "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n" }, { "name": "sheep", "class": ".opt-sheep", "svg": "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n" }, { "name": "multi", "class": ".opt-multi", "svg": "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n" } ], "svg": "" }, { "name": "body_human_shirt_arms", "class": ".layer-body_human_shirt_arms", "options": [ { "name": "skeleton", "class": ".opt-skeleton", "svg": "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n" }, { "name": "full", "class": ".opt-full", "svg": "\n\n\n\n\n\n\n\n\n\n\n\n\n" }, { "name": "long", "class": ".opt-long", "svg": "\n\n\n\n\n\n\n" }, { "name": "short", "class": ".opt-short", "svg": "\n\n\n\n\n\n\n" } ], "svg": "" }, { "name": "body_human_shirt_neckline", "class": ".layer-body_human_shirt_neckline-group_1", "options": [ { "name": "k", "class": ".opt-k", "svg": "\n\n\n" }, { "name": "j", "class": ".opt-j", "svg": "\n\n\n\n\n" }, { "name": "i", "class": ".opt-i", "svg": "\n\n\n\n\n\n\n\n\n" }, { "name": "h", "class": ".opt-h", "svg": "\n\n\n\n\n" }, { "name": "g", "class": ".opt-g", "svg": "\n\n\n\n\n" }, { "name": "f", "class": ".opt-f", "svg": "\n\n\n\n\n" }, { "name": "e", "class": ".opt-e", "svg": "\n\n\n\n\n\n" }, { "name": "d", "class": ".opt-d", "svg": "\n\n\n\n\n" }, { "name": "c", "class": ".opt-c", "svg": "\n\n\n\n\n" }, { "name": "c", "class": ".opt-c", "svg": "\n\n\n\n\n" }, { "name": "b", "class": ".opt-b", "svg": "\n\n\n\n\n" }, { "name": "a", "class": ".opt-a", "svg": "\n\n\n\n\n" } ], "group": "1", "svg": "" }, { "name": "body_human_shirt_design", "class": ".layer-body_human_shirt_design", "options": [ { "name": "aloha", "class": ".opt-aloha", "svg": "\n\n" }, { "name": "biohazard", "class": ".opt-biohazard", "svg": "\n\n\n" }, { "name": "wing", "class": ".opt-wing", "svg": "\n\n" }, { "name": "spider", "class": ".opt-spider", "svg": "\n\n" }, { "name": "skull_3", "class": ".opt-skull_3", "svg": "\n\n" }, { "name": "skeleton", "class": ".opt-skeleton", "svg": "\n\n\n" }, { "name": "super_a", "class": ".opt-super_a", "svg": "\n\n\n\n" }, { "name": "skull_2", "class": ".opt-skull_2", "svg": "\n\n\n" }, { "name": "xmas", "class": ".opt-xmas", "svg": "\n\n" }, { "name": "flash", "class": ".opt-flash", "svg": "\n\n" }, { "name": "crown", "class": ".opt-crown", "svg": "\n\n" }, { "name": "trophy", "class": ".opt-trophy", "svg": "\n\n" }, { "name": "world", "class": ".opt-world", "svg": "\n\n" }, { "name": "lamp", "class": ".opt-lamp", "svg": "\n\n\n\n\n" }, { "name": "monster", "class": ".opt-monster", "svg": "\n\n" }, { "name": "bike", "class": ".opt-bike", "svg": "\n\n" }, { "name": "skull", "class": ".opt-skull", "svg": "\n\n" }, { "name": "star", "class": ".opt-star", "svg": "\n\n" }, { "name": "heart", "class": ".opt-heart", "svg": "\n\n" }, { "name": "game", "class": ".opt-game", "svg": "\n\n" }, { "name": "speaker", "class": ".opt-speaker", "svg": "\n\n\n\n" }, { "name": "clap", "class": ".opt-clap", "svg": "\n\n\n" }, { "name": "drum", "class": ".opt-drum", "svg": "\n\n" }, { "name": "mic", "class": ".opt-mic", "svg": "\n\n\n" }, { "name": "eye", "class": ".opt-eye", "svg": "\n\n" }, { "name": "circle", "class": ".opt-circle", "svg": "\n\n" }, { "name": "play", "class": ".opt-play", "svg": "\n\n" }, { "name": "chemistry", "class": ".opt-chemistry", "svg": "\n\n\n\n\n\n" }, { "name": "calc", "class": ".opt-calc", "svg": "\n\n" }, { "name": "smiley", "class": ".opt-smiley", "svg": "\n\n" } ], "svg": "" }, { "name": "legs_human_pants", "class": ".layer-legs_human_pants-group_1", "options": [ { "name": "used", "class": ".opt-used", "svg": "\n\n\n\n\n\n\n\n\n\n\n\n\n" }, { "name": "skeleton", "class": ".opt-skeleton", "svg": "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n" }, { "name": "harlekin", "class": ".opt-harlekin", "svg": "\n\n\n" }, { "name": "shorts", "class": ".opt-shorts", "svg": "\n\n\n\n\n\n\n\n" }, { "name": "knee", "class": ".opt-knee", "svg": "\n\n\n\n\n\n\n\n" }, { "name": "uncle", "class": ".opt-uncle", "svg": "\n\n\n\n\n\n\n\n\n\n\n\n\n\n" }, { "name": "normal", "class": ".opt-normal", "svg": "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n" } ], "group": "1", "svg": "" }, { "name": "shoes", "class": ".layer-shoes", "options": [ { "name": "ab", "class": ".opt-ab", "svg": "\n\n\n\n\n\n\n\n\n\n\n" }, { "name": "af", "class": ".opt-af", "svg": "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n" }, { "name": "aa", "class": ".opt-aa", "svg": "\n\n\n\n\n\n\n\n\n\n\n\n\n" }, { "name": "ah", "class": ".opt-ah", "svg": "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n" }, { "name": "ag", "class": ".opt-ag", "svg": "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n" }, { "name": "ae", "class": ".opt-ae", "svg": "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n" }, { "name": "ad", "class": ".opt-ad", "svg": "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n" }, { "name": "z", "class": ".opt-z", "svg": "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n" }, { "name": "y", "class": ".opt-y", "svg": "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n" }, { "name": "x", "class": ".opt-x", "svg": "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n" }, { "name": "d", "class": ".opt-d", "svg": "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n" }, { "name": "ac", "class": ".opt-ac", "svg": "\n\n\n\n\n\n\n\n\n\n\n\n\n" }, { "name": "f", "class": ".opt-f", "svg": "\n\n\n\n\n\n\n\n\n\n\n\n\n" }, { "name": "e", "class": ".opt-e", "svg": "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n" }, { "name": "c", "class": ".opt-c", "svg": "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n" }, { "name": "h", "class": ".opt-h", "svg": "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n" }, { "name": "g", "class": ".opt-g", "svg": "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n" }, { "name": "b", "class": ".opt-b", "svg": "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n" }, { "name": "r", "class": ".opt-r", "svg": "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n" }, { "name": "q", "class": ".opt-q", "svg": "\n\n\n\n\n\n\n" }, { "name": "p", "class": ".opt-p", "svg": "\n\n\n\n\n\n\n\n\n\n\n\n\n" }, { "name": "o", "class": ".opt-o", "svg": "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n" }, { "name": "n", "class": ".opt-n", "svg": "\n\n\n\n\n\n\n\n\n\n\n" }, { "name": "m", "class": ".opt-m", "svg": "\n\n\n\n\n\n\n\n\n\n\n" }, { "name": "t", "class": ".opt-t", "svg": "\n\n\n\n\n\n\n\n\n\n\n" }, { "name": "s", "class": ".opt-s", "svg": "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n" }, { "name": "u", "class": ".opt-u", "svg": "\n\n\n\n\n\n\n" }, { "name": "v", "class": ".opt-v", "svg": "\n\n\n\n\n\n\n\n\n" }, { "name": "l", "class": ".opt-l", "svg": "\n\n\n\n\n\n\n" }, { "name": "k", "class": ".opt-k", "svg": "\n\n\n\n\n\n\n" }, { "name": "j", "class": ".opt-j", "svg": "\n\n\n\n\n\n\n" }, { "name": "i", "class": ".opt-i", "svg": "\n\n\n\n\n\n\n" }, { "name": "a", "class": ".opt-a", "svg": "\n\n\n\n\n\n\n" } ], "svg": "" }, { "name": "legs_human_skirt", "class": ".layer-legs_human_skirt", "options": [ { "name": "skirt_xmas", "class": ".opt-skirt_xmas", "svg": "\n\n\n\n" }, { "name": "skirt_fancy_short", "class": ".opt-skirt_fancy_short", "svg": "\n\n\n" }, { "name": "skirt_fancy", "class": ".opt-skirt_fancy", "svg": "\n\n\n" }, { "name": "skirt_long", "class": ".opt-skirt_long", "svg": "\n\n" }, { "name": "skirt_medium", "class": ".opt-skirt_medium", "svg": "\n\n" }, { "name": "skirt_short", "class": ".opt-skirt_short", "svg": "\n\n" } ], "svg": "" }, { "name": "legs_human_pants", "class": ".layer-legs_human_pants-group_2", "options": [ { "name": "snowman", "class": ".opt-snowman", "svg": "\n\n\n" } ], "group": "2", "svg": "" }, { "name": "body_robot_arms", "class": ".layer-body_robot_arms", "options": [ { "name": "r", "class": ".opt-r", "svg": "\n\n\n\n\n\n\n\n\n\n\n\n\n" }, { "name": "q", "class": ".opt-q", "svg": "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n" }, { "name": "p", "class": ".opt-p", "svg": "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n" }, { "name": "o", "class": ".opt-o", "svg": "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n" }, { "name": "m", "class": ".opt-m", "svg": "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n" }, { "name": "l", "class": ".opt-l", "svg": "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n" }, { "name": "k", "class": ".opt-k", "svg": "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n" }, { "name": "j", "class": ".opt-j", "svg": "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n" }, { "name": "i", "class": ".opt-i", "svg": "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n" }, { "name": "h", "class": ".opt-h", "svg": "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n" }, { "name": "g", "class": ".opt-g", "svg": "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n" }, { "name": "f", "class": ".opt-f", "svg": "\n\n\n\n\n\n\n\n\n\n\n" }, { "name": "e", "class": ".opt-e", "svg": "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n" }, { "name": "d", "class": ".opt-d", "svg": "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n" }, { "name": "c", "class": ".opt-c", "svg": "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n" }, { "name": "b", "class": ".opt-b", "svg": "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n" }, { "name": "a", "class": ".opt-a", "svg": "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n" }, { "name": "n", "class": ".opt-n", "svg": "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n" } ], "svg": "" }, { "name": "body_robot_torso", "class": ".layer-body_robot_torso", "options": [ { "name": "p", "class": ".opt-p", "svg": "\n\n\n\n\n\n\n\n\n" }, { "name": "o", "class": ".opt-o", "svg": "\n\n\n\n\n\n\n\n" }, { "name": "n", "class": ".opt-n", "svg": "\n\n\n\n\n\n\n\n" }, { "name": "m", "class": ".opt-m", "svg": "\n\n\n\n\n\n\n" }, { "name": "l", "class": ".opt-l", "svg": "\n\n\n\n\n\n\n\n" }, { "name": "k", "class": ".opt-k", "svg": "\n\n\n\n\n\n\n\n\n\n\n\n" }, { "name": "j", "class": ".opt-j", "svg": "\n\n\n\n\n\n\n\n" }, { "name": "i", "class": ".opt-i", "svg": "\n\n\n\n\n\n\n\n\n\n" }, { "name": "h", "class": ".opt-h", "svg": "\n\n\n\n\n\n\n" }, { "name": "g", "class": ".opt-g", "svg": "\n\n\n\n\n\n\n" }, { "name": "f", "class": ".opt-f", "svg": "\n\n\n\n\n\n\n\n\n\n" }, { "name": "e", "class": ".opt-e", "svg": "\n\n\n\n\n\n\n\n\n\n\n" }, { "name": "c", "class": ".opt-c", "svg": "\n\n\n\n\n\n\n\n\n" }, { "name": "b", "class": ".opt-b", "svg": "\n\n\n\n\n\n\n\n" }, { "name": "a", "class": ".opt-a", "svg": "\n\n\n\n\n\n\n\n\n\n" }, { "name": "d", "class": ".opt-d", "svg": "\n\n\n\n\n\n\n\n\n\n\n\n\n" } ], "svg": "" }, { "name": "body_animal", "class": ".layer-body_animal-group_1", "options": [ { "name": "racoon", "class": ".opt-racoon", "svg": "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n" }, { "name": "turtle", "class": ".opt-turtle", "svg": "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n" }, { "name": "giraffe", "class": ".opt-giraffe", "svg": "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n" }, { "name": "zebra", "class": ".opt-zebra", "svg": "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n" }, { "name": "cow", "class": ".opt-cow", "svg": "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n" }, { "name": "skunk", "class": ".opt-skunk", "svg": "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n" }, { "name": "sheep", "class": ".opt-sheep", "svg": "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n" }, { "name": "multi", "class": ".opt-multi", "svg": "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n" }, { "name": "multi_notail", "class": ".opt-multi_notail", "svg": "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n" } ], "group": "1", "svg": "" }, { "name": "head_human_skin", "class": ".layer-head_human_skin", "options": [ { "name": "a", "class": ".opt-a", "svg": "\n\n\n\n" } ], "svg": "" }, { "name": "vest", "class": ".layer-vest", "options": [ { "name": "xmas", "class": ".opt-xmas", "svg": "\n\n\n\n" }, { "name": "b", "class": ".opt-b", "svg": "\n\n\n\n\n" }, { "name": "a", "class": ".opt-a", "svg": "\n\n\n\n\n\n" }, { "name": "d", "class": ".opt-d", "svg": "\n\n\n\n\n\n" }, { "name": "c", "class": ".opt-c", "svg": "\n\n" } ], "svg": "" }, { "name": "belt", "class": ".layer-belt", "options": [ { "name": "c", "class": ".opt-c", "svg": "\n\n\n\n" }, { "name": "b", "class": ".opt-b", "svg": "\n\n" }, { "name": "a", "class": ".opt-a", "svg": "\n\n" } ], "svg": "" }, { "name": "necklace", "class": ".layer-necklace-group_1", "options": [ { "name": "v", "class": ".opt-v", "svg": "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n" }, { "name": "u", "class": ".opt-u", "svg": "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n" }, { "name": "t", "class": ".opt-t", "svg": "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n" }, { "name": "s", "class": ".opt-s", "svg": "\n\n\n\n\n\n\n\n" }, { "name": "r", "class": ".opt-r", "svg": "\n\n\n\n\n\n\n\n\n\n\n" }, { "name": "q", "class": ".opt-q", "svg": "\n\n\n\n\n\n\n\n\n" }, { "name": "p", "class": ".opt-p", "svg": "\n\n\n" }, { "name": "o", "class": ".opt-o", "svg": "\n\n\n\n\n\n\n\n\n" }, { "name": "n", "class": ".opt-n", "svg": "\n\n\n\n\n\n" }, { "name": "m", "class": ".opt-m", "svg": "\n\n\n\n" }, { "name": "l", "class": ".opt-l", "svg": "\n\n\n\n\n" }, { "name": "k", "class": ".opt-k", "svg": "\n\n\n" }, { "name": "j", "class": ".opt-j", "svg": "\n\n\n" }, { "name": "i", "class": ".opt-i", "svg": "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n" }, { "name": "h", "class": ".opt-h", "svg": "\n\n\n\n\n\n\n\n" }, { "name": "x", "class": ".opt-x", "svg": "\n\n\n" }, { "name": "z", "class": ".opt-z", "svg": "\n\n\n\n\n\n" }, { "name": "ab", "class": ".opt-ab", "svg": "\n\n\n\n\n\n" }, { "name": "aa", "class": ".opt-aa", "svg": "\n\n\n\n\n" }, { "name": "w", "class": ".opt-w", "svg": "\n\n\n\n\n\n\n" }, { "name": "g", "class": ".opt-g", "svg": "\n\n" }, { "name": "f", "class": ".opt-f", "svg": "\n\n\n" }, { "name": "e", "class": ".opt-e", "svg": "\n\n\n\n" }, { "name": "y", "class": ".opt-y", "svg": "\n\n\n\n\n\n" }, { "name": "d", "class": ".opt-d", "svg": "\n\n\n\n\n\n" }, { "name": "c", "class": ".opt-c", "svg": "\n\n\n" }, { "name": "b", "class": ".opt-b", "svg": "\n\n\n\n\n" }, { "name": "a", "class": ".opt-a", "svg": "\n\n\n\n\n\n" } ], "group": "1", "svg": "" }, { "name": "body_gloves", "class": ".layer-body_gloves", "options": [ { "name": "c", "class": ".opt-c", "svg": "\n\n\n\n\n\n\n\n\n\n\n" }, { "name": "a", "class": ".opt-a", "svg": "\n\n\n\n\n\n\n\n\n" }, { "name": "d", "class": ".opt-d", "svg": "\n\n\n\n\n\n\n\n\n\n\n\n\n" }, { "name": "b", "class": ".opt-b", "svg": "\n\n\n\n\n\n\n" } ], "svg": "" }, { "name": "body_coat", "class": ".layer-body_coat-group_1", "options": [ { "name": "d", "class": ".opt-d", "svg": "\n\n\n\n\n\n\n\n\n\n\n" }, { "name": "e", "class": ".opt-e", "svg": "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n" }, { "name": "f", "class": ".opt-f", "svg": "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n" }, { "name": "a", "class": ".opt-a", "svg": "\n\n\n\n" }, { "name": "snowman", "class": ".opt-snowman", "svg": "\n\n\n\n\n\n\n" }, { "name": "penguin", "class": ".opt-penguin", "svg": "\n\n\n\n\n\n\n\n" }, { "name": "vampire", "class": ".opt-vampire", "svg": "\n\n" }, { "name": "c", "class": ".opt-c", "svg": "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n" }, { "name": "b", "class": ".opt-b", "svg": "\n\n\n" } ], "group": "1", "svg": "" }, { "name": "body_monster_arms", "class": ".layer-body_monster_arms", "options": [ { "name": "u", "class": ".opt-u", "svg": "\n\n\n\n\n\n\n\n\n\n\n" }, { "name": "s", "class": ".opt-s", "svg": "\n\n\n\n\n\n\n\n\n\n\n\n\n" }, { "name": "r", "class": ".opt-r", "svg": "\n\n\n\n\n\n\n" }, { "name": "q", "class": ".opt-q", "svg": "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n" }, { "name": "p", "class": ".opt-p", "svg": "\n\n\n\n\n\n\n" }, { "name": "o", "class": ".opt-o", "svg": "\n\n\n\n\n\n\n" }, { "name": "n", "class": ".opt-n", "svg": "\n\n\n\n\n\n\n" }, { "name": "l", "class": ".opt-l", "svg": "\n\n\n\n\n\n\n" }, { "name": "m", "class": ".opt-m", "svg": "\n\n\n\n\n\n\n" }, { "name": "k", "class": ".opt-k", "svg": "\n\n\n\n\n\n\n" }, { "name": "j", "class": ".opt-j", "svg": "\n\n\n\n\n\n\n" }, { "name": "i", "class": ".opt-i", "svg": "\n\n\n\n\n\n\n" }, { "name": "h", "class": ".opt-h", "svg": "\n\n\n\n\n\n\n" }, { "name": "e", "class": ".opt-e", "svg": "\n\n\n\n\n\n\n" }, { "name": "d", "class": ".opt-d", "svg": "\n\n\n\n\n\n\n" }, { "name": "o", "class": ".opt-o", "svg": "\n\n\n\n\n\n\n" }, { "name": "p", "class": ".opt-p", "svg": "\n\n\n\n\n\n\n" }, { "name": "f", "class": ".opt-f", "svg": "\n\n\n\n\n\n\n" }, { "name": "c", "class": ".opt-c", "svg": "\n\n\n\n\n\n\n" }, { "name": "a", "class": ".opt-a", "svg": "\n\n\n\n\n\n\n" }, { "name": "g", "class": ".opt-g", "svg": "\n\n\n\n\n\n\n" } ], "svg": "" }, { "name": "body_monster", "class": ".layer-body_monster", "options": [ { "name": "ab", "class": ".opt-ab", "svg": "\n\n\n\n" }, { "name": "aa", "class": ".opt-aa", "svg": "\n\n\n" }, { "name": "z", "class": ".opt-z", "svg": "\n\n\n\n\n" }, { "name": "y", "class": ".opt-y", "svg": "\n\n\n" }, { "name": "x", "class": ".opt-x", "svg": "\n\n\n" }, { "name": "w", "class": ".opt-w", "svg": "\n\n\n" }, { "name": "v", "class": ".opt-v", "svg": "\n\n\n" }, { "name": "u", "class": ".opt-u", "svg": "\n\n\n\n" }, { "name": "t", "class": ".opt-t", "svg": "\n\n\n" }, { "name": "s", "class": ".opt-s", "svg": "\n\n\n" }, { "name": "r", "class": ".opt-r", "svg": "\n\n\n" }, { "name": "q", "class": ".opt-q", "svg": "\n\n" }, { "name": "d", "class": ".opt-d", "svg": "\n\n" }, { "name": "r", "class": ".opt-r", "svg": "\n\n\n" }, { "name": "t", "class": ".opt-t", "svg": "\n\n\n" }, { "name": "g", "class": ".opt-g", "svg": "\n\n" }, { "name": "h", "class": ".opt-h", "svg": "\n\n" }, { "name": "p", "class": ".opt-p", "svg": "\n\n" }, { "name": "f", "class": ".opt-f", "svg": "\n\n" }, { "name": "i", "class": ".opt-i", "svg": "\n\n" }, { "name": "s", "class": ".opt-s", "svg": "\n\n\n" }, { "name": "j", "class": ".opt-j", "svg": "\n\n" }, { "name": "u", "class": ".opt-u", "svg": "\n\n\n\n" }, { "name": "v", "class": ".opt-v", "svg": "\n\n\n" }, { "name": "n", "class": ".opt-n", "svg": "\n\n" }, { "name": "a", "class": ".opt-a", "svg": "\n\n" }, { "name": "b", "class": ".opt-b", "svg": "\n\n" }, { "name": "l", "class": ".opt-l", "svg": "\n\n" }, { "name": "o", "class": ".opt-o", "svg": "\n\n" }, { "name": "e", "class": ".opt-e", "svg": "\n\n" }, { "name": "m", "class": ".opt-m", "svg": "\n\n" }, { "name": "c", "class": ".opt-c", "svg": "\n\n" } ], "svg": "" }, { "name": "head_robot", "class": ".layer-head_robot", "options": [ { "name": "s", "class": ".opt-s", "svg": "\n\n\n\n\n\n\n\n\n\n\n\n\n" }, { "name": "r", "class": ".opt-r", "svg": "\n\n\n\n\n\n\n\n" }, { "name": "q", "class": ".opt-q", "svg": "\n\n\n\n\n\n\n\n\n\n" }, { "name": "p", "class": ".opt-p", "svg": "\n\n\n\n\n\n" }, { "name": "o", "class": ".opt-o", "svg": "\n\n\n\n\n\n\n" }, { "name": "n", "class": ".opt-n", "svg": "\n\n\n\n\n\n" }, { "name": "m", "class": ".opt-m", "svg": "\n\n\n\n\n\n\n\n\n" }, { "name": "l", "class": ".opt-l", "svg": "\n\n\n\n\n\n" }, { "name": "k", "class": ".opt-k", "svg": "\n\n\n\n\n\n" }, { "name": "i", "class": ".opt-i", "svg": "\n\n\n\n\n\n\n\n\n\n\n\n\n" }, { "name": "h", "class": ".opt-h", "svg": "\n\n\n\n\n\n\n\n" }, { "name": "g", "class": ".opt-g", "svg": "\n\n\n\n\n\n\n\n\n\n" }, { "name": "f", "class": ".opt-f", "svg": "\n\n\n\n\n\n\n\n\n\n\n" }, { "name": "e", "class": ".opt-e", "svg": "\n\n\n\n\n\n\n" }, { "name": "d", "class": ".opt-d", "svg": "\n\n\n\n\n\n\n" }, { "name": "c", "class": ".opt-c", "svg": "\n\n\n\n\n\n\n\n\n" }, { "name": "b", "class": ".opt-b", "svg": "\n\n\n\n\n\n\n" }, { "name": "a", "class": ".opt-a", "svg": "\n\n\n\n\n\n\n\n\n" }, { "name": "j", "class": ".opt-j", "svg": "\n\n\n\n\n\n\n\n" } ], "svg": "" }, { "name": "head_animal", "class": ".layer-head_animal", "options": [ { "name": "wolf", "class": ".opt-wolf", "svg": "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n" }, { "name": "chick", "class": ".opt-chick", "svg": "\n\n\n\n\n\n\n\n\n\n" }, { "name": "koala", "class": ".opt-koala", "svg": "\n\n\n\n\n\n\n\n\n\n\n\n\n" }, { "name": "fox", "class": ".opt-fox", "svg": "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n" }, { "name": "hippo", "class": ".opt-hippo", "svg": "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n" }, { "name": "pony", "class": ".opt-pony", "svg": "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n" }, { "name": "seal", "class": ".opt-seal", "svg": "\n\n\n\n\n\n\n\n\n\n" }, { "name": "salamander", "class": ".opt-salamander", "svg": "\n\n\n\n\n\n\n\n\n\n\n\n" }, { "name": "lama", "class": ".opt-lama", "svg": "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n" }, { "name": "buffaloe", "class": ".opt-buffaloe", "svg": "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n" }, { "name": "chicken", "class": ".opt-chicken", "svg": "\n\n\n\n\n\n\n\n\n\n\n" }, { "name": "camel", "class": ".opt-camel", "svg": "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n" }, { "name": "parrot", "class": ".opt-parrot", "svg": "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n" }, { "name": "tucan", "class": ".opt-tucan", "svg": "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n" }, { "name": "mandrill", "class": ".opt-mandrill", "svg": "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n" }, { "name": "rabbit", "class": ".opt-rabbit", "svg": "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n" }, { "name": "elephant", "class": ".opt-elephant", "svg": "\n\n\n\n\n\n\n\n\n\n\n\n" }, { "name": "panda", "class": ".opt-panda", "svg": "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n" }, { "name": "bull", "class": ".opt-bull", "svg": "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n" }, { "name": "turtle", "class": ".opt-turtle", "svg": "\n\n\n\n\n\n\n\n\n\n\n\n" }, { "name": "giraffe", "class": ".opt-giraffe", "svg": "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n" }, { "name": "rhino", "class": ".opt-rhino", "svg": "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n" }, { "name": "skunk", "class": ".opt-skunk", "svg": "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n" }, { "name": "walrus", "class": ".opt-walrus", "svg": "\n\n\n\n\n\n\n\n\n\n\n\n\n\n" }, { "name": "deer", "class": ".opt-deer", "svg": "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n" }, { "name": "lion", "class": ".opt-lion", "svg": "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n" }, { "name": "monkey", "class": ".opt-monkey", "svg": "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n" }, { "name": "crocodile", "class": ".opt-crocodile", "svg": "\n\n\n\n\n\n\n\n\n\n\n\n\n\n" }, { "name": "beaver", "class": ".opt-beaver", "svg": "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n" }, { "name": "penguin", "class": ".opt-penguin", "svg": "\n\n\n\n\n\n\n\n\n\n" }, { "name": "racoon", "class": ".opt-racoon", "svg": "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n" }, { "name": "zebra", "class": ".opt-zebra", "svg": "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n" }, { "name": "reindeer", "class": ".opt-reindeer", "svg": "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n" }, { "name": "dog", "class": ".opt-dog", "svg": "\n\n\n\n\n\n\n\n\n\n\n\n" }, { "name": "donkey", "class": ".opt-donkey", "svg": "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n" }, { "name": "rooster", "class": ".opt-rooster", "svg": "\n\n\n\n\n\n\n\n\n" }, { "name": "mouse", "class": ".opt-mouse", "svg": "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n" }, { "name": "cat", "class": ".opt-cat", "svg": "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n" }, { "name": "squirrel", "class": ".opt-squirrel", "svg": "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n" }, { "name": "urangutan", "class": ".opt-urangutan", "svg": "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n" }, { "name": "cow", "class": ".opt-cow", "svg": "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n" }, { "name": "pig", "class": ".opt-pig", "svg": "\n\n\n\n\n\n\n\n\n\n\n\n\n" }, { "name": "goat", "class": ".opt-goat", "svg": "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n" }, { "name": "sheep", "class": ".opt-sheep", "svg": "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n" }, { "name": "bear", "class": ".opt-bear", "svg": "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n" } ], "svg": "" }, { "name": "head_monster_headgear", "class": ".layer-head_monster_headgear", "options": [ { "name": "q", "class": ".opt-q", "svg": "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n" }, { "name": "p", "class": ".opt-p", "svg": "\n\n" }, { "name": "o", "class": ".opt-o", "svg": "\n\n" }, { "name": "n", "class": ".opt-n", "svg": "\n\n\n\n\n\n\n" }, { "name": "l", "class": ".opt-l", "svg": "\n\n" }, { "name": "k", "class": ".opt-k", "svg": "\n\n\n\n\n\n\n\n\n" }, { "name": "j", "class": ".opt-j", "svg": "\n\n\n\n\n\n\n" }, { "name": "i", "class": ".opt-i", "svg": "\n\n\n\n\n\n\n\n\n\n\n\n\n" }, { "name": "h", "class": ".opt-h", "svg": "\n\n\n\n\n\n\n\n\n" }, { "name": "g", "class": ".opt-g", "svg": "\n\n" }, { "name": "e", "class": ".opt-e", "svg": "\n\n" }, { "name": "d", "class": ".opt-d", "svg": "\n\n\n\n\n\n\n" }, { "name": "c", "class": ".opt-c", "svg": "\n\n\n\n\n\n\n\n\n\n\n" }, { "name": "b", "class": ".opt-b", "svg": "\n\n\n\n\n\n\n\n\n" }, { "name": "a", "class": ".opt-a", "svg": "\n\n\n\n\n\n\n" } ], "svg": "" }, { "name": "head_monster", "class": ".layer-head_monster", "options": [ { "name": "z", "class": ".opt-z", "svg": "\n\n\n" }, { "name": "y", "class": ".opt-y", "svg": "\n\n\n" }, { "name": "x", "class": ".opt-x", "svg": "\n\n" }, { "name": "w", "class": ".opt-w", "svg": "\n\n" }, { "name": "v", "class": ".opt-v", "svg": "\n\n" }, { "name": "u", "class": ".opt-u", "svg": "\n\n" }, { "name": "t", "class": ".opt-t", "svg": "\n\n" }, { "name": "s", "class": ".opt-s", "svg": "\n\n" }, { "name": "r", "class": ".opt-r", "svg": "\n\n" }, { "name": "q", "class": ".opt-q", "svg": "\n\n" }, { "name": "p", "class": ".opt-p", "svg": "\n\n" }, { "name": "o", "class": ".opt-o", "svg": "\n\n" }, { "name": "n", "class": ".opt-n", "svg": "\n\n" }, { "name": "m", "class": ".opt-m", "svg": "\n\n" }, { "name": "l", "class": ".opt-l", "svg": "\n\n" }, { "name": "k", "class": ".opt-k", "svg": "\n\n" }, { "name": "j", "class": ".opt-j", "svg": "\n\n" }, { "name": "i", "class": ".opt-i", "svg": "\n\n" }, { "name": "h", "class": ".opt-h", "svg": "\n\n" }, { "name": "g", "class": ".opt-g", "svg": "\n\n" }, { "name": "f", "class": ".opt-f", "svg": "\n\n" }, { "name": "e", "class": ".opt-e", "svg": "\n\n" }, { "name": "d", "class": ".opt-d", "svg": "\n\n" }, { "name": "c", "class": ".opt-c", "svg": "\n\n" }, { "name": "a", "class": ".opt-a", "svg": "\n\n" }, { "name": "b", "class": ".opt-b", "svg": "\n\n" } ], "svg": "" }, { "name": "head_monster_mouth", "class": ".layer-head_monster_mouth", "options": [ { "name": "ag", "class": ".opt-ag", "svg": "\n\n\n\n\n\n\n" }, { "name": "af", "class": ".opt-af", "svg": "\n\n\n\n\n\n\n" }, { "name": "ae", "class": ".opt-ae", "svg": "\n\n\n" }, { "name": "ad", "class": ".opt-ad", "svg": "\n\n\n" }, { "name": "ac", "class": ".opt-ac", "svg": "\n\n\n" }, { "name": "aa", "class": ".opt-aa", "svg": "\n\n\n\n\n" }, { "name": "z", "class": ".opt-z", "svg": "\n\n\n\n\n" }, { "name": "y", "class": ".opt-y", "svg": "\n\n\n\n\n" }, { "name": "x", "class": ".opt-x", "svg": "\n\n\n\n\n" }, { "name": "w", "class": ".opt-w", "svg": "\n\n\n\n" }, { "name": "v", "class": ".opt-v", "svg": "\n\n\n\n" }, { "name": "u", "class": ".opt-u", "svg": "\n\n\n\n" }, { "name": "t", "class": ".opt-t", "svg": "\n\n\n\n" }, { "name": "s", "class": ".opt-s", "svg": "\n\n\n\n\n\n" }, { "name": "r", "class": ".opt-r", "svg": "\n\n\n\n" }, { "name": "q", "class": ".opt-q", "svg": "\n\n\n\n" }, { "name": "p", "class": ".opt-p", "svg": "\n\n\n\n" }, { "name": "o", "class": ".opt-o", "svg": "\n\n\n\n" }, { "name": "n", "class": ".opt-n", "svg": "\n\n\n\n" }, { "name": "m", "class": ".opt-m", "svg": "\n\n\n\n" }, { "name": "l", "class": ".opt-l", "svg": "\n\n\n\n" }, { "name": "k", "class": ".opt-k", "svg": "\n\n\n\n" }, { "name": "j", "class": ".opt-j", "svg": "\n\n\n\n" }, { "name": "i", "class": ".opt-i", "svg": "\n\n\n\n" }, { "name": "h", "class": ".opt-h", "svg": "\n\n\n\n" }, { "name": "g", "class": ".opt-g", "svg": "\n\n\n\n" }, { "name": "f", "class": ".opt-f", "svg": "\n\n\n\n" }, { "name": "e", "class": ".opt-e", "svg": "\n\n\n\n" }, { "name": "c", "class": ".opt-c", "svg": "\n\n\n\n" }, { "name": "b", "class": ".opt-b", "svg": "\n\n\n\n" }, { "name": "a", "class": ".opt-a", "svg": "\n\n\n\n" }, { "name": "d", "class": ".opt-d", "svg": "\n\n\n\n" } ], "svg": "" }, { "name": "head_monster_eyes", "class": ".layer-head_monster_eyes", "options": [ { "name": "c_triple", "class": ".opt-c_triple", "svg": "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n" }, { "name": "c_single_closed", "class": ".opt-c_single_closed", "svg": "\n\n\n\n\n\n" }, { "name": "c_single_half", "class": ".opt-c_single_half", "svg": "\n\n\n\n\n" }, { "name": "c_single", "class": ".opt-c_single", "svg": "\n\n\n\n\n\n" }, { "name": "c_overlap", "class": ".opt-c_overlap", "svg": "\n\n\n\n\n\n\n\n\n\n\n" }, { "name": "c_asymetric", "class": ".opt-c_asymetric", "svg": "\n\n\n\n\n\n\n\n\n\n\n" }, { "name": "c_normal", "class": ".opt-c_normal", "svg": "\n\n\n\n\n\n\n\n\n\n\n" }, { "name": "b_triple", "class": ".opt-b_triple", "svg": "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n" }, { "name": "b_single_closed", "class": ".opt-b_single_closed", "svg": "\n\n\n\n\n\n" }, { "name": "b_single_half", "class": ".opt-b_single_half", "svg": "\n\n\n\n\n" }, { "name": "b_single", "class": ".opt-b_single", "svg": "\n\n\n\n\n\n" }, { "name": "b_overlap", "class": ".opt-b_overlap", "svg": "\n\n\n\n\n\n\n\n\n\n\n" }, { "name": "b_asymetric", "class": ".opt-b_asymetric", "svg": "\n\n\n\n\n\n\n\n\n\n\n" }, { "name": "b_normal", "class": ".opt-b_normal", "svg": "\n\n\n\n\n\n\n\n\n\n\n" }, { "name": "a_triple", "class": ".opt-a_triple", "svg": "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n" }, { "name": "a_single_closed", "class": ".opt-a_single_closed", "svg": "\n\n\n\n\n\n\n\n" }, { "name": "a_single_half", "class": ".opt-a_single_half", "svg": "\n\n\n\n\n\n\n" }, { "name": "a_single", "class": ".opt-a_single", "svg": "\n\n\n\n\n\n\n\n" }, { "name": "a_overlap", "class": ".opt-a_overlap", "svg": "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n" }, { "name": "a_asymetric", "class": ".opt-a_asymetric", "svg": "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n" }, { "name": "a_normal", "class": ".opt-a_normal", "svg": "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n" } ], "svg": "" }, { "name": "makeup", "class": ".layer-makeup", "options": [ { "name": "clown", "class": ".opt-clown", "svg": "\n\n\n\n\n\n\n\n" }, { "name": "cheeks", "class": ".opt-cheeks", "svg": "\n\n\n" } ], "svg": "" }, { "name": "skin_condition", "class": ".layer-skin_condition", "options": [ { "name": "acne", "class": ".opt-acne", "svg": "\n\n" }, { "name": "freckles", "class": ".opt-freckles", "svg": "\n\n" }, { "name": "vitiligio_b", "class": ".opt-vitiligio_b", "svg": "\n\n\n" }, { "name": "vitiligio_a", "class": ".opt-vitiligio_a", "svg": "\n\n\n" } ], "svg": "" }, { "name": "head_human_beard", "class": ".layer-head_human_beard", "options": [ { "name": "s", "class": ".opt-s", "svg": "\n\n\n" }, { "name": "r", "class": ".opt-r", "svg": "\n\n\n" }, { "name": "q", "class": ".opt-q", "svg": "\n\n\n" }, { "name": "p", "class": ".opt-p", "svg": "\n\n\n" }, { "name": "o", "class": ".opt-o", "svg": "\n\n" }, { "name": "n", "class": ".opt-n", "svg": "\n\n" }, { "name": "m", "class": ".opt-m", "svg": "\n\n" }, { "name": "l", "class": ".opt-l", "svg": "\n\n" }, { "name": "k", "class": ".opt-k", "svg": "\n\n" }, { "name": "j", "class": ".opt-j", "svg": "\n\n" }, { "name": "i", "class": ".opt-i", "svg": "\n\n" }, { "name": "h", "class": ".opt-h", "svg": "\n\n" }, { "name": "g", "class": ".opt-g", "svg": "\n\n" }, { "name": "f", "class": ".opt-f", "svg": "\n\n" }, { "name": "e", "class": ".opt-e", "svg": "\n\n" }, { "name": "d", "class": ".opt-d", "svg": "\n\n" }, { "name": "c", "class": ".opt-c", "svg": "\n\n" }, { "name": "b", "class": ".opt-b", "svg": "\n\n" }, { "name": "a", "class": ".opt-a", "svg": "\n\n" } ], "svg": "" }, { "name": "head_human_mouth", "class": ".layer-head_human_mouth", "options": [ { "name": "female_teeth_fat", "class": ".opt-female_teeth_fat", "svg": "\n\n\n\n\n\n" }, { "name": "female_fat", "class": ".opt-female_fat", "svg": "\n\n\n\n\n\n" }, { "name": "female_teeth_slim", "class": ".opt-female_teeth_slim", "svg": "\n\n\n\n\n\n" }, { "name": "female_slim_angry", "class": ".opt-female_slim_angry", "svg": "\n\n\n\n\n\n" }, { "name": "female_slim", "class": ".opt-female_slim", "svg": "\n\n\n\n\n\n" }, { "name": "female", "class": ".opt-female", "svg": "\n\n\n\n\n\n" }, { "name": "female_friendly", "class": ".opt-female_friendly", "svg": "\n\n\n\n\n\n" }, { "name": "afro_friendly", "class": ".opt-afro_friendly", "svg": "\n\n\n\n\n\n" }, { "name": "rhubarb_x", "class": ".opt-rhubarb_x", "svg": "\n\n\n\n\n" }, { "name": "rhubarb_h", "class": ".opt-rhubarb_h", "svg": "\n\n\n\n\n\n\n\n" }, { "name": "rhubarb_g", "class": ".opt-rhubarb_g", "svg": "\n\n\n\n\n\n\n" }, { "name": "rhubarb_f", "class": ".opt-rhubarb_f", "svg": "\n\n\n\n\n\n\n\n" }, { "name": "rhubarb_e", "class": ".opt-rhubarb_e", "svg": "\n\n\n\n\n\n\n\n" }, { "name": "rhubarb_d", "class": ".opt-rhubarb_d", "svg": "\n\n\n\n\n\n\n\n" }, { "name": "rhubarb_c", "class": ".opt-rhubarb_c", "svg": "\n\n\n\n\n\n\n\n" }, { "name": "rhubarb_b", "class": ".opt-rhubarb_b", "svg": "\n\n\n\n\n\n\n\n" }, { "name": "rhubarb_a", "class": ".opt-rhubarb_a", "svg": "\n\n\n\n\n" }, { "name": "vampire_4", "class": ".opt-vampire_4", "svg": "\n\n\n\n\n\n\n" }, { "name": "vampire_3", "class": ".opt-vampire_3", "svg": "\n\n\n\n\n\n\n" }, { "name": "vampire_2", "class": ".opt-vampire_2", "svg": "\n\n\n\n\n\n\n" }, { "name": "vampire", "class": ".opt-vampire", "svg": "\n\n\n\n\n\n" }, { "name": "braces_4", "class": ".opt-braces_4", "svg": "\n\n\n\n\n\n\n\n\n\n\n\n" }, { "name": "braces_3", "class": ".opt-braces_3", "svg": "\n\n\n\n\n\n\n\n\n\n\n\n" }, { "name": "braces_2", "class": ".opt-braces_2", "svg": "\n\n\n\n\n\n\n\n\n\n\n\n" }, { "name": "braces", "class": ".opt-braces", "svg": "\n\n\n\n\n\n\n\n\n\n\n\n\n" }, { "name": "cry_4", "class": ".opt-cry_4", "svg": "\n\n\n\n\n\n\n\n" }, { "name": "cry_3", "class": ".opt-cry_3", "svg": "\n\n\n\n\n\n\n\n" }, { "name": "cry_2", "class": ".opt-cry_2", "svg": "\n\n\n\n\n\n\n\n" }, { "name": "cry", "class": ".opt-cry", "svg": "\n\n\n\n\n\n\n\n" }, { "name": "sad_4", "class": ".opt-sad_4", "svg": "\n\n\n\n\n\n" }, { "name": "sad_3", "class": ".opt-sad_3", "svg": "\n\n\n\n\n\n" }, { "name": "sad_2", "class": ".opt-sad_2", "svg": "\n\n\n\n\n\n" }, { "name": "sad", "class": ".opt-sad", "svg": "\n\n\n\n\n" }, { "name": "laugh_4", "class": ".opt-laugh_4", "svg": "\n\n\n\n\n\n\n" }, { "name": "laugh_3", "class": ".opt-laugh_3", "svg": "\n\n\n\n\n\n\n" }, { "name": "laugh_2", "class": ".opt-laugh_2", "svg": "\n\n\n\n\n\n\n" }, { "name": "laugh", "class": ".opt-laugh", "svg": "\n\n\n\n\n\n\n\n" }, { "name": "friendly_4", "class": ".opt-friendly_4", "svg": "\n\n\n\n\n\n" }, { "name": "friendly_3", "class": ".opt-friendly_3", "svg": "\n\n\n\n\n\n" }, { "name": "friendly_2", "class": ".opt-friendly_2", "svg": "\n\n\n\n\n\n" }, { "name": "friendly", "class": ".opt-friendly", "svg": "\n\n\n\n\n" }, { "name": "neutral_4", "class": ".opt-neutral_4", "svg": "\n\n\n\n\n\n" }, { "name": "neutral_3", "class": ".opt-neutral_3", "svg": "\n\n\n\n\n\n" }, { "name": "neutral_2", "class": ".opt-neutral_2", "svg": "\n\n\n\n\n\n" }, { "name": "neutral", "class": ".opt-neutral", "svg": "\n\n\n\n\n" } ], "svg": "" }, { "name": "head_human_moustache", "class": ".layer-head_human_moustache", "options": [ { "name": "u", "class": ".opt-u", "svg": "\n\n" }, { "name": "t", "class": ".opt-t", "svg": "\n\n" }, { "name": "s", "class": ".opt-s", "svg": "\n\n" }, { "name": "q", "class": ".opt-q", "svg": "\n\n\n" }, { "name": "p", "class": ".opt-p", "svg": "\n\n\n" }, { "name": "o", "class": ".opt-o", "svg": "\n\n\n" }, { "name": "n", "class": ".opt-n", "svg": "\n\n\n" }, { "name": "m", "class": ".opt-m", "svg": "\n\n" }, { "name": "l", "class": ".opt-l", "svg": "\n\n" }, { "name": "k", "class": ".opt-k", "svg": "\n\n\n" }, { "name": "j", "class": ".opt-j", "svg": "\n\n" }, { "name": "i", "class": ".opt-i", "svg": "\n\n" }, { "name": "r", "class": ".opt-r", "svg": "\n\n" }, { "name": "h", "class": ".opt-h", "svg": "\n\n" }, { "name": "g", "class": ".opt-g", "svg": "\n\n" }, { "name": "f", "class": ".opt-f", "svg": "\n\n" }, { "name": "e", "class": ".opt-e", "svg": "\n\n" }, { "name": "d", "class": ".opt-d", "svg": "\n\n" }, { "name": "c", "class": ".opt-c", "svg": "\n\n" }, { "name": "b", "class": ".opt-b", "svg": "\n\n" }, { "name": "a", "class": ".opt-a", "svg": "\n\n" } ], "svg": "" }, { "name": "head_human_eyes", "class": ".layer-head_human_eyes", "options": [ { "name": "closed", "class": ".opt-closed", "svg": "\n\n\n\n\n\n\n\n\n" }, { "name": "animal", "class": ".opt-animal", "svg": "\n\n\n\n\n\n\n\n\n" }, { "name": "female_asia", "class": ".opt-female_asia", "svg": "\n\n\n\n\n\n\n\n\n\n\n" }, { "name": "female", "class": ".opt-female", "svg": "\n\n\n\n\n\n\n\n\n\n\n" }, { "name": "male_asia", "class": ".opt-male_asia", "svg": "\n\n\n\n\n\n\n\n\n\n\n" }, { "name": "male", "class": ".opt-male", "svg": "\n\n\n\n\n\n\n\n\n\n\n" } ], "svg": "" }, { "name": "head_human_eyebrows", "class": ".layer-head_human_eyebrows", "options": [ { "name": "f", "class": ".opt-f", "svg": "\n\n\n\n\n\n\n" }, { "name": "g", "class": ".opt-g", "svg": "\n\n\n\n\n\n\n" }, { "name": "e", "class": ".opt-e", "svg": "\n\n\n\n\n\n\n" }, { "name": "d", "class": ".opt-d", "svg": "\n\n\n\n\n\n\n" }, { "name": "c", "class": ".opt-c", "svg": "\n\n\n\n\n\n\n" }, { "name": "a", "class": ".opt-a", "svg": "\n\n\n\n\n\n\n" }, { "name": "b", "class": ".opt-b", "svg": "\n\n\n\n\n\n\n" } ], "svg": "" }, { "name": "head_human_hair", "class": ".layer-head_human_hair", "options": [ { "name": "ba", "class": ".opt-ba", "svg": "\n\n\n" }, { "name": "az", "class": ".opt-az", "svg": "\n\n" }, { "name": "ay", "class": ".opt-ay", "svg": "\n\n" }, { "name": "ax", "class": ".opt-ax", "svg": "\n\n" }, { "name": "aw", "class": ".opt-aw", "svg": "\n\n" }, { "name": "av", "class": ".opt-av", "svg": "\n\n" }, { "name": "au", "class": ".opt-au", "svg": "\n\n" }, { "name": "at", "class": ".opt-at", "svg": "\n\n" }, { "name": "as", "class": ".opt-as", "svg": "\n\n\n" }, { "name": "ar", "class": ".opt-ar", "svg": "\n\n\n\n" }, { "name": "aq", "class": ".opt-aq", "svg": "\n\n\n" }, { "name": "ap", "class": ".opt-ap", "svg": "\n\n\n" }, { "name": "ao", "class": ".opt-ao", "svg": "\n\n" }, { "name": "an", "class": ".opt-an", "svg": "\n\n" }, { "name": "am", "class": ".opt-am", "svg": "\n\n" }, { "name": "al", "class": ".opt-al", "svg": "\n\n" }, { "name": "ak", "class": ".opt-ak", "svg": "\n\n" }, { "name": "aj", "class": ".opt-aj", "svg": "\n\n" }, { "name": "ai", "class": ".opt-ai", "svg": "\n\n" }, { "name": "ah", "class": ".opt-ah", "svg": "\n\n" }, { "name": "ag", "class": ".opt-ag", "svg": "\n\n\n" }, { "name": "af", "class": ".opt-af", "svg": "\n\n" }, { "name": "ae", "class": ".opt-ae", "svg": "\n\n\n" }, { "name": "ad", "class": ".opt-ad", "svg": "\n\n\n" }, { "name": "ac", "class": ".opt-ac", "svg": "\n\n\n" }, { "name": "ab", "class": ".opt-ab", "svg": "\n\n" }, { "name": "aa", "class": ".opt-aa", "svg": "\n\n\n" }, { "name": "z", "class": ".opt-z", "svg": "\n\n" }, { "name": "y", "class": ".opt-y", "svg": "\n\n" }, { "name": "x", "class": ".opt-x", "svg": "\n\n" }, { "name": "w", "class": ".opt-w", "svg": "\n\n" }, { "name": "v", "class": ".opt-v", "svg": "\n\n" }, { "name": "u", "class": ".opt-u", "svg": "\n\n" }, { "name": "t", "class": ".opt-t", "svg": "\n\n" }, { "name": "s", "class": ".opt-s", "svg": "\n\n" }, { "name": "r", "class": ".opt-r", "svg": "\n\n" }, { "name": "q", "class": ".opt-q", "svg": "\n\n" }, { "name": "p", "class": ".opt-p", "svg": "\n\n" }, { "name": "o", "class": ".opt-o", "svg": "\n\n" }, { "name": "n", "class": ".opt-n", "svg": "\n\n" }, { "name": "m", "class": ".opt-m", "svg": "\n\n" }, { "name": "l", "class": ".opt-l", "svg": "\n\n" }, { "name": "k", "class": ".opt-k", "svg": "\n\n" }, { "name": "j", "class": ".opt-j", "svg": "\n\n" }, { "name": "i", "class": ".opt-i", "svg": "\n\n" }, { "name": "h", "class": ".opt-h", "svg": "\n\n" }, { "name": "g", "class": ".opt-g", "svg": "\n\n" }, { "name": "f", "class": ".opt-f", "svg": "\n\n" }, { "name": "e", "class": ".opt-e", "svg": "\n\n" }, { "name": "d", "class": ".opt-d", "svg": "\n\n" }, { "name": "c", "class": ".opt-c", "svg": "\n\n" }, { "name": "b", "class": ".opt-b", "svg": "\n\n" }, { "name": "a", "class": ".opt-a", "svg": "\n\n" } ], "svg": "" }, { "name": "masks", "class": ".layer-masks", "options": [ { "name": "ae", "class": ".opt-ae", "svg": "\n\n\n\n\n\n\n\n\n\n" }, { "name": "ad", "class": ".opt-ad", "svg": "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n" }, { "name": "ac", "class": ".opt-ac", "svg": "\n\n\n\n\n\n\n\n\n\n\n" }, { "name": "ab", "class": ".opt-ab", "svg": "\n\n\n\n\n\n\n\n" }, { "name": "aa", "class": ".opt-aa", "svg": "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n" }, { "name": "za", "class": ".opt-za", "svg": "\n\n\n\n" }, { "name": "z", "class": ".opt-z", "svg": "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n" }, { "name": "r", "class": ".opt-r", "svg": "\n\n\n\n\n\n\n\n\n\n\n" }, { "name": "q", "class": ".opt-q", "svg": "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n" }, { "name": "p", "class": ".opt-p", "svg": "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n" }, { "name": "o", "class": ".opt-o", "svg": "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n" }, { "name": "n", "class": ".opt-n", "svg": "\n\n\n\n\n\n\n\n\n\n\n" }, { "name": "m", "class": ".opt-m", "svg": "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n" }, { "name": "l", "class": ".opt-l", "svg": "\n\n\n\n\n\n\n\n\n\n\n\n\n" }, { "name": "k", "class": ".opt-k", "svg": "\n\n\n\n\n\n\n\n\n\n\n\n\n" }, { "name": "j", "class": ".opt-j", "svg": "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n" }, { "name": "i", "class": ".opt-i", "svg": "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n" }, { "name": "h", "class": ".opt-h", "svg": "\n\n\n\n\n\n\n\n\n\n" }, { "name": "g", "class": ".opt-g", "svg": "\n\n\n\n\n\n\n\n\n\n\n\n" }, { "name": "f", "class": ".opt-f", "svg": "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n" }, { "name": "snowman", "class": ".opt-snowman", "svg": "\n\n\n\n\n" }, { "name": "x", "class": ".opt-x", "svg": "\n\n\n\n\n\n\n\n\n" }, { "name": "s", "class": ".opt-s", "svg": "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n" }, { "name": "t", "class": ".opt-t", "svg": "\n\n\n\n\n\n\n\n\n\n\n" }, { "name": "e", "class": ".opt-e", "svg": "\n\n\n" }, { "name": "d", "class": ".opt-d", "svg": "\n\n\n" }, { "name": "c", "class": ".opt-c", "svg": "\n\n" }, { "name": "b", "class": ".opt-b", "svg": "\n\n" }, { "name": "a", "class": ".opt-a", "svg": "\n\n" }, { "name": "w", "class": ".opt-w", "svg": "\n\n\n" }, { "name": "v", "class": ".opt-v", "svg": "\n\n\n" } ], "svg": "" }, { "name": "glasses", "class": ".layer-glasses", "options": [ { "name": "ad", "class": ".opt-ad", "svg": "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n" }, { "name": "ac", "class": ".opt-ac", "svg": "\n\n\n\n" }, { "name": "ab", "class": ".opt-ab", "svg": "\n\n\n" }, { "name": "aa", "class": ".opt-aa", "svg": "\n\n\n" }, { "name": "z", "class": ".opt-z", "svg": "\n\n\n" }, { "name": "y", "class": ".opt-y", "svg": "\n\n\n\n\n" }, { "name": "x", "class": ".opt-x", "svg": "\n\n\n\n\n" }, { "name": "w", "class": ".opt-w", "svg": "\n\n\n\n" }, { "name": "u", "class": ".opt-u", "svg": "\n\n\n" }, { "name": "t", "class": ".opt-t", "svg": "\n\n\n" }, { "name": "s", "class": ".opt-s", "svg": "\n\n\n" }, { "name": "r", "class": ".opt-r", "svg": "\n\n\n" }, { "name": "q", "class": ".opt-q", "svg": "\n\n\n" }, { "name": "p", "class": ".opt-p", "svg": "\n\n\n" }, { "name": "o", "class": ".opt-o", "svg": "\n\n\n" }, { "name": "n", "class": ".opt-n", "svg": "\n\n\n" }, { "name": "m", "class": ".opt-m", "svg": "\n\n\n" }, { "name": "l", "class": ".opt-l", "svg": "\n\n\n" }, { "name": "k", "class": ".opt-k", "svg": "\n\n\n" }, { "name": "j", "class": ".opt-j", "svg": "\n\n\n" }, { "name": "i", "class": ".opt-i", "svg": "\n\n\n" }, { "name": "h", "class": ".opt-h", "svg": "\n\n\n" }, { "name": "g", "class": ".opt-g", "svg": "\n\n\n" }, { "name": "f", "class": ".opt-f", "svg": "\n\n\n" }, { "name": "e", "class": ".opt-e", "svg": "\n\n\n" }, { "name": "d", "class": ".opt-d", "svg": "\n\n\n" }, { "name": "c", "class": ".opt-c", "svg": "\n\n\n" }, { "name": "b", "class": ".opt-b", "svg": "\n\n\n\n" }, { "name": "a", "class": ".opt-a", "svg": "\n\n\n\n" } ], "svg": "" }, { "name": "headgear", "class": ".layer-headgear-group_1", "options": [ { "name": "cap_sloppy", "class": ".opt-cap_sloppy", "svg": "\n\n\n" }, { "name": "wrap", "class": ".opt-wrap", "svg": "\n\n\n" }, { "name": "crown", "class": ".opt-crown", "svg": "\n\n\n\n\n\n\n\n\n\n" }, { "name": "rabbit", "class": ".opt-rabbit", "svg": "\n\n\n\n\n\n\n\n\n\n\n" }, { "name": "hairring_frog", "class": ".opt-hairring_frog", "svg": "\n\n\n\n\n\n\n\n\n\n\n" }, { "name": "mickey", "class": ".opt-mickey", "svg": "\n\n\n" }, { "name": "hairring_animal_2", "class": ".opt-hairring_animal_2", "svg": "\n\n\n\n\n\n\n" }, { "name": "hairring_animal_1", "class": ".opt-hairring_animal_1", "svg": "\n\n\n\n\n\n\n\n\n\n" }, { "name": "hairring_cat", "class": ".opt-hairring_cat", "svg": "\n\n\n\n\n\n\n" }, { "name": "hairring_ball", "class": ".opt-hairring_ball", "svg": "\n\n\n\n\n\n\n\n\n" }, { "name": "hairring_star", "class": ".opt-hairring_star", "svg": "\n\n\n\n\n" }, { "name": "hairring_robot", "class": ".opt-hairring_robot", "svg": "\n\n\n\n\n\n\n\n" }, { "name": "hairring_alien_2", "class": ".opt-hairring_alien_2", "svg": "\n\n\n\n\n\n\n" }, { "name": "hairring_alien_1", "class": ".opt-hairring_alien_1", "svg": "\n\n\n\n\n\n\n\n\n\n\n\n\n" }, { "name": "skeleton", "class": ".opt-skeleton", "svg": "\n\n\n" }, { "name": "party", "class": ".opt-party", "svg": "\n\n\n\n\n" }, { "name": "harlekin", "class": ".opt-harlekin", "svg": "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n" }, { "name": "headphones", "class": ".opt-headphones", "svg": "\n\n\n\n\n\n\n\n\n\n\n" }, { "name": "princess", "class": ".opt-princess", "svg": "\n\n\n" }, { "name": "carnival", "class": ".opt-carnival", "svg": "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n" }, { "name": "pirate_c", "class": ".opt-pirate_c", "svg": "\n\n\n\n\n\n\n\n\n\n\n" }, { "name": "pirate_b", "class": ".opt-pirate_b", "svg": "\n\n\n\n\n\n\n\n\n\n\n\n" }, { "name": "pirate_a", "class": ".opt-pirate_a", "svg": "\n\n\n\n\n\n\n" }, { "name": "witch", "class": ".opt-witch", "svg": "\n\n\n\n\n\n\n" }, { "name": "feather3", "class": ".opt-feather3", "svg": "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n" }, { "name": "feather2", "class": ".opt-feather2", "svg": "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n" }, { "name": "feather1", "class": ".opt-feather1", "svg": "\n\n\n" }, { "name": "cape", "class": ".opt-cape", "svg": "\n\n\n" }, { "name": "eskimo", "class": ".opt-eskimo", "svg": "\n\n\n\n" }, { "name": "chinese", "class": ".opt-chinese", "svg": "\n\n" }, { "name": "inka", "class": ".opt-inka", "svg": "\n\n\n" }, { "name": "russian", "class": ".opt-russian", "svg": "\n\n\n" }, { "name": "turkish", "class": ".opt-turkish", "svg": "\n\n\n" }, { "name": "sheikh", "class": ".opt-sheikh", "svg": "\n\n\n" }, { "name": "desert", "class": ".opt-desert", "svg": "\n\n\n" }, { "name": "cowboy", "class": ".opt-cowboy", "svg": "\n\n\n\n" }, { "name": "tophat_big", "class": ".opt-tophat_big", "svg": "\n\n\n\n\n\n\n\n\n\n\n" }, { "name": "tophat", "class": ".opt-tophat", "svg": "\n\n\n\n\n\n\n\n\n\n\n" }, { "name": "reggae", "class": ".opt-reggae", "svg": "\n\n\n\n\n\n" }, { "name": "hijab", "class": ".opt-hijab", "svg": "\n\n\n\n\n" }, { "name": "kippa", "class": ".opt-kippa", "svg": "\n\n\n" }, { "name": "turban", "class": ".opt-turban", "svg": "\n\n\n\n\n\n\n" }, { "name": "agent", "class": ".opt-agent", "svg": "\n\n\n\n" }, { "name": "snowman", "class": ".opt-snowman", "svg": "\n\n\n\n\n" }, { "name": "lady_hat_6", "class": ".opt-lady_hat_6", "svg": "\n\n\n\n\n\n\n" }, { "name": "lady_hat_5", "class": ".opt-lady_hat_5", "svg": "\n\n\n\n" }, { "name": "lady_hat_4", "class": ".opt-lady_hat_4", "svg": "\n\n\n\n\n" }, { "name": "lady_hat_3", "class": ".opt-lady_hat_3", "svg": "\n\n" }, { "name": "lady_hat_2", "class": ".opt-lady_hat_2", "svg": "\n\n" }, { "name": "lady_hat_1", "class": ".opt-lady_hat_1", "svg": "\n\n\n\n\n" }, { "name": "woolhat_4", "class": ".opt-woolhat_4", "svg": "\n\n\n" }, { "name": "woolhat_3", "class": ".opt-woolhat_3", "svg": "\n\n\n\n\n" }, { "name": "woolhat_2", "class": ".opt-woolhat_2", "svg": "\n\n\n\n\n" }, { "name": "woolhat", "class": ".opt-woolhat", "svg": "\n\n\n" }, { "name": "melon", "class": ".opt-melon", "svg": "\n\n\n\n" }, { "name": "homburg", "class": ".opt-homburg", "svg": "\n\n\n\n\n\n\n\n" }, { "name": "felt_hat", "class": ".opt-felt_hat", "svg": "\n\n\n\n\n\n\n\n\n" }, { "name": "basecap", "class": ".opt-basecap", "svg": "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n" }, { "name": "cap_reverse", "class": ".opt-cap_reverse", "svg": "\n\n\n" }, { "name": "cap", "class": ".opt-cap", "svg": "\n\n\n" }, { "name": "pirate_d", "class": ".opt-pirate_d", "svg": "\n\n\n\n\n\n\n\n" }, { "name": "pirate_band", "class": ".opt-pirate_band", "svg": "\n\n\n\n\n\n\n" }, { "name": "bavarian", "class": ".opt-bavarian", "svg": "\n\n\n\n\n" }, { "name": "hat", "class": ".opt-hat", "svg": "\n\n\n" }, { "name": "basque", "class": ".opt-basque", "svg": "\n\n\n" }, { "name": "sweat_band", "class": ".opt-sweat_band", "svg": "\n\n" }, { "name": "headband", "class": ".opt-headband", "svg": "\n\n" }, { "name": "flower", "class": ".opt-flower", "svg": "\n\n\n\n" } ], "group": "1", "svg": "" }, { "name": "earring", "class": ".layer-earring", "options": [ { "name": "diamond3", "class": ".opt-diamond3", "svg": "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n" }, { "name": "creole", "class": ".opt-creole", "svg": "\n\n\n\n\n\n\n" }, { "name": "diamond2", "class": ".opt-diamond2", "svg": "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n" }, { "name": "diamond1", "class": ".opt-diamond1", "svg": "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n" }, { "name": "feathers", "class": ".opt-feathers", "svg": "\n\n\n\n\n\n\n\n\n" }, { "name": "flowers2", "class": ".opt-flowers2", "svg": "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n" }, { "name": "flowers1", "class": ".opt-flowers1", "svg": "\n\n\n\n\n\n\n\n\n" }, { "name": "balls", "class": ".opt-balls", "svg": "\n\n\n\n\n\n\n\n\n\n\n" }, { "name": "stars", "class": ".opt-stars", "svg": "\n\n\n\n\n\n\n\n\n" }, { "name": "diamonds", "class": ".opt-diamonds", "svg": "\n\n\n\n\n\n\n\n\n\n\n" }, { "name": "diamond_r", "class": ".opt-diamond_r", "svg": "\n\n\n\n\n\n" }, { "name": "diamond_l", "class": ".opt-diamond_l", "svg": "\n\n\n\n\n\n" }, { "name": "simple", "class": ".opt-simple", "svg": "\n\n" }, { "name": "simple_r", "class": ".opt-simple_r", "svg": "\n\n" }, { "name": "simple_l", "class": ".opt-simple_l", "svg": "\n\n" } ], "svg": "" } ] lib/data/avatarMap.ls (function(){ return function(type){ var defaultType, hairColors, skinColors, eyeColors, materialColors, materialColorsWithTransparent, animalColors, shoeOptionParams, necklaceOptionParams, glassesOptionParams, maskOptionParams, headgearOptionParams, coat, vest; defaultType = "human"; hairColors = inc("/lib/colors/hair")(); skinColors = inc("/lib/colors/skin")(); eyeColors = inc("/lib/colors/eye")(); materialColors = inc("/lib/colors/material")(); materialColorsWithTransparent = inc("/lib/colors/materialColorsWithTransparent")(); animalColors = inc("/lib/colors/animal")(); shoeOptionParams = [ { name: "j", price: 1 }, { name: "k", price: 1 }, { name: "l", price: 1 }, { name: "u", price: 2 }, { name: "v", price: 2 }, { name: "s", price: 5 }, { name: "t", price: 5 }, { name: "m", price: 10 }, { name: "n", price: 10 }, { name: "o", price: 10 }, { name: "p", price: 10 }, { name: "q", price: 10 }, { name: "r", price: 10 }, { name: "b", price: 10 }, { name: "g", price: 10 }, { name: "h", price: 10 }, { name: "c", price: 15 }, { name: "e", price: 15 }, { name: "f", price: 25 }, { name: "d", price: 50 }, { name: "ac", price: 25, plusOnly: true, newBadgeUntil: "2021-02-31" }, { name: "z", price: 50, plusOnly: true, newBadgeUntil: "2021-02-31" }, { name: "x", price: 50, plusOnly: true, newBadgeUntil: "2021-02-31" }, { name: "y", price: 50, plusOnly: true, newBadgeUntil: "2021-02-31" }, { name: "aa", price: 50, plusOnly: true, newBadgeUntil: "2021-02-31" }, { name: "ad", price: 50, plusOnly: true, newBadgeUntil: "2021-02-31" }, { name: "ae", price: 50, plusOnly: true, newBadgeUntil: "2021-02-31" }, { name: "ag", price: 50, plusOnly: true, newBadgeUntil: "2021-02-31" }, { name: "ah", price: 50, plusOnly: true, newBadgeUntil: "2021-02-31" }, { name: "ab", price: 100, plusOnly: true, newBadgeUntil: "2021-02-31" }, { name: "af", price: 100, plusOnly: true, newBadgeUntil: "2021-02-31" } ]; necklaceOptionParams = [ { name: "a", price: 5 }, { name: "b", price: 5 }, { name: "c", price: 5 }, { name: "d", price: 10 }, { name: "y", price: 10 }, { name: "e", price: 10 }, { name: "f", price: 10 }, { name: "g", price: 10 }, { name: "w", price: 10 }, { name: "x", price: 15 }, { name: "aa", price: 15 }, { name: "ab", price: 20 }, { name: "z", price: 20, plusOnly: true }, { name: "h", price: 20 }, { name: "i", price: 20 }, { name: "j", price: 25 }, { name: "k", price: 25 }, { name: "l", price: 25 }, { name: "m", price: 25 }, { name: "n", price: 25 }, { name: "o", price: 25 }, { name: "p", price: 25 }, { name: "q", price: 25 }, { name: "r", price: 25 }, { name: "s", price: 25 }, { name: "t", price: 50, plusOnly: true }, { name: "u", price: 50, plusOnly: true }, { name: "v", price: 50, plusOnly: true } ]; glassesOptionParams = [ { name: "a" }, { name: "b" }, { name: "c" }, { name: "d" }, { name: "e", price: 5 }, { name: "f", price: 5 }, { name: "g", price: 5 }, { name: "h", price: 5 }, { name: "i", price: 10 }, { name: "j", price: 10 }, { name: "k", price: 10 }, { name: "l", price: 10 }, { name: "m", price: 10 }, { name: "n", price: 10 }, { name: "o", price: 10 }, { name: "p", price: 10 }, { name: "r", price: 10 }, { name: "s", price: 10 }, { name: "z", price: 10 }, { name: "t", price: 10 }, { name: "aa", price: 10 }, { name: "ab", price: 10 }, { name: "u", price: 15 }, { name: "w", price: 25 }, { name: "x", price: 25 }, { name: "ac", price: 25 }, { name: "y", price: 50, plusOnly: true }, { name: "ad", price: 100, plusOnly: true, newBadgeUntil: "2021-02-31" } ]; maskOptionParams = [ { name: "v", price: 1 }, { name: "w", price: 3 }, { name: "a", price: 5 }, { name: "b", price: 10 }, { name: "c", price: 10 }, { name: "d", price: 15 }, { name: "e", price: 15 }, { name: "t", price: 25 }, { name: "s", price: 25 }, { name: "x", price: 25 }, { name: "snowman", price: 25, plusOnly: true, newBadgeUntil: "2021-02-31" }, { name: "f", price: 50, plusOnly: true }, { name: "g", price: 50, plusOnly: true }, { name: "h", price: 50, plusOnly: true }, { name: "i", price: 50, plusOnly: true }, { name: "j", price: 50, plusOnly: true }, { name: "k", price: 50, plusOnly: true }, { name: "l", price: 50, plusOnly: true }, { name: "m", price: 50, plusOnly: true }, { name: "n", price: 50, plusOnly: true }, { name: "o", price: 50, plusOnly: true }, { name: "p", price: 50, plusOnly: true }, { name: "q", price: 50, plusOnly: true }, { name: "r", price: 50, plusOnly: true }, { name: "z", price: 75 }, { name: "za", price: 100, plusOnly: true }, { name: "ab" }, { name: "ac", price: 1 }, { name: "ad", price: 5 }, { name: "aa", price: 20 }, { name: "ae", price: 100, plusOnly: true, newBadgeUntil: "2021-02-31" } ]; headgearOptionParams = [ { name: "flower", price: 1 }, { name: "headband", price: 1 }, { name: "sweat_band", price: 1 }, { name: "basque", price: 1 }, { name: "hat", price: 1 }, { name: "bavarian", price: 1 }, { name: "pirate_band", price: 5 }, { name: "pirate_d", price: 5 }, { name: "basecap", price: 5 }, { name: "cap", price: 5 }, { name: "cap_reverse", price: 5 }, { name: "felt_hat", price: 5 }, { name: "homburg", price: 5, blankIcon: true }, { name: "melon", price: 5 }, { name: "woolhat", price: 5 }, { name: "woolhat_2", price: 10 }, { name: "woolhat_3", price: 15 }, { name: "woolhat_4", price: 25 }, { name: "tophat", price: 5 }, { name: "lady_hat_1", price: 5 }, { name: "lady_hat_2", price: 10 }, { name: "lady_hat_3", price: 10 }, { name: "lady_hat_4", price: 10 }, { name: "lady_hat_5", price: 10 }, { name: "lady_hat_6", price: 10, plusOnly: true }, { name: "tophat_big", price: 10 }, { name: "agent", price: 10, plusOnly: true }, { name: "cowboy", price: 10 }, { name: "desert", price: 10 }, { name: "sheikh", price: 10 }, { name: "eskimo", price: 10 }, { name: "cape", price: 15 }, { name: "turkish", price: 10 }, { name: "russian", price: 10 }, { name: "inka", price: 10 }, { name: "chinese", price: 10 }, { name: "princess", price: 10 }, { name: "skeleton", price: 10, plusOnly: true }, { name: "hairring_robot", price: 10, plusOnly: true }, { name: "hairring_star", price: 10, plusOnly: true }, { name: "hairring_ball", price: 10 }, { name: "hairring_alien_1", price: 10 }, { name: "hairring_alien_2", price: 10 }, { name: "hairring_frog", price: 10, plusOnly: true }, { name: "hairring_cat", price: 10, plusOnly: true }, { name: "hairring_animal_1", price: 10 }, { name: "hairring_animal_2", price: 10 }, { name: "rabbit", price: 10, plusOnly: true }, { name: "mickey", price: 10 }, { name: "party", price: 15 }, { name: "harlekin", price: 25, plusOnly: true }, { name: "feather1", price: 15 }, { name: "feather2", price: 15, plusOnly: true }, { name: "feather3", price: 15, plusOnly: true }, { name: "witch", price: 15, plusOnly: true }, { name: "pirate_a", price: 15, plusOnly: true }, { name: "pirate_b", price: 25, plusOnly: true }, { name: "pirate_c", price: 25, plusOnly: true }, { name: "carnival", price: 25, plusOnly: true }, { name: "headphones", price: 25, plusOnly: true }, { name: "crown", price: 50, plusOnly: true }, { name: "wrap", price: 25, plusOnly: true, newBadgeUntil: "2021-02-31" }, { name: "cap_sloppy", price: 25, plusOnly: true, newBadgeUntil: "2021-02-31" }, { name: "snowman", price: 25, plusOnly: true, newBadgeUntil: "2021-02-31" } ]; coat = { labelId: "coat", optional: true, c1: materialColors, c2: materialColors, layers: ["body_coat-group_1", "body_coat-group_2"], previewView: "coat", defaultColor: { c1: "red.500", c2: "red.700" }, optionParams: [ { name: "b", price: 25 }, { name: "c", price: 25, plusOnly: true }, { name: "vampire", price: 50, plusOnly: true }, { name: "penguin", price: 50, plusOnly: true }, { name: "snowman", price: 50, plusOnly: true, newBadgeUntil: "2021-02-31" }, { name: "a", price: 50, plusOnly: true }, { name: "d", price: 100, plusOnly: true, newBadgeUntil: "2021-02-31" }, { name: "e", price: 100, plusOnly: true, newBadgeUntil: "2021-02-31" }, { name: "f", price: 100, plusOnly: true, newBadgeUntil: "2021-02-31" } ] }; vest = { labelId: "vest", optional: true, c1: materialColors, c2: materialColors, c3: materialColors, layers: ["vest"], previewView: "coat", defaultColor: { c1: "blue.500", c2: "blue.700", c3: "yellow.700" }, optionParams: [ { name: "c" }, { name: "d", price: 15, plusOnly: true }, { name: "a", price: 25, plusOnly: true }, { name: "b", price: 25, plusOnly: true }, { name: "xmas", price: 25, plusOnly: true } ] }; return { head: { type: type || defaultType, children: { human: { children: { skin: { labelId: "skin", c1: skinColors, layers: ["head_human_skin"], previewView: "portrait", isRandomPart: true, defaultColor: { c1: "CB9662" } }, eyebrows: { labelId: "eyebrows", c1: hairColors, layers: ["head_human_eyebrows"], previewView: "eyeBrow", isRandomPart: true, defaultColor: { c1: "996343" }, optionParams: [ { name: "f", isRandomOption: false, plusOnly: true, newBadgeUntil: "2021-02-31" }, { name: "g", isRandomOption: false, plusOnly: true, newBadgeUntil: "2021-02-31" } ] }, eyes: { labelId: "eyes", c1: eyeColors, c2: hairColors, layers: ["head_human_eyes"], previewView: "eye", isRandomPart: true, randomColors: { c1: eyeColors.slice(0, 20), c2: hairColors }, defaultColor: { c1: "080503", c2: "6D4730" }, optionParams: [ { name: "closed", isRandomOption: false }, { name: "animal", isRandomOption: false } ] }, mouth: { labelId: "mouth", c1: hairColors, c2: materialColors, layers: ["head_human_mouth"], previewView: "mouth", isRandomPart: true, defaultColor: { c1: "C27D55", c2: "grey.500" }, optionParams: [ { name: "friendly", 'default': true }, { name: "friendly_2", newBadgeUntil: "2021-04-31" }, { name: "friendly_3", newBadgeUntil: "2021-04-31" }, { name: "friendly_4", isRandomOption: false, price: 10, plusOnly: true, newBadgeUntil: "2021-04-31" }, { name: "neutral" }, { name: "neutral_2", newBadgeUntil: "2021-04-31" }, { name: "neutral_3", newBadgeUntil: "2021-04-31" }, { name: "neutral_4", isRandomOption: false, price: 10, plusOnly: true, newBadgeUntil: "2021-04-31" }, { name: "laugh" }, { name: "laugh_2", newBadgeUntil: "2021-04-31" }, { name: "laugh_3", newBadgeUntil: "2021-04-31" }, { name: "laugh_4", isRandomOption: false, price: 10, plusOnly: true, newBadgeUntil: "2021-04-31" }, { name: "braces", isRandomOption: false }, { name: "braces_2", isRandomOption: false, newBadgeUntil: "2021-04-31" }, { name: "braces_3", isRandomOption: false, newBadgeUntil: "2021-04-31" }, { name: "braces_4", isRandomOption: false, price: 10, plusOnly: true, newBadgeUntil: "2021-04-31" }, { name: "cry", isRandomOption: false }, { name: "cry_2", isRandomOption: false, newBadgeUntil: "2021-04-31" }, { name: "cry_3", isRandomOption: false, newBadgeUntil: "2021-04-31" }, { name: "cry_4", isRandomOption: false, price: 10, plusOnly: true, newBadgeUntil: "2021-04-31" }, { name: "sad", isRandomOption: false }, { name: "sad_2", isRandomOption: false, newBadgeUntil: "2021-04-31" }, { name: "sad_3", isRandomOption: false, newBadgeUntil: "2021-04-31" }, { name: "sad_4", isRandomOption: false, price: 10 }, { name: "vampire", isRandomOption: false, price: 10, newBadgeUntil: "2021-04-31" }, { name: "vampire_2", isRandomOption: false, price: 10, newBadgeUntil: "2021-04-31" }, { name: "vampire_3", isRandomOption: false, price: 10, newBadgeUntil: "2021-04-31" }, { name: "vampire_4", isRandomOption: false, price: 25, plusOnly: true, newBadgeUntil: "2021-04-31" }, { name: "afro_friendly", notPublic: true }, { name: "female_friendly", notPublic: true }, { name: "vampire", notPublic: true }, { name: "female", notPublic: true }, { name: "female_fat", notPublic: true }, { name: "female_slim", notPublic: true }, { name: "female_slim_angry", notPublic: true }, { name: "female_teeth_slim", notPublic: true }, { name: "female_teeth_fat", notPublic: true }, { name: "rhubarb_a", notPublic: true }, { name: "rhubarb_b", notPublic: true }, { name: "rhubarb_c", notPublic: true }, { name: "rhubarb_d", notPublic: true }, { name: "rhubarb_e", notPublic: true }, { name: "rhubarb_f", notPublic: true }, { name: "rhubarb_g", notPublic: true }, { name: "rhubarb_h", notPublic: true }, { name: "rhubarb_x", notPublic: true } ] }, makeup: { labelId: "makeup", c1: materialColors, c2: materialColors, c3: materialColors, layers: ["makeup"], previewView: "portrait", optional: true, defaultColor: { c1: "red.500", c2: "blue.500", c3: "pink.500" }, optionParams: [ { name: "cheeks" }, { name: "clown", price: 15, plusOnly: true } ] }, skinCondition: { labelId: "skinCondition", c1: hairColors, layers: ["skin_condition"], previewView: "portrait", optional: true, defaultColor: { c1: "FFF7E0" }, optionParams: [ { name: "vitiligio_a", newBadgeUntil: "2021-02-31" }, { name: "vitiligio_b", newBadgeUntil: "2021-02-31" }, { name: "freckles", newBadgeUntil: "2021-02-31" }, { name: "acne", newBadgeUntil: "2021-02-31" } ] }, hair: { labelId: "hair", optional: true, c1: hairColors, layers: ["head_human_hair"], previewView: "portrait", defaultColor: { c1: "6D4730" }, isRandomPart: true, optionParams: [ { name: "a", 'default': true }, { name: "az", isRandomOption: false, plusOnly: true }, { name: "ba", isRandomOption: false, plusOnly: true, newBadgeUntil: "2021-02-31" } ] }, hairBack: { labelId: "backhair", optional: true, c1: hairColors, layers: ["head_human_hair_back"], previewView: "portrait", defaultColor: { c1: "6D4730" } }, moustache: { labelId: "mustache", optional: true, c1: hairColors, layers: ["head_human_moustache"], previewView: "portrait", defaultColor: { c1: "6D4730" }, optionParams: [ { name: "s", price: 10, plusOnly: true }, { name: "t", price: 10, plusOnly: true }, { name: "u", price: 10, plusOnly: true } ] }, beard: { labelId: "beard", optional: true, c1: hairColors, layers: ["head_human_beard"], previewView: "half", defaultColor: { c1: "996343" } }, earRing: { labelId: "earrings", optional: true, c1: materialColors, c2: materialColors, layers: ["earring"], previewView: "earRing", defaultColor: { c1: "yellow.600", c2: "cyan.600" }, optionParams: [ { name: "simple_l", price: 1 }, { name: "simple_r", price: 1 }, { name: "simple", price: 2 }, { name: "diamond_l", price: 10 }, { name: "diamond_r", price: 10 }, { name: "diamonds", price: 20 }, { name: "stars", price: 5 }, { name: "balls", price: 5 }, { name: "flowers1", price: 5 }, { name: "flowers2", price: 5 }, { name: "feathers", price: 5 }, { name: "diamond1", price: 50, plusOnly: true }, { name: "diamond2", price: 50, plusOnly: true }, { name: "diamond3", price: 50, plusOnly: true }, { name: "creole", price: 50, plusOnly: true, newBadgeUntil: "2021-02-31" } ] }, glasses: { labelId: "glasses", optional: true, c1: materialColors, c2: materialColorsWithTransparent, layers: ["glasses"], previewView: "eyes", defaultColor: { c1: "grey.900", c2: "transparent" }, optionParams: glassesOptionParams }, mask: { labelId: "mask", optional: true, c1: materialColors, c2: materialColors, layers: ["masks"], previewView: "mask", defaultColor: { c1: "grey.700", c2: "grey.500" }, optionParams: maskOptionParams }, headgear: { labelId: "headgear", optional: true, c1: materialColors, c2: materialColors, c3: materialColors, previewView: "headgear", layers: ["headgear-group_1", "headgear-group_2"], defaultColor: { c1: "yellow.600", c2: "cyan.300", c3: "red.500" }, optionParams: headgearOptionParams } } }, monster: { children: { fur: { labelId: "fur", layers: ["head_monster"], c1: materialColors, previewView: "monsterHead", isRandomPart: true, defaultColor: { c1: "blue.500" } }, mouth: { labelId: "monsterMouth", layers: ["head_monster_mouth"], c1: materialColors, c2: materialColors, previewView: "monsterMouth", isRandomPart: true, defaultColor: { c1: "blue.400", c2: "pink.400" } }, eyes: { labelId: "eyes", layers: ["head_monster_eyes"], c1: materialColors, c2: materialColors, previewView: "eyes", isRandomPart: true, defaultColor: { c1: "blue.400", c2: "pink.400" } }, headgear: { labelId: "monsterHeadgear", layers: ["head_monster_headgear"], c1: materialColors, previewView: "portrait", isRandomPart: true, defaultColor: { c1: "pink.400" } } } }, animal: { children: { face: { labelId: "species", layers: ["head_animal"], previewView: "portrait", isRandomPart: true, optionParams: [{ name: "cow", 'default': true }] }, glasses: { labelId: "glasses", optional: true, c1: materialColors, c2: materialColorsWithTransparent, layers: ["glasses"], previewView: "eyes", defaultColor: { c1: "grey.900", c2: "transparent" }, optionParams: glassesOptionParams }, mask: { labelId: "mask", optional: true, c1: materialColors, c2: materialColors, layers: ["masks"], previewView: "mask", defaultColor: { c1: "grey.700", c2: "grey.500" }, optionParams: maskOptionParams }, headgear: { labelId: "headgear", optional: true, c1: materialColors, c2: materialColors, c3: materialColors, layers: ["headgear-group_1", "headgear-group_2"], previewView: "headgear", defaultColor: { c1: "brown.700", c2: "brown.900", c3: "brown.300" }, optionParams: headgearOptionParams } } }, robot: { labelId: "head", c1: materialColors, c2: materialColors, layers: ["head_robot"], previewView: "portrait", isRandomPart: true, defaultColor: { c1: "grey.400", c2: "red.400" } } } }, body: { type: type || defaultType, children: { human: { children: { skin: { labelId: "skinColor", c1: skinColors, layers: ["body_human_skin"], previewView: "body", isRandomPart: true, defaultColor: { c1: "CB9662" } }, neckline: { labelId: "neckline", c1: materialColors, c2: materialColors, layers: ["body_human_shirt_neckline-group_1", "body_human_shirt_neckline-group_2"], previewView: "humanBody", isRandomPart: true, defaultColor: { c1: "grey.700", c2: "grey.500" }, optionParams: [ { name: "b", 'default': true }, { name: "k", plusOnly: true, newBadgeUntil: "2021-02-31" } ] }, arms: { labelId: "sleeves", optional: true, c1: materialColors, layers: ["body_human_shirt_arms"], previewView: "arm", isRandomPart: true, defaultColor: { c1: "grey.700" }, optionParams: [ { name: "long", 'default': true }, { name: "skeleton", price: 15, plusOnly: true } ] }, design: { labelId: "shirtLogo", optional: true, c1: materialColors, c2: materialColors, layers: ["body_human_shirt_design"], previewView: "shirtDesign", defaultColor: { c1: "grey.300", c2: "grey.600" }, optionParams: [ { name: "smiley", 'default': true }, { name: "calc", price: 1 }, { name: "chemistry", price: 1 }, { name: "play", price: 1 }, { name: "circle", price: 1 }, { name: "eye", price: 1 }, { name: "mic", price: 1 }, { name: "drum", price: 1 }, { name: "clap", price: 1 }, { name: "speaker", price: 1 }, { name: "game", price: 1 }, { name: "heart", price: 1 }, { name: "star", price: 1 }, { name: "skull", price: 5 }, { name: "bike", price: 5 }, { name: "monster", price: 5 }, { name: "lamp", price: 5 }, { name: "world", price: 5 }, { name: "trophy", price: 10 }, { name: "flash", price: 10 }, { name: "crown", price: 10 }, { name: "skull_2", price: 25 }, { name: "skeleton", price: 15, plusOnly: true }, { name: "aloha", price: 25, plusOnly: true, newBadgeUntil: "2021-02-31" }, { name: "super_a", price: 50, plusOnly: true }, { name: "wing", price: 50, plusOnly: true, newBadgeUntil: "2021-02-31" }, { name: "skull_3", price: 50, plusOnly: true, newBadgeUntil: "2021-02-31" }, { name: "spider", price: 50, plusOnly: true, newBadgeUntil: "2021-02-31" }, { name: "biohazard", price: 50, plusOnly: true, newBadgeUntil: "2021-02-31" } ] }, coat: coat, vest: vest, gloves: { labelId: "gloves", optional: true, c1: materialColors, c2: materialColors, layers: ["body_gloves"], previewView: "hand", defaultColor: { c1: "brown.600", c2: "brown.300" }, optionParams: [ { name: "b", price: 5 }, { name: "d", price: 7, newBadgeUntil: "2021-02-31" }, { name: "a", price: 10 }, { name: "c", price: 15, plusOnly: true } ] }, necklace: { labelId: "necklace", optional: true, c1: materialColors, c2: materialColors, layers: ["necklace-group_1", "necklace-group_2"], previewView: "necklace", defaultColor: { c1: "yellow.600", c2: "cyan.600" }, optionParams: necklaceOptionParams }, belt: { labelId: "belt", optional: true, c1: materialColors, c2: materialColors, layers: ["belt"], previewView: "belt", defaultColor: { c1: "brown.600", c2: "brown.900" }, optionParams: [ { name: "a" }, { name: "b" }, { name: "c", price: 10, plusOnly: true } ] } } }, monster: { children: { fur: { labelId: "fur", layers: ["body_monster"], c1: materialColors, previewView: "monsterBody", isRandomPart: true, defaultColor: { c1: "blue.400" } }, arms: { labelId: "arms", layers: ["body_monster_arms"], c1: materialColors, previewView: "monsterArm", isRandomPart: true, defaultColor: { c1: "pink.500" } }, wings: { labelId: "wings", optional: true, layers: ["body_wings"], c1: materialColors, previewView: "wing", defaultColor: { c1: "cyan.500" }, optionParams: [ { name: "b", price: 25, plusOnly: true }, { name: "c", price: 25, plusOnly: true }, { name: "e", price: 25, plusOnly: true }, { name: "f", price: 25, plusOnly: true }, { name: "g", price: 25, plusOnly: true }, { name: "h", price: 25, plusOnly: true }, { name: "i", price: 25, plusOnly: true }, { name: "j", price: 25, plusOnly: true }, { name: "k", price: 25, plusOnly: true }, { name: "l", price: 25, plusOnly: true }, { name: "m", price: 25, plusOnly: true }, { name: "n", price: 25, plusOnly: true } ] } } }, animal: { children: { body: { labelId: "species", c1: animalColors, c2: animalColors, layers: ["body_animal-group_1", "body_animal-group_2"], previewView: "body", isRandomPart: true, defaultColor: { c1: "996232", c2: "CD8E61" }, optionParams: [{ name: "cow", 'default': true }] }, coat: coat, vest: vest, gloves: { labelId: "gloves", optional: true, c1: materialColors, layers: ["body_gloves"], previewView: "hand", defaultColor: { c1: "brown.600" }, optionParams: { name: "a", price: 10 } }, necklace: { labelId: "necklace", optional: true, c1: materialColors, c2: materialColors, layers: ["necklace-group_1", "necklace-group_2"], previewView: "necklace", defaultColor: { c1: "yellow.600", c2: "cyan.600" }, optionParams: necklaceOptionParams } } }, robot: { children: { torso: { labelId: "torso", c1: materialColors, c2: materialColors, layers: ["body_robot_torso"], previewView: "body", isRandomPart: true, defaultColor: { c1: "grey.400", c2: "red.400" } }, arms: { labelId: "arms", c1: materialColors, c2: materialColors, layers: ["body_robot_arms"], previewView: "armRobot", isRandomPart: true, defaultColor: { c1: "grey.400", c2: "red.400" } } } } } }, legs: { type: type || defaultType, children: { human: { children: { skin: { labelId: "skinColor", c1: skinColors, layers: ["legs_human_skin"], previewView: "legs", isRandomPart: true, defaultColor: { c1: "CB9662" } }, pants: { labelId: "pants", c1: materialColors, c2: materialColors, layers: ["legs_human_pants-group_1", "legs_human_pants-group_2"], previewView: "legs", isRandomPart: true, defaultColor: { c1: "grey.800", c2: "grey.600" }, optionParams: [ { name: "harlekin", price: 15, isRandomOption: false }, { name: "snowman", price: 25, plusOnly: true, isRandomOption: false, newBadgeUntil: "2021-02-31" }, { name: "skeleton", price: 25, plusOnly: true, isRandomOption: false }, { name: "used", price: 100, plusOnly: true, isRandomOption: false, newBadgeUntil: "2021-02-31" } ] }, skirt: { labelId: "skirt", optional: true, c1: materialColors, c2: materialColors, layers: ["legs_human_skirt"], previewView: "legs", defaultColor: { c1: "grey.600", c2: "grey.400" }, optionParams: [ { name: "skirt_fancy", price: 10, plusOnly: true }, { name: "skirt_fancy_short", price: 10, plusOnly: true }, { name: "skirt_xmas", price: 10, plusOnly: true } ] }, shoes: { labelId: "shoes", c1: materialColors, c2: materialColors, c3: materialColors, layers: ["shoes"], previewView: "shoe", defaultColor: { c1: "brown.600", c2: "brown.800", c3: "brown.300" }, optionParams: shoeOptionParams }, wheelChair: { labelId: "wheelChair", optional: true, c1: materialColors, c2: materialColors, c3: materialColors, layers: ["wheelchair"], previewView: "full", defaultColor: { c1: "grey.600", c2: "grey.400", c3: "grey.800" }, optionParams: [{ name: "default", newBadgeUntil: "2021-02-31" }] } } }, monster: { labelId: "legs", layers: ["legs_monster"], c1: materialColors, previewView: "legs", isRandomPart: true, defaultColor: { c1: "pink.500" } }, animal: { children: { skin: { labelId: "species", c1: animalColors, c2: animalColors, layers: ["legs_animal"], previewView: "legs", isRandomPart: true, defaultColor: { c1: "996232", c2: "CD8E61" }, optionParams: [{ name: "cow", 'default': true }] }, shoes: { labelId: "shoes", c1: materialColors, c2: materialColors, c3: materialColors, layers: ["shoes"], optional: true, previewView: "shoe", defaultColor: { c1: "brown.600", c2: "brown.800", c3: "brown.300" }, optionParams: shoeOptionParams } } }, robot: { labelId: "legs", c1: materialColors, c2: materialColors, layers: ["robot_legs"], previewView: "legs", isRandomPart: true, defaultColor: { c1: "grey.400", c2: "red.400" } } } }, shadow: { layers: ["shadow"], 'static': true } }; }; })(); lib/labels/_t.ls (function(){ return { coat: { de: "Mantel", en: "Coat", fr: "Manteau", es: "Abrigo", pt: "Casaco" }, vest: { de: "Weste", en_gb: "Waistcoat", en: "Vest", fr: "Gilet", es: "Chaleco", pt: "Colete" }, skin: { de: "Haut", en: "Skin", fr: "Peau", es: "Piel", pt: "Pele" }, eyebrows: { de: "Augenbrauen", en: "Eyebrows", fr: "Sourcils", es: "Cejas", pt: "Sobrancelhas" }, eyes: { de: "Augen", en: "Eyes", fr: "Yeux", es: "Ojos", pt: "Olhos" }, mouth: { de: "Mund", en: "Mouth", fr: "Bouche", es: "Boca", pt: "Boca" }, makeup: { de: "Schminke", en: "Makeup", fr: "Maquillage", es: "Maquillaje", pt: "Maquiagem" }, hair: { de: "Haare", en: "Hair (front)", fr: "Cheveux (avant)", es: "Pelo", pt: "Cabelo (frente)" }, backhair: { de: "Rückhaar", en: "Hair (back)", fr: "Cheveux (arrière)", es: "Cabellera", pt: "Cabelo (atrás)" }, mustache: { de: "Schnurrbart", en_gb: "Moustache", en: "Mustache", fr: "Moustache", es: "Bigote", pt: "Bigode" }, beard: { de: "Bart", en: "Beard", fr: "Barbe", es: "Barba", pt: "Barba" }, earrings: { de: "Ohrringe", en: "Earrings", fr: "Boucles d'oreille", es: "Aretes", pt: "Brincos" }, glasses: { de: "Brille", en: "Glasses", fr: "Lunettes", es: "Lentes", pt: "Óculos" }, mask: { de: "Maske", en: "Mask", fr: "Masque", es: "Máscaras", pt: "Máscaras" }, headgear: { de: "Kopfbedeckung", en: "Headwear", fr: "Chapeau et +", es: "Sombreros", pt: "Chapéus" }, fur: { de: "Pelz", en: "Fur", fr: "Fourrure", es: "Pelaje", pt: "Pelagem" }, monsterMouth: { de: "Maul", en: "Mouth", fr: "Bouche", es: "Boca", pt: "Boca" }, monsterHeadgear: { de: "Kopfschmuck", en: "Headdress", fr: "Cornes et +", es: "Tocado", pt: "Enfeites" }, species: { de: "Tierart", en: "Species", fr: "Espèce", es: "Especie", pt: "Espécie" }, head: { de: "Kopf", en: "Head", fr: "Tête", es: "Cabeza", pt: "Cabeça" }, skinColor: { de: "Hautfarbe", en_gb: "Skin colour", en: "Skin color", fr: "Couleur de peau", es: "Color de piel", pt: "Cor da pele" }, neckline: { de: "Oberteil", en: "Upper", fr: "Haut", es: "Camiseta", pt: "Camisa" }, sleeves: { de: "Ärmel", en: "Sleeves", fr: "Manches", es: "Mangas", pt: "Manga" }, shirtLogo: { de: "Aufdruck", en: "Print", fr: "Motif", es: "Motivo", pt: "Estampa" }, gloves: { de: "Handschuhe", en: "Gloves", fr: "Gants", es: "Guantes", pt: "Luvas" }, necklace: { de: "Halsschmuck", en: "Necklace", fr: "Collier et +", es: "Accesorios", pt: "Acessórios" }, belt: { de: "Gürtel", en: "Belt", fr: "Ceinture", es: "Cinturón", pt: "Cinto" }, arms: { de: "Arme", en: "Arms", fr: "Bras", es: "Brazos", pt: "Braços" }, wings: { de: "Flügel", en: "Wings", fr: "Ailes", es: "Alas", pt: "Asas" }, torso: { de: "Torso", en: "Torso", fr: "Torse", es: "Torso", pt: "Tronco" }, pants: { de: "Hosen", en_gb: "Trousers", en: "Pants", fr: "Pantalon", es: "Pantalones", pt: "Calças" }, skirt: { de: "Rock", en: "Skirt", fr: "Jupe", es: "Falda", pt: "Saia" }, shoes: { de: "Schuhe", en: "Shoes", fr: "Chaussures", es: "Zapatos", pt: "Sapatos" }, legs: { de: "Beine", en: "Legs", fr: "Jambes", es: "Piernas", pt: "Pernas" }, skinCondition: { de: "Merkmale", en_gb: "Features", en: "Condition", fr: "Condition", es: "Marcas", pt: "Características" }, wheelChair: { de: "Rollstuhl", en: "Wheelchair", fr: "Fauteuil roulant", es: "Silla de ruedas", pt: "Cadeira de rodas" } }; })(); lib/labels/labels.ls (function(){ var labels; return labels = function(){ return { skin: T("skin"), eyebrows: T("eyebrows"), eyes: T("eyes"), mouth: T("mouth"), makeup: T("makeup"), hair: T("hair"), backhair: T("backhair"), mustache: T("mustache"), beard: T("beard"), earrings: T("earrings"), glasses: T("glasses"), mask: T("mask"), headgear: T("headgear"), fur: T("fur"), monsterMouth: T("monsterMouth"), monsterHeadgear: T("monsterHeadgear"), species: T("species"), head: T("head"), skinColor: T("skinColor"), neckline: T("neckline"), sleeves: T("sleeves"), shirtLogo: T("shirtLogo"), gloves: T("gloves"), necklace: T("necklace"), belt: T("belt"), arms: T("arms"), wings: T("wings"), torso: T("torso"), pants: T("pants"), skirt: T("skirt"), shoes: T("shoes"), legs: T("legs"), vest: T("vest"), coat: T("coat"), skinCondition: T("skinCondition"), wheelChair: T("wheelChair") }; }; })(); lib/popup/_shared/logPromo/log.ls (function(){ return function(o){ try { return inc("/../app01/lib/util/logPromo/log", { silentError: true })(o); } catch (e$) {} }; })(); lib/popup/_shared/previewPlusAvatar/preview.ls (function(){ return function(o, typePath, type){ var avatar, view; avatar = _.cloneDeep(o.avatar); _.set(avatar, typePath, type); view = o.type + "" + o.part[0].toUpperCase() + o.part.slice(1); return Div().css({ display: "inline-block" }).html(inc("/avatar/avatar")({ view: view, avatar: avatar, entryPath: o.part }).css({ width: "8em", height: "8em", overflow: "visible" }), SvgIcon({ svg: path("/../app01/lib/svg/illustration/anton-plus.svg"), height: "1.3em", width: "1.3em" }).css({ position: "absolute", bottom: "1.1em", right: "1.1em" })); }; })(); lib/popup/_t.ls (function(){ return { continueToAntonPlus: { de: "Weiter zu ANTON-Plus", en: "Continue to ANTON Plus", fr: "Découvrir ANTON-Plus", es: "Descubrir ANTON-Plus", pt: "Descobrir ANTON-Plus" }, areYouSure: { de: "Bist du sicher?", en: "Are you sure?", fr: "Tu es sûr·e ?", es: "¿Estás segura/o?", pt: "Tem certeza?" } }; })(); lib/popup/confirm/popup.ls (function(){ return function(o){ var html, popup; if (!o.done) { o = { done: done }; } html = Div().append(Div().css({ margin: "1em" }).html(o.question || T("areYouSure")), Div().css({ margin: "1em" }).append(Button({ label: o.yesLabel || T("yes") }).css({ margin: "0.25em", minWidth: "6em" }).tap(function(){ o.done(true); return popup.close(); }), Button({ label: o.noLabel || T("no") }).css({ margin: "0.25em", minWidth: "6em" }).tap(function(){ o.done(false); return popup.close(); }))); return popup = inc("/../app01/lib/gui/popup/popup")({ html: html }); }; })(); lib/popup/deleteFavourite/_t.ls (function(){ return { favoriteDeleteSure: { de: "Möchtest du diesen Favoriten wirklich löschen?", en_gb: "Do you really want to delete this avatar from your favourites?", en: "Do you really want to delete this avatar from your favorites?", fr: "Tu veux vraiment effacer cet avatar de tes favoris ?", es: "¿Realmente quieres eliminar este avatar de tus favoritos?", pt: "Tem certeza que deseja remover este avatar de seus favoritos?" } }; })(); lib/popup/deleteFavourite/popup.ls (function(){ return function(o, e){ var deleteFavourute, html, popup; deleteFavourute = function(){ var deleteEvent; deleteEvent = log.findLast({ event: "setAvatarFavourite", uid: e.uid }); log.deleteEvent(deleteEvent); o.bottombar.update(); return o.update(); }; html = Div().css({ margin: "1em 0" }).html(inc("/avatar/avatar")({ view: "half", avatar: e.value }).css({ width: "8em", height: "8em" }), Div().css({ margin: "0.2em 1em 0.5em" }).append(T("favoriteDeleteSure")), Div().css({ display: "flex", marginTop: "1em" }).append(Button().css({ width: "6em", marginRight: "1em" }).html(T("yes")).tap(function(){ deleteFavourute(); return popup.close(); }), Button().css({ width: "6em" }).html(T("no")).tap(function(){ return popup.close(); }))); return popup = inc("/../app01/lib/gui/popup/popup")({ html: html }); }; })(); lib/popup/noCoins/_t.ls (function(){ return { notEnoughCoins: { de: "Leider hast du nicht genügend Münzen.", en: "Unfortunately, you don’t have enough coins.", fr: "Malheureusement, tu n'as pas assez de pièces.", es: "Desafortunadamente, no tienes suficientes fichas.", pt: "Infelizmente, você não tem moedas suficientes." }, price: { de: "Preis:", en: "Price:", fr: "Prix :", es: "Precio:", pt: "Preço" } }; })(); lib/popup/noCoins/popup.ls (function(){ return function(o, optiopnPath, option){ var previewAvatar, view, svg, s, html, popup; previewAvatar = _.cloneDeep(o.avatar); _.set(previewAvatar, optiopnPath, option.name); view = o.type + "" + o.part[0].toUpperCase() + o.part.slice(1); svg = inc("/avatar/avatar")({ view: view, avatar: previewAvatar, entryPath: o.part }); s = "5em"; html = Div().css({ margin: "1em 0" }).html(svg.css({ width: "8em", height: "8em", overflow: "visible" }).append(SvgIcon({ svg: path("/../app01/lib/svg/illustration/coin.svg"), height: "2em", width: "2em" }).css({ position: "absolute", bottom: "0.7em", right: "0.7em" }), SvgIcon({ svg: path("/../app01/lib/svg/shape/cross.svg"), color: Color.red[500], height: "2em", width: "2em" }).css({ position: "absolute", bottom: "0.7em", right: "0.7em" })), Div().css({ margin: "-0.5em 1em 0.5em" }).append(T("notEnoughCoins")), Div().css({ display: "flex" }).append(Div().css({ marginRight: "0.2em" }).html(T("price")), Div().css({ marginRight: "0.2em" }).css({ color: Color.orange[300] }).html(option.price), SvgIcon({ svg: path("/../app01/lib/svg/illustration/coin.svg"), width: "1em" })), Button().css({ width: "6em", marginTop: "1em" }).html(T("ok")).tap(function(){ return popup.close(); })); return popup = inc("/../app01/lib/gui/popup/popup")({ html: html }); }; })(); lib/popup/noPlus/_t.ls (function(){ return { antonPlusNeeded: { de: "Für diese Funktion wird ANTON-Plus benötigt.", en: "You need ANTON Plus to use this feature.", fr: "Tu dois avoir ANTON-Plus pour utiliser cette fonction.", es: "Para utilizar esta función necesitas ANTON-Plus.", pt: "Para utilizar esta função você precisa de ANTON-Plus." } }; })(); lib/popup/noPlus/button/button.ls (function(){ return function(type){ var tap; tap = function(){ app.currentPopup.close(); inc("../../_shared/logPromo/log")({ event: "promoPlus_popupStopAvatarTop_click" }); return startPage({ path: path("/../app01/pages/static/antonPlus/1_products/page"), animation: "slideUp", params: { referrer: "avatarType_" + type } }); }; return Button(T("continueToAntonPlus")).tap(tap); }; })(); lib/popup/noPlus/popup.ls (function(){ return function(o, typePath, type){ var logPromo, div; logPromo = inc("../_shared/logPromo/log"); logPromo({ event: "promoPlus_popupStopAvatarTop", isReferrer: true, avatarType: type }); div = Div().css({ margin: "1em 0" }).html(inc("../_shared/previewPlusAvatar/preview")(o, typePath, type), inc("text/text")(), inc("button/button")(type)); return inc("/../app01/lib/gui/popup/popup")({ html: div, onClose: function(type){ if (type === "outside" || type === "icon") { return logPromo({ event: "promoPlus_popupStopAvatarTop_close" }); } } }); }; })(); lib/popup/noPlus/text/text.ls (function(){ return function(){ return Div().css({ margin: "-0.5em 1em 1em" }).append(T("antonPlusNeeded")); }; })(); lib/popup/noPlusFavourite/_t.ls (function(){ return { antonPlusNeeded: { de: "Um mehr als 3 Avatar-Favoriten abzuspeichern, benötigst du ANTON-Plus.", en_gb: "You need ANTON Plus if you would like to save more than 3 of your favourite avatars.", en: "You need ANTON Plus if you would like to save more than 3 favorite avatars.", fr: "Pour enregistrer plus de 3 avatars favoris, tu dois avoir ANTON-Plus.", es: "Para poder guardar más de 3 avatares favoritos necesitas ANTON-Plus.", pt: "Para salvar mais do que 3 avatares favoritos, você precisa de ANTON-Plus." } }; })(); lib/popup/noPlusFavourite/button/button.ls (function(){ return function(){ var tap; tap = function(){ app.currentPopup.close(); inc("../../_shared/logPromo/log")({ event: "promoPlus_popupStopAvatarFavourite_click" }); return startPage({ path: path("/../app01/pages/static/antonPlus/1_products/page"), animation: "slideUp", params: { referrer: "avatarFavourite" } }); }; return Button(T("continueToAntonPlus")).tap(tap); }; })(); lib/popup/noPlusFavourite/popup.ls (function(){ return function(o){ var logPromo, div; logPromo = inc("../_shared/logPromo/log"); logPromo({ event: "promoPlus_popupStopAvatarFavourite", isReferrer: true }); div = Div().css({ margin: "1em 0" }).html(SvgIcon({ svg: path("/../app01/lib/svg/illustration/anton-plus.svg"), width: "4em", height: "4em" }).css({ marginBottom: "1em" }), inc("text/text")(), inc("button/button")()); return inc("/../app01/lib/gui/popup/popup")({ html: div, onClose: function(type){ if (type === "outside" || type === "icon") { return logPromo({ event: "promoPlus_popupStopAvatarFavourite_close" }); } } }); }; })(); lib/popup/noPlusFavourite/text/text.ls (function(){ return function(){ return Div().css({ margin: "-0.5em 1em 1em" }).append(T("antonPlusNeeded")); }; })(); lib/popup/noPlusOption/_t.ls (function(){ return { antonPlusNeeded: { de: "Für diese Funktion wird ANTON-Plus benötigt.", en: "You need ANTON Plus to use this feature.", fr: "Tu dois avoir ANTON-Plus pour utiliser cette fonction.", es: "Para utilizar esta función necesitas ANTON-Plus.", pt: "Para utilizar esta função você precisa de ANTON-Plus." } }; })(); lib/popup/noPlusOption/button/button.ls (function(){ return function(o, option){ var tap; tap = function(){ app.currentPopup.close(); inc("../../_shared/logPromo/log")({ event: "promoPlus_popupStopAvatarOption_click" }); return startPage({ path: path("/../app01/pages/static/antonPlus/1_products/page"), animation: "slideUp", params: { referrer: "avatarOption_" + o.type + "_" + option.name } }); }; return Button(T("continueToAntonPlus")).tap(tap); }; })(); lib/popup/noPlusOption/popup.ls (function(){ return function(o, optionPath, option){ var logPromo, div; logPromo = inc("../_shared/logPromo/log"); logPromo({ event: "promoPlus_popupStopAvatarOption", isReferrer: true, avatarOption: optionPath + "/" + option.name }); div = Div().css({ margin: "1em 0" }).html(inc("../_shared/previewPlusAvatar/preview")(o, optionPath, option.name), inc("text/text")(), inc("button/button")(o, option)); return inc("/../app01/lib/gui/popup/popup")({ html: div, onClose: function(type){ if (type === "outside" || type === "icon") { return logPromo({ event: "promoPlus_popupStopAvatarOption_close" }); } } }); }; })(); lib/popup/noPlusOption/text/text.ls (function(){ return function(){ return Div().css({ margin: "-0.5em 1em 1em" }).append(T("antonPlusNeeded")); }; })(); lib/popup/prompt/popup.ls (function(){ return function(o){ var html, popup; html = Div().append(Div().css({ margin: "1em" }).html(o.message || T("areYouSure")), Div().css({ margin: "1em" }).append(Button({ label: o.okLabel || T("ok") }).css({ margin: "0.25em", minWidth: "6em" }).tap(function(){ return popup.close(); }))); return popup = inc("/../app01/lib/gui/popup/popup")({ html: html, onClose: o.done }); }; })(); lib/popup/purchase/_t.ls (function(){ return { buyThisObject: { de: "Möchtest du dieses Objekt kaufen?", en: "Do you want to buy this object?", fr: "Veux-tu acheter cet objet ?", es: "¿Quieres comprar este objeto?", pt: "Você quer comprar este objeto?" }, price: { de: "Preis:", en: "Price:", fr: "Prix :", es: "Precio:", pt: "Preço:" } }; })(); lib/popup/purchase/popup.ls (function(){ return function(o, optionPath, option, done){ var previewAvatar, view, svg, html, popup; previewAvatar = _.cloneDeep(o.avatar); _.set(previewAvatar, optionPath, option.name); view = o.type + "" + o.part[0].toUpperCase() + o.part.slice(1); svg = inc("/avatar/avatar")({ view: view, avatar: previewAvatar, entryPath: o.part }); html = Div({ margin: "1em 0" }).html(svg.css({ width: "8em", height: "8em" }), Div({ margin: "-1em 1em 0.5em", backgroundColor: Color.white }).html(T("buyThisObject")), Div({ display: "flex" }).html(Div({ marginRight: "0.2em" }).html(T("price")), Div({ marginRight: "0.2em" }).css({ color: Color.orange[300] }).html(option.price), SvgIcon({ svg: path("/../app01/lib/svg/illustration/coin.svg"), width: "1em" })), Div({ display: "flex", marginTop: "1em" }).html(Button().css({ width: "6em", marginRight: "1em" }).html(T("yes")).tap(function(){ done(true); return popup.close(); }), Button().css({ width: "6em" }).html(T("no")).tap(function(){ done(false); return popup.close(); }))); return popup = inc("/../app01/lib/gui/popup/popup")({ html: html }); }; })(); lib/util/addByNameToArray/add.ls (function(){ return function(a){ var byName, i$, len$, i, el; byName = {}; for (i$ = 0, len$ = a.length; i$ < len$; ++i$) { i = i$; el = a[i$]; byName[el != null ? el.name : void 8] = el; } a.byName = byName; return a; }; })(); lib/util/avatarFullCropped/avatar.ls (function(){ return function(avatarDescription, type, done){ var avatar, svgString, dataUrl; avatar = inc("/lib/util/renderAvatar/render")({ avatar: avatarDescription, view: "full" }); svgString = inc("/lib/util/calcSvgString/calc")(avatar, true); dataUrl = inc("/lib/util/calcDataUrl/calc")(svgString); return inc("getCropData/get")(dataUrl, function(cropData){ var a, svgString, dataUrl; a = inc("getCroppedSvg/get")(avatar, cropData); if (type === "dataUrl") { svgString = inc("/lib/util/calcSvgString/calc")(a, true); dataUrl = inc("/lib/util/calcDataUrl/calc")(svgString); return done(dataUrl); } else if (type === "svgString") { svgString = inc("/lib/util/calcSvgString/calc")(a, true); return done(svgString); } else { return done(a); } }); }; })(); lib/util/avatarFullCropped/getCropData/calc/calc.ls (function(){ return function(ctx, canvas){ var rowBlank, columnBlank, width, height, imageData, top, bottom, left, right; rowBlank = function(imageData, width, y){ var x; x = 0; while (x < width) { if (imageData.data[y * width * 4 + x * 4 + 3] !== 0) { return false; } ++x; } return true; }; columnBlank = function(imageData, width, x, top, bottom){ var y; y = top; while (y < bottom) { if (imageData.data[y * width * 4 + x * 4 + 3] !== 0) { return false; } ++y; } return true; }; width = canvas.width; height = canvas.height; imageData = ctx.getImageData(0, 0, width, height); top = 0; bottom = imageData.height; left = 0; right = imageData.width; while (top < bottom && rowBlank(imageData, width, top)) { ++top; } while (bottom - 1 > top && rowBlank(imageData, width, bottom - 1)) { --bottom; } while (left < right && columnBlank(imageData, width, left, top, bottom)) { ++left; } while (right - 1 > left && columnBlank(imageData, width, right - 1, top, bottom)) { --right; } return { top: top, bottom: height - bottom, left: left, right: width - right }; }; })(); lib/util/avatarFullCropped/getCropData/get.ls (function(){ return function(dataUrl, done){ var canvas, ctx, img; canvas = document.createElement('canvas'); canvas.width = 1000; canvas.height = 1000; ctx = canvas.getContext("2d"); img = new Image(); img.onload = function(){ var cropData; ctx.drawImage(img, 0, 0); cropData = inc("calc/calc")(ctx, canvas); return done(cropData); }; return img.src = dataUrl; }; })(); lib/util/avatarFullCropped/getCroppedSvg/get.ls (function(){ return function(avatar, cropData){ var svg, width, height; svg = avatar.findFirst("svg"); width = 1000 - cropData.left - cropData.right; height = 1000 - cropData.top - cropData.bottom; svg.attr({ viewBox: cropData.left + " " + cropData.top + " " + width + " " + height, style: "", width: width + "px", height: height + "px" }); return avatar; }; })(); lib/util/avatarWithCache/avatar.ls (function(){ var cached, timeout; cached = {}; timeout = undefined; return function(o){ var cacheId, src, noCache, avatar, svgString, image; cacheId = inc("/lib/util/md5/md5")(JSON.stringify(o.avatar) + o.view + o.entryPath); src = cached[cacheId]; if (!src) { noCache = true; avatar = inc("/lib/util/renderAvatar/render")(o); svgString = inc("/lib/util/calcSvgString/calc")(avatar); src = inc("/lib/util/calcDataUrl/calc")(svgString); cached[cacheId] = src; } image = document.createElement("img").addClass("avatar").attr({ src: src }).css({ display: "inline-block", width: "2.5em", height: "2.5em" }); requestAnimationFrame(function(){ return inc("cleanupCache/cache")(cached); }); return image; }; })(); lib/util/avatarWithCache/cleanupCache/cache.ls (function(){ var timeout; timeout = undefined; return function(cached){ var max, delay, onTimeout; max = 200; delay = 2000; onTimeout = function(){ var i, x, n, results$ = []; timeout = undefined; i = 0; x = _.keys(cached).length - max; for (n in cached) { i++; delete cached[n]; if (i >= x) { break; } } return results$; }; if (!timeout && _.keys(cached).length >= max) { return timeout = setTimeout(onTimeout, delay); } }; })(); lib/util/avatarWithoutCache/avatar.ls (function(){ return function(o){ var avatar; avatar = inc("/lib/util/renderAvatar/render")(o); return avatar; }; })(); lib/util/calcAvatarLayers/calc.ls (function(){ return function(avatarMap, avatar, entryPath, greyScale){ var a, p, layers, process; a = entryPath != null ? _.get(avatar, entryPath) : { children: avatar }; p = entryPath != null ? entryPath.split(".children.") : []; layers = []; process = function(item, path){ var name, ref$, child, newPath, results$ = []; if (item.children) { for (name in ref$ = item.children) { child = ref$[name]; newPath = path.slice(); newPath.push(name); results$.push(process(child, newPath)); } return results$; } else { return inc("item/item")(item, path, avatar, avatarMap, layers, greyScale); } }; process(a, p); return layers; }; })(); lib/util/calcAvatarLayers/item/item.ls (function(){ return function(item, path, avatar, avatarMap, layers, greyScale){ var avatarPath, avatarLayers, previewColors, i$, len$, avatarLayer, layerClass, avatarItem, mapItem, optionClass, layer, key, value, ref$, results$ = []; avatarPath = path.join(".children."); avatarLayers = _.ensureArray(_.get(avatarMap, avatarPath).layers); previewColors = [Color.grey[400], Color.grey[500], Color.grey[600], Color.grey[700], Color.grey[800]]; for (i$ = 0, len$ = avatarLayers.length; i$ < len$; ++i$) { avatarLayer = avatarLayers[i$]; layerClass = ".layer-" + avatarLayer; avatarItem = _.get(avatar, avatarPath); mapItem = _.get(avatarMap, avatarPath); optionClass = avatarItem.option; if (layerClass && optionClass) { layer = { layerClass: layerClass, optionClass: ".opt-" + optionClass }; for (key in avatarItem) { value = avatarItem[key]; if (key.length === 2 && key[0] === "c") { layer[key] = greyScale ? previewColors[key[1]] : (ref$ = _.find(mapItem[key], { name: value })) != null ? ref$.color : void 8; } } results$.push(layers.push(layer)); } } return results$; }; })(); lib/util/calcAvatarSize/calc.ls (function(){ return function(zoom){ var t, b, w, h, s; zoom = zoom || 1; t = app.currentPage.top.height(); b = app.currentPage.bottom.height(); w = _.min([_.round(body.width() * zoom), 600]); h = _.min([_.round(body.height() * zoom - t - b), 600]); return s = _.min([w, h]); }; })(); lib/util/calcAvatarTransform/calc.ls (function(){ var transforms; transforms = inc("transforms/transforms")(); return function(view){ var t; return t = transforms[view] || transforms['default']; }; })(); lib/util/calcAvatarTransform/transforms/transforms.ls (function(){ return function(){ var transforms, p, t; transforms = { 'default': "y(-6%) s(1.25)", portrait: "y(60%) s(3.8)", half: "y(35%) s(3)", head: "y(60%) s(3.8)", humanHead: "y(60%) s(3.8)", animalHead: "y(60%) s(3.8)", monsterHead: "y(60%) s(3.8)", robotHead: "y(60%) s(3.8)", legs: "y(-80%) s(3.5)", humanLegs: "y(-80%) s(3.5)", animalLegs: "y(-80%) s(3.5)", monsterLegs: "y(-80%) s(3.5)", robotLegs: "y(-80%) s(3.5)", body: "y(-11%) s(3.2)", humanBody: "y(-11%) s(3.2)", animalBody: "y(-11%) s(3.2)", monsterBody: "y(-15%) s(2.5)", robotBody: "y(-2%) s(2.7)", headgear: "y(43%) s(3)", earRing: "x(110%) y(226%) s(19)", eye: "x(55%) y(293%) s(19)", eyeBrow: "x(63%) y(379%) s(22)", eyes: "y(124%) s(8)", mask: "y(95%) s(6)", mouth: "y(208%) s(20)", neckline: "y(7%) s(7)", arm: "x(34%) y(-1%) s(5)", monsterArm: "x(75%) y(-13%) s(4)", armRobot: "x(75%) y(-13%) s(4)", shirtDesign: "y(-18%) s(7)", hand: "x(85%) y(-84%) s(9)", monsterMouth: "y(71%) s(8)", wing: "y(3%) x(72%) s(5)", coat: "y(-20%) s(3)", necklace: "y(31%) s(10.2)", shoe: "x(48%) y(-282%) s(9.5)", belt: "y(-80%) s(7)" }; for (p in transforms) { t = transforms[p]; t = t.replace("x(", "translateX("); t = t.replace("y(", "translateY("); t = t.replace("s(", "scale("); transforms[p] = t; } return transforms; }; })(); lib/util/calcDataUrl/calc.ls (function(){ return function(svgString){ var src; return src = "data:image/svg+xml;base64," + window.btoa(svgString); }; })(); lib/util/calcItemOptions/calc.ls (function(){ var cache; cache = {}; return function(layerMap, mapItem, itemPath){ var optionsByName, i$, ref$, len$, layerName, layerClass, layer, j$, ref1$, o, key$, option, params, options, res$, defaultOption; if (cache[itemPath]) { return cache[itemPath]; } layerMap == null && (layerMap = inc("/lib/util/parseLayerMap/parse")()); optionsByName = {}; if (mapItem.optional) { optionsByName["none"] = { name: "none" }; } for (i$ = 0, len$ = (ref$ = mapItem.layers).length; i$ < len$; ++i$) { layerName = ref$[i$]; layerClass = ".layer-" + layerName; layer = layerMap.byClass[layerClass]; for (j$ = (ref1$ = layer.options).length - 1; j$ >= 0; --j$) { o = ref1$[j$]; optionsByName[key$ = o.name] == null && (optionsByName[key$] = {}); option = optionsByName[o.name]; option.name = o.name; option.layers == null && (option.layers = []); option.layers.push({ layer: layer, svg: o }); } } for (i$ = 0, len$ = (ref$ = _.ensureArray(mapItem.optionParams)).length; i$ < len$; ++i$) { params = ref$[i$]; option = optionsByName[params.name]; if (option) { _.extend(option, params); } else { debug("option missing " + itemPath + " " + params.name); } } res$ = []; for (i$ in optionsByName) { o = optionsByName[i$]; res$.push(o); } options = res$; defaultOption = _.find(options, { 'default': true }) || options[0]; defaultOption['default'] = true; options.defaultOption = defaultOption; options.byName = optionsByName; return cache[itemPath] = options; }; })(); lib/util/calcSvgString/calc.ls (function(){ return function(avatar, removeStyles){ var a, svgString; a = avatar.findFirst("svg"); a.attr({ xmlns: "http://www.w3.org/2000/svg" }); if (removeStyles) { a.removeAttribute("style"); } svgString = a.outerHTML; svgString = _.replaceAll(svgString, "lsg:", "lsg_"); return svgString; }; })(); lib/util/completeAvatar/complete.ls (function(){ return function(layerMap, avatarMap, avatar){ var avatarCompleted, process; avatarCompleted = {}; process = function(item, path){ var name, ref$, child, newPath, typePath, avatarType, type, results$ = []; if (item.children) { for (name in ref$ = item.children) { child = ref$[name]; newPath = path.slice(); newPath.push(name); if (item.type) { typePath = path.join('.children.') + ".type"; avatarType = _.get(avatar, typePath); type = avatarType || item.type; } if (!item.type || name === type) { results$.push(process(child, newPath)); } } return results$; } else { return inc("item/item")(item, path, avatar, avatarCompleted, layerMap); } }; process({ children: avatarMap }, []); return avatarCompleted; }; })(); lib/util/completeAvatar/item/item.ls (function(){ return function(mapItem, path, avatar, avatarValidated, layerMap){ var currentPath, avatarItem, mapItemOptions, defaultOption, key, value, color, ref$, ref1$, ref2$; currentPath = path.join(".children."); avatarItem = _.get(avatar, currentPath); mapItemOptions = inc("/lib/util/calcItemOptions/calc")(layerMap, mapItem, currentPath); defaultOption = _.find(mapItemOptions, { 'default': true }); if (!avatarItem) { avatarItem = {}; avatarItem.option = mapItem.optional ? null : defaultOption.name; } for (key in mapItem) { value = mapItem[key]; if (key.length === 2 && key[0] === "c") { color = ((ref$ = _.find(mapItem[key], { name: avatarItem[key] })) != null ? ref$.name : void 8) || ((ref1$ = _.find(mapItem[key], { name: (ref2$ = mapItem.defaultColor) != null ? ref2$[key] : void 8 })) != null ? ref1$.name : void 8) || mapItem[key][0].name; avatarItem[key] = color; } } if (!avatarItem.option && defaultOption) { avatarItem.option = defaultOption.name; } if (_.size(avatarItem)) { return _.set(avatarValidated, currentPath, avatarItem); } }; })(); lib/util/convertRgbaToHex/convert.ls (function(){ return function(rgb){ var hex; rgb = rgb.match(/^rgba?[\s+]?\([\s+]?(\d+)[\s+]?,[\s+]?(\d+)[\s+]?,[\s+]?(\d+)[\s+]?/i); hex = '#' + ('0' + parseInt(rgb[1], 10).toString(16)).slice(-2) + ('0' + parseInt(rgb[2], 10).toString(16)).slice(-2) + ('0' + parseInt(rgb[3], 10).toString(16)).slice(-2); return hex; }; })(); lib/util/darkenColor/darken.ls (function(){ return function(color, m){ var div, rgb, alpha; if (!(-1 <= m && m <= 1)) { debug("the correction factor must be between -1 and 1"); return; } body.append(div = Div().css({ visibility: "hidden", color: color })); color = inc("parseColor/parse")(div, color); rgb = color.values; alpha = color.alpha; rgb = inc("darken/darken")(rgb, m); div.remove(); return "rgba(" + rgb.join(', ') + ", " + alpha + ")"; }; })(); lib/util/darkenColor/darken/darken.ls (function(){ return function(values, m){ var red, green, blue; m *= -1; red = values[0]; green = values[1]; blue = values[2]; if (m < 0) { m += 1; red = red * m; green = green * m; blue = blue * m; } else { red = (255 - red) * m + red; green = (255 - green) * m + green; blue = (255 - blue) * m + blue; } return _.map([red, green, blue], function(v){ return _.round(v); }); }; })(); lib/util/darkenColor/parseColor/parse.ls (function(){ return function(div, color){ var values, alpha; if (!div.style.color.split(/s+/).join("").toLowerCase()) { debug(color + " is not a valid color"); return; } color = getComputedStyle(div).color; if (!_.includes(color, "rgba")) { values = color.split("(")[1].split(")")[0]; color = "rgba(" + values + ", 1)"; } values = color.match(/[.0-9]+/g); values = _.map(values, function(v){ return v.trim() * 1; }); alpha = values.pop(); return { values: values, alpha: alpha }; }; })(); lib/util/generateLayerMap/generate.ls (function(){ return function(done){ return inc("/../app01/lib/util/loadProjects/load")({ projectDescriptions: [{ project: "app01-avatar-data" }], onDone: function(){ var svg, map, layers, i$, len$, layer, c, layerSvgElement, ref$, options, j$, len1$, option, optionSvgElement, ref1$; svg = Svg({ svg: inc("/../app01-avatar-data/avatarExport.svg") }); map = JSON.parse(inc("/../app01-avatar-data/avatarLayerMap.json")); layers = map; for (i$ = 0, len$ = layers.length; i$ < len$; ++i$) { layer = layers[i$]; c = layer['class']; layerSvgElement = (ref$ = svg.findFirst(c)) != null ? ref$.cloneNode(true) : void 8; if (!layerSvgElement) { debug("layerSvgElement not found", layer); } options = layer.options; for (j$ = 0, len1$ = options.length; j$ < len1$; ++j$) { option = options[j$]; c = layer['class'] + " " + option['class']; optionSvgElement = (ref1$ = svg.findFirst(c)) != null ? ref1$.cloneNode(true) : void 8; if (optionSvgElement) { option.svg = optionSvgElement.outerHtml(); } else { debug("optionSvgElement not found", option); } } layerSvgElement.empty(); layer.svg = layerSvgElement.outerHtml(); } return done(map); } }); }; })(); lib/util/md5/external/md5.min.js !function(n){"use strict";function t(n,t){var r=(65535&n)+(65535&t),e=(n>>16)+(t>>16)+(r>>16);return e<<16|65535&r}function r(n,t){return n<>>32-t}function e(n,e,o,u,c,f){return t(r(t(t(e,n),t(u,f)),c),o)}function o(n,t,r,o,u,c,f){return e(t&r|~t&o,n,t,u,c,f)}function u(n,t,r,o,u,c,f){return e(t&o|r&~o,n,t,u,c,f)}function c(n,t,r,o,u,c,f){return e(t^r^o,n,t,u,c,f)}function f(n,t,r,o,u,c,f){return e(r^(t|~o),n,t,u,c,f)}function i(n,r){n[r>>5]|=128<>>9<<4)+14]=r;var e,i,a,h,d,l=1732584193,g=-271733879,v=-1732584194,m=271733878;for(e=0;e>5]>>>t%32&255);return r}function h(n){var t,r=[];for(r[(n.length>>2)-1]=void 0,t=0;t>5]|=(255&n.charCodeAt(t/8))<16&&(o=i(o,8*n.length)),r=0;r<16;r+=1)u[r]=909522486^o[r],c[r]=1549556828^o[r];return e=i(u.concat(h(t)),512+8*t.length),a(i(c.concat(e),640))}function g(n){var t,r,e="0123456789abcdef",o="";for(r=0;r>>4&15)+e.charAt(15&t);return o}function v(n){return unescape(encodeURIComponent(n))}function m(n){return d(v(n))}function p(n){return g(m(n))}function s(n,t){return l(v(n),v(t))}function C(n,t){return g(s(n,t))}function A(n,t,r){return t?r?s(t,n):C(t,n):r?m(n):p(n)}"function"==typeof define&&define.amd?define(function(){return A}):"object"==typeof module&&module.exports?module.exports=A:n.md5=A}(this); lib/util/md5/md5.ls (function(){ return function(s){ if (!window.md5) { inc("external/md5.min.js"); } return md5(s); }; })(); lib/util/parseAvatarMap/parse.ls (function(){ var map; map = null; return function(layerMap){ var avatarMap, process; avatarMap = inc("/lib/data/avatarMap")(); process = function(item){ var name, ref$, child, results$ = []; if (item.children) { for (name in ref$ = item.children) { child = ref$[name]; results$.push(process(child)); } return results$; } }; process({ children: avatarMap }); return avatarMap; }; })(); lib/util/parseLayerMap/parse.ls (function(){ var map, i$, len$, i, layer; map = JSON.parse(inc("/lib/data/avatarLayerMapRendered.json")); map.byClass = {}; for (i$ = 0, len$ = map.length; i$ < len$; ++i$) { i = i$; layer = map[i$]; layer.zIndexLayer = i; map.byClass[layer['class']] = layer; } return function(){ return map; }; })(); lib/util/preparePreview/item/item.ls (function(){ return function(item, path, avatar, avatarMap){ var currentPath, mapItem, avatarItem, key, value, color, ref$, ref1$, ref2$, results$ = []; currentPath = path.join(".children."); mapItem = _.get(avatarMap, currentPath); avatarItem = _.get(avatar, currentPath); for (key in mapItem) { value = mapItem[key]; if (key.length === 2 && key[0] === "c") { color = ((ref$ = _.find(mapItem[key], { name: avatarItem[key] })) != null ? ref$.name : void 8) || ((ref1$ = _.find(mapItem[key], { name: (ref2$ = mapItem.defaultColor) != null ? ref2$[key] : void 8 })) != null ? ref1$.name : void 8) || mapItem[key][0].name; results$.push(item[key] = color); } } return results$; }; })(); lib/util/preparePreview/prepare.ls (function(){ return function(avatarMap, avatar){ var avatarPreview, process; avatarPreview = _.clone(avatar); process = function(item, path){ var name, ref$, child, newPath, typePath, avatarType, type, results$ = []; if (item.children) { for (name in ref$ = item.children) { child = ref$[name]; newPath = path.slice(); newPath.push(name); if (item.type) { typePath = path.join('.children.') + ".type"; avatarType = _.get(avatar, typePath); type = avatarType || item.type; } if (!item.type || name === type) { results$.push(process(child, newPath)); } } return results$; } else { return inc("item/item")(item, path, avatar, avatarMap); } }; process({ children: avatarPreview }, []); return avatarPreview; }; })(); lib/util/randomizeAvatar/item/item.ls (function(){ return function(mapItem, path, avatarRandomized, layerMap){ var currentPath, mapItemOptions, randomOption, avatarItem, key, value, color; currentPath = path.join(".children."); mapItemOptions = inc("/lib/util/calcItemOptions/calc")(layerMap, mapItem, currentPath); mapItemOptions = _.filter(mapItemOptions, function(option){ return option.isRandomOption !== false && option.notPublic !== true && !option.plusOnly && !option.debugOnly; }); randomOption = _.sample(mapItemOptions); if (!avatarItem) { avatarItem = {}; avatarItem.option = mapItem.isRandomPart ? randomOption.name : void 8; } for (key in mapItem) { value = mapItem[key]; if (key.length === 2 && key[0] === "c") { color = mapItem.randomColors ? _.sample(mapItem.randomColors[key]).name : _.sample(mapItem[key]).name; avatarItem[key] = color; } } if (_.size(avatarItem)) { return _.set(avatarRandomized, currentPath, avatarItem); } }; })(); lib/util/randomizeAvatar/randomize.ls (function(){ return function(entryPath, typeRestrictions, avatar, layerMap, avatarMap){ var avatarMapEntry, entryPathObject, avatarRandomized, process; avatar = _.cloneDeep(avatar) || {}; layerMap = layerMap || inc("/lib/util/parseLayerMap/parse")(); avatarMap = avatarMap || inc("/lib/data/avatarMap")(); avatarMapEntry = entryPath ? _.get(avatarMap, entryPath) : { children: avatarMap }; entryPathObject = entryPath ? [entryPath] : []; avatarRandomized = {}; process = function(item, path){ var name, ref$, child, newPath, typePath, part, type, results$ = []; if (item.children) { for (name in ref$ = item.children) { child = ref$[name]; newPath = path.slice(); newPath.push(name); if (item.type) { typePath = path.join('.children.') + ".type"; part = path.join(); type = typeRestrictions != null && typeRestrictions[part] ? _.sample(typeRestrictions[part]) : _.sample(["human", "monster", "animal", "robot"]); _.set(avatarRandomized, typePath, type); } results$.push(process(child, newPath)); } return results$; } else { return inc("item/item")(item, path, avatarRandomized, layerMap); } }; process(avatarMapEntry, entryPathObject); if (entryPath) { return _.set(avatar, entryPath, _.get(avatarRandomized, entryPath)); } else { return _.assign(avatar, avatarRandomized); } }; })(); lib/util/renderAvatar/calcElements/calc.ls (function(){ return function(o){ var calcElements, avatar, map, calcHead, calcBody, calcLegs, calcLongEntryPath; calcElements = inc("calcElements/calc"); avatar = o.avatar; map = o.map; o.elements = {}; calcHead = function(){ var headType, ref$, head, ref1$; headType = ((ref$ = avatar.head) != null ? ref$.type : void 8) || "human"; head = { children: (ref1$ = {}, ref1$[headType + ""] = map.head.children[headType], ref1$) }; return calcElements(head, "head", "head", o); }; calcBody = function(){ var bodyType, ref$, body, ref1$; bodyType = ((ref$ = avatar.body) != null ? ref$.type : void 8) || "human"; body = { children: (ref1$ = {}, ref1$[bodyType + ""] = map.body.children[bodyType], ref1$) }; return calcElements(body, "body", "body", o); }; calcLegs = function(){ var ref$, legsType, legs, ref1$; if (((ref$ = o.view) === "portrait" || ref$ === "half" || ref$ === "default") || !o.view) { return; } legsType = ((ref$ = avatar.legs) != null ? ref$.type : void 8) || "human"; legs = { children: (ref1$ = {}, ref1$[legsType + ""] = map.legs.children[legsType], ref1$) }; return calcElements(legs, "legs", "legs", o); }; calcLongEntryPath = function(){ var mapItem, a, name; mapItem = _.get(map, o.entryPath); a = o.entryPath.split("."); name = _.last(a); return calcElements(mapItem, o.entryPath, name, o); }; if (!o.entryPath) { calcLegs(); calcBody(); calcHead(); } else if (o.entryPath === "head") { calcHead(); } else if (o.entryPath === "body") { calcBody(); } else if (o.entryPath === "legs") { calcLegs(); } else { calcLongEntryPath(); } return o.elements; }; })(); lib/util/renderAvatar/calcElements/calcElements/calc.ls (function(){ var f; return f = function(mapItem, path, name, o){ var name, ref$, child, newPath, results$ = []; if (mapItem.children) { for (name in ref$ = mapItem.children) { child = ref$[name]; newPath = path + ".children." + name; results$.push(f(child, newPath, name, o)); } return results$; } else { return o.elements[path] = { name: name, path: path, mapItem: mapItem, avatarItem: _.get(o.avatar, path), options: inc("/lib/util/calcItemOptions/calc")(void 8, mapItem, path) }; } }; })(); lib/util/renderAvatar/calcSvg/addElementSvgs/add.ls (function(){ return function(element, o){ var options, selectedOption, ref$, i$, ref1$, len$, l, results$ = []; options = element.options; selectedOption = options.byName[(ref$ = element.avatarItem) != null ? ref$.option : void 8] || options.defaultOption; if (!selectedOption || selectedOption.name === "none") { return; } for (i$ = 0, len$ = (ref1$ = selectedOption.layers).length; i$ < len$; ++i$) { l = ref1$[i$]; results$.push(inc("addSvgGroup/add")(o, element, l)); } return results$; }; })(); lib/util/renderAvatar/calcSvg/addElementSvgs/addSvgGroup/add.ls (function(){ return function(o, element, l){ var zIndexLastChild, ref$, svgGroupElement, i$, ref1$, len$, el, mapItem, c, lresult$, colorName, colorValue, ref2$, defaultColorName, ref3$, ref4$, ref5$, elements, e, results$ = []; zIndexLastChild = ((ref$ = o.svg.lastChild) != null ? ref$.zIndexLayer : void 8) || -1; svgGroupElement = inc("createSvgGroupElement/create")(l); if (l.layer.zIndexLayer < zIndexLastChild) { for (i$ = 0, len$ = (ref1$ = o.svg.childrenAll()).length; i$ < len$; ++i$) { el = ref1$[i$]; if (el.zIndexLayer > l.layer.zIndexLayer) { el.before(svgGroupElement); break; } } } else { o.svg.appendChild(svgGroupElement); } mapItem = element.mapItem; for (c in _.pick(mapItem, ["c1", "c2", "c3"])) { lresult$ = []; colorName = (ref1$ = element.avatarItem) != null ? ref1$[c] : void 8; colorValue = (ref2$ = mapItem[c].byName[colorName]) != null ? ref2$.color : void 8; if (!colorValue) { defaultColorName = ((ref3$ = mapItem.defaultColor) != null ? ref3$[c] : void 8) || ((ref4$ = mapItem[c][0]) != null ? ref4$.name : void 8); colorValue = (ref5$ = mapItem[c].byName[defaultColorName]) != null ? ref5$.color : void 8; } if (colorValue) { try { elements = svgGroupElement.firstChild.getElementsByClassName(c); } catch (e$) { e = e$; elements = svgGroupElement.firstChild.findAll("." + c); } for (i$ = 0, len$ = elements.length; i$ < len$; ++i$) { el = elements[i$]; lresult$.push(el.attr({ fill: colorValue })); } } results$.push(lresult$); } return results$; }; })(); lib/util/renderAvatar/calcSvg/addElementSvgs/addSvgGroup/createSvgGroupElement/create.ls (function(){ return function(l){ var svgGroupString, div, svgGroupElement; svgGroupString = l.layer.svg.replace("><", ">" + l.svg.svg + "<"); div = Div(); div.innerHTML = "" + svgGroupString + ""; svgGroupElement = div.firstChild.firstChild; svgGroupElement.zIndexLayer = l.layer.zIndexLayer; return svgGroupElement; }; })(); lib/util/renderAvatar/calcSvg/calc.ls (function(){ return function(o){ var i$, ref$, element; o.svg = document.createElementNS("http://www.w3.org/2000/svg", "svg"); o.svg.attr({ width: "1000", height: "1000", viewBox: "0 0 1000 1000" }); for (i$ in ref$ = o.elements) { element = ref$[i$]; inc("addElementSvgs/add")(element, o); } return o.svg; }; })(); lib/util/renderAvatar/render.ls (function(){ return function(o){ var div; o = { avatar: o != null ? o.avatar : void 8, map: inc("/lib/data/avatarMap")(), layerMap: inc("/lib/util/parseLayerMap/parse")(), view: (o != null ? o.view : void 8) || "portrait", entryPath: o != null ? o.entryPath : void 8, greyScale: o != null ? o.greyScale : void 8, onError: o != null ? o.onError : void 8 }; o.elements = inc("calcElements/calc")(o); o.svg = inc("calcSvg/calc")(o); div = Div().css({ overflow: "hidden", margin: "0 auto", display: "inline-block", width: "2em", height: "2em" }).append(o.svg.css({ width: "100%", height: "100%", transform: inc("/lib/util/calcAvatarTransform/calc")(o.view), transformOrigin: "50% 50%" })); return div; }; })(); lib/util/resizeAvatarSvg/resize.ls (function(){ return function(avatarSvg){ var t, b, w, h, s; t = app.currentPage.top.height(); b = app.currentPage.bottom.height(); w = _.min([_.round(body.width()), 400]); h = _.min([_.round(body.height() - t - b), 400]); s = _.min([w, h]); return avatarSvg.css({ width: s + "px", height: s + "px" }); }; })(); lib/util/validateAvatar/item/item.ls (function(){ return function(avatarItem, path, avatarMap, avatarValidated, layerMap, avatarErrors){ var errors, currentPath, mapItem, optionName, mapItemOptions, mapItemOptionValid, key, value, colorName, mapItemColors, mapItemColorValid; errors = []; currentPath = path.join(".children."); mapItem = _.get(avatarMap, currentPath); if (mapItem && !mapItem.children) { if (avatarItem.option) { optionName = avatarItem.option; mapItemOptions = inc("/lib/util/calcItemOptions/calc")(layerMap, mapItem, currentPath); mapItemOptionValid = _.find(mapItemOptions, { name: optionName }) != null; if (!mapItemOptionValid) { errors.push("option " + optionName + " not found"); delete avatarItem.option; } } for (key in avatarItem) { value = avatarItem[key]; if (key.length === 2 && key[0] === "c") { colorName = value; mapItemColors = mapItem[key]; mapItemColorValid = _.find(mapItemColors, { name: colorName }) != null; if (!mapItemColorValid) { errors.push("color " + colorName + " not found"); delete avatarItem[key]; } } } } else if (currentPath) { errors.push("mapItem not found"); } if (errors.length) { avatarErrors.push({ path: currentPath, errors: errors }); } if (_.size(avatarItem) && currentPath) { return _.set(avatarValidated, currentPath, avatarItem); } }; })(); lib/util/validateAvatar/validate.ls (function(){ return function(avatar, layerMap, avatarMap){ var avatarErrors, avatarValidated, process; avatarErrors = []; avatarValidated = {}; process = function(item, path){ var name, ref$, child, newPath, typePath, avatarType, type, results$ = []; if (item.children) { for (name in ref$ = item.children) { child = ref$[name]; newPath = path.slice(); newPath.push(name); if (item.type) { typePath = path.join('.children.') + ".type"; avatarType = _.get(avatar, typePath); type = avatarType || item.type; _.set(avatarValidated, typePath, type); } results$.push(process(child, newPath)); } return results$; } else { return inc("item/item")(item, path, avatarMap, avatarValidated, layerMap, avatarErrors); } }; process({ children: avatar }, []); return { avatar: avatarValidated, errors: avatarErrors }; }; })(); pages/avatarFirstTime/_t.ls (function(){ return { human: { de: "Mensch", en: "Human", fr: "Humain", es: "Humano", pt: "Humano" }, monster: { de: "Monster", en: "Monster", fr: "Monstre", es: "Monstruo", pt: "Monstro" }, createAvatar: { de: "Erstelle dir einen zufälligen Avatar.", en: "Create a random avatar.", fr: "Créer un avatar de façon aléatoire", es: "Crea un avatar aleatoriamente", pt: "Criar um avatar aleatoriamente." }, back: { de: "Zurück", en: "Back", fr: "Retour", es: "Anterior", pt: "Voltar" } }; })(); pages/avatarFirstTime/avatarShape/avatarShape.ls (function(){ return function(){ return SvgIcon({ svg: path("/../app01/lib/svg/shape/avatar.svg"), width: "6em", height: "6em" }).css({ margin: "2em" }); }; })(); pages/avatarFirstTime/continueLink/continueLink.ls (function(){ return function(onPageComplete){ return inc("/../app01/lib/gui/link/link")({ label: T("continueButton"), action: onPageComplete }).css({ opacity: 0, pointerEvents: "none" }).tap(onPageComplete); }; })(); pages/avatarFirstTime/page.ls (function(){ return function(page){ return { top: function(){ return inc("topbar/topbar")(); }, start: function(){ var avatar, avatarDiv, shuffleProgress, shuffleAvatar, setAvatar, onPageComplete, continueLink; avatar = null; avatarDiv = null; shuffleProgress = false; shuffleAvatar = function(type){ var counter, interval; if (shuffleProgress) { return; } shuffleProgress = true; continueLink.css({ opacity: "", pointerEvents: "" }); counter = 0; return interval = setInterval(function(){ var typeRestrictions; if (counter++ >= 5) { clearInterval(interval); shuffleProgress = false; } typeRestrictions = { head: [type], body: [type], legs: [type] }; avatar = inc("/lib/util/randomizeAvatar/randomize")(null, typeRestrictions); avatar.version = 2; return setAvatar(); }, 100); }; setAvatar = function(){ return avatarDiv.replaceWith(avatarDiv = inc("/../app01/lib/gui/avatar/avatar")(avatar, "half").css({ width: "10em", height: "10em", borderRadius: "999px", padding: "0.5em" })); }; onPageComplete = function(){ return startPage({ path: path("/pages/avatarFull/page"), animation: "slideLeft", history: 0, params: { avatar: avatar } }); }; return page.css({ textAlign: "center" }).empty().append(Div().css({ margin: "0 auto" }).html(T("createAvatar")), avatarDiv = inc("avatarShape/avatarShape")(), inc("shuffleButtons/shuffleButtons")(shuffleAvatar), continueLink = inc("continueLink/continueLink")(onPageComplete)); } }; }; })(); pages/avatarFirstTime/shuffleButtons/shuffleButtons.ls (function(){ return function(shuffleAvatar){ return Div().css({ marginBottom: "1em", marginTop: "0.5em" }).append(Button({ label: T("human"), action: function(){ return shuffleAvatar('human'); }, icon: path("/../app01/lib/svg/shape/avatar.svg"), iconColor: Color.grey[400] }).css({ margin: "0.25em" }), Button({ label: T("monster"), action: function(){ return shuffleAvatar('monster'); }, icon: path("/../app01/lib/svg/shape/monster.svg"), iconColor: Color.grey[400] }).css({ margin: "0.25em" })); }; })(); pages/avatarFirstTime/topbar/topbar.ls (function(){ return function(o){ return inc("/../app01/addons/topbar2/topbar")({ title: "Avatar", back: function(){ return startPage({ history: -1, animation: "slideRight" }); }, backLabel: T("back"), coins: true }); }; })(); pages/avatarFull/_t.ls (function(){ return { avatarAlreadyFavorite: { de: "Dieser Avatar ist bereits ein Favorit.", en_gb: "This avatar is already a favourite.", en: "This avatar is already a favorite.", fr: "Cet avatar est déjà un de tes favoris.", es: "Esta avatar ya está en tus favoritos.", pt: "Este avatar já está em seus favoritos." }, avatarFavoriteInfoText: { de: "Speichere hier deine Lieblings-Avatare ab und wechsle zwischen ihnen je nach Laune.
Du kannst einen gespeicherten Avatar wieder löschen, indem du auf das X klickst.", en_gb: "Save your favourite avatars here and change between them according to your mood.
To delete them again, click on the X.", en: "Save your favorite avatars here and change between them according to your mood.
To delete them again, click on the X.", fr: "Enregistre ici tes avatars favoris et passe de l'un à l'autre selon ton humeur.
Pour les effacer, appuie sur le X.", es: "Guarda aquí tus avatares favoritos y elígelos según tu estado de ánimo.
Si en algún momento los quieres eliminar, presiona la X.", pt: "Salve aqui seus avatares favoritos e escolha à vontade qual você quiser usar. Se quiser apagá-lo, clique em X." }, randomAvatarOverwriteInfo: { de: "Achtung: Diese Funktion überschreibt deinen Avatar mit einem neuen Zufalls-Avatar.

Um deinen jetzigen Avatar zu speichern, klicke in der Übersicht links unten auf das +.

Möchtest du jetzt einen neuen Zufalls-Avatar erstellen?
", en_gb: "Warning: this function will replace your avatar with a random avatar.

Save it as a favourite first by clicking on the plus in the bottom left of the overview.

Do you want to create a new random avatar?
", en: "Warning: this function will replace your avatar with a random avatar!

Save it as a favorite first by clicking on the plus in the bottom left of the overview.

Do you want to create a new random avatar?
", fr: "Attention : cette fonction remplacera ton avatar par un avatar créé au hasard.

Enregistre-le d'abord comme l'un de tes favoris en appuyant sur le + situé en bas à gauche.

Veux-tu créer un nouvel avatar au hasard ?
", es: "¡Cuidado! Esta función remplazará tu avatar con un avatar aleatorio.

Guárdalo primero en tus favoritos presionando el signo de + que está abajo a la izquierda.

¿Quieres crear un nuevo avatar aleatoriamente?
", pt: "Atenção! Esta função substitui seu avatar por um novo avatar aleatório.

Para salvar seu avatar atual como favorito, clique no ícone + que está abaixo da tela no canto esquerdo.

Você gostaria de criar um novo avatar aleatório agora?
" }, saveChanges: { de: "Möchtest du deine Änderungen speichern?", en: "Do you want to save your changes?", fr: "Veux-tu enregistrer tes modifications ?", es: "¿Quieres guardar tus cambios?", pt: "Você quer salvar suas alterações?" }, head: { de: "Kopf", en: "Head", fr: "Tête", es: "Cabeza", pt: "Cabeça" }, body: { de: "Körper", en: "Body", fr: "Corps", es: "Torso", pt: "Corpo" }, legs: { de: "Beine", en: "Legs", fr: "Jambes", es: "Piernas", pt: "Pernas" }, exit: { de: "Beenden", en: "Quit", fr: "Quitter", es: "Salir", pt: "Sair" } }; })(); pages/avatarFull/bottombar/avatar/avatar.ls (function(){ return function(o, e, isLast){ return Div().css({ display: "inline-block", width: "4em", height: "4em" }).append(inc("/avatar/avatar")({ view: "full", avatar: e.value }).css({ width: "4em", height: "4em" }), SvgIcon({ svg: path("/../app01/lib/svg/shape/cross.svg"), color: Color.grey[600], width: "0.8em", height: "0.8em" }).css({ backgroundColor: Color.grey[300], position: "absolute", bottom: "0.2em", right: "0.2em", padding: "0.2em", borderRadius: "999px" }).tap(function(){ return inc("/lib/popup/deleteFavourite/popup")(o, e); })).tap(function(){ o.avatar = e.value; return o.update(); }); }; })(); pages/avatarFull/bottombar/bottombar.ls (function(){ return function(o){ var div, items, containsCurrentAvatar, isLast, update, item; div = null; items = log.list({ event: "setAvatarFavourite" }); containsCurrentAvatar = _.find(items, function(e){ return JSON.stringify(e.value) === JSON.stringify(o.avatar); }); isLast = items.length === 1; items = _.reverse(items); update = function(){ return div.replaceWith(div = inc(THISFILE)(o)); }; div = ScrollDiv({ enableScrollX: true, enableScrollY: false, scrollbarMode: inc("/../app01/lib/util/isDesktop/isDesktop")() ? "show" : "auto" }).css({ whiteSpace: "nowrap", height: "4.1em" }).html(inc("favourite/favourite")(o), (function(){ var i$, ref$, len$, results$ = []; for (i$ = 0, len$ = (ref$ = items).length; i$ < len$; ++i$) { item = ref$[i$]; results$.push(inc("avatar/avatar")(o, item, isLast)); } return results$; }())); div.update = update; return div; }; })(); pages/avatarFull/bottombar/favourite/favourite.ls (function(){ return function(o){ var hasSeenHint, userDescription, hasPlusAccess, addFavourite; hasSeenHint = log.findLast({ event: "showAvatarFavouriteHint" }) != null; userDescription = inc("/../app01/data/user/calcUserDescription/calc")(); hasPlusAccess = userDescription.hasPlusAccess; addFavourite = function(){ var favouriteEvents, isFavourite; favouriteEvents = log.list("setAvatarFavourite"); if (favouriteEvents.length > 2 && !hasPlusAccess) { inc("/lib/popup/noPlusFavourite/popup")(); return; } isFavourite = _.find(favouriteEvents, function(e){ return JSON.stringify(e.value) === JSON.stringify(o.avatar); }); if (isFavourite) { inc("/lib/popup/prompt/popup")({ message: T("avatarAlreadyFavorite") }); return; } o.avatar.version = 2; log.log({ event: "setAvatarFavourite", value: o.avatar, uid: helpers.guid(4) }); o.bottombar.update(); return o.update(); }; return Div().css({ backgroundColor: Color.grey[300], display: "inline-flex", width: "2.5em", height: "2.5em", borderRadius: "999px", verticalAlign: "top", margin: "0.75em 0.8em", marginRight: 0 }).append(SvgIcon({ svg: path("/../app01/lib/svg/shape/plus.svg"), color: Color.grey[600], width: "1.2em", height: "1.2em" })).tap(function(){ if (!hasSeenHint) { log.log({ event: "showAvatarFavouriteHint" }); return inc("/lib/popup/prompt/popup")({ message: T("avatarFavoriteInfoText"), done: addFavourite }); } else { return addFavourite(); } }); }; })(); pages/avatarFull/buttons/buttons.ls (function(){ return function(o){ var div, update; div = null; update = function(){ return div.replaceWith(div = inc(THISFILE)(o)); }; div = Div().css({ position: "absolute", right: "1em", top: "0.7em" }).append(inc("undo/undo")(o), inc("redo/redo")(o), inc("random/random")(o)); div.update = update; return div; }; })(); pages/avatarFull/buttons/random/random.ls (function(){ return function(o){ var hasSeenHint, shuffle; hasSeenHint = log.findLast({ event: "showAvatarRandomHint" }) != null; shuffle = function(agreed){ var userDescription, hasPlusAccess, typeRestrictions; if (!agreed) { return; } userDescription = inc("/../app01/data/user/calcUserDescription/calc")(); hasPlusAccess = userDescription.hasPlusAccess; typeRestrictions = !hasPlusAccess ? { head: ["human", "monster"], body: ["human", "monster"], legs: ["human", "monster"] } : void 8; o.avatarUndoHistory.push(_.cloneDeep(o.avatar)); o.avatarRedoHistory = []; o.avatar = inc("/lib/util/randomizeAvatar/randomize")(null, typeRestrictions); o.bottombar.update(); return o.update(); }; return Div().css({ display: "inline-flex", backgroundColor: Color.grey[300], width: "2.5em", height: "2.5em", borderRadius: "999px", margin: "0.25em" }).append(SvgIcon({ svg: path("/../app01/lib/svg/shape/shuffle.svg"), color: Color.grey[600], width: "1.2em", height: "1.2em" })).tap(function(){ if (!hasSeenHint) { log.log({ event: "showAvatarRandomHint" }); return inc("/lib/popup/confirm/popup")({ question: T("randomAvatarOverwriteInfo"), done: shuffle }); } else { return shuffle(true); } }); }; })(); pages/avatarFull/buttons/redo/redo.ls (function(){ return function(o){ var redo; redo = function(){ if (o.avatarRedoHistory.length) { o.avatarUndoHistory.push(_.cloneDeep(o.avatar)); o.avatar = _.cloneDeep(o.avatarRedoHistory.pop()); o.bottombar.update(); return o.update(); } }; return Div().css({ display: "inline-flex", backgroundColor: Color.grey[300], width: "2.5em", height: "2.5em", borderRadius: "999px", margin: "0.25em" }).append(SvgIcon({ svg: path("/../app01/lib/svg/shape/redo.svg"), color: Color.grey[600], width: "1.2em", height: "1.2em" })).tap(redo); }; })(); pages/avatarFull/buttons/undo/undo.ls (function(){ return function(o){ var undo; undo = function(){ if (o.avatarUndoHistory.length) { o.avatarRedoHistory.push(_.cloneDeep(o.avatar)); o.avatar = _.cloneDeep(o.avatarUndoHistory.pop()); o.bottombar.update(); return o.update(); } }; return Div().css({ display: "inline-flex", backgroundColor: Color.grey[300], width: "2.5em", height: "2.5em", borderRadius: "999px", margin: "0.25em" }).append(SvgIcon({ svg: path("/../app01/lib/svg/shape/undo.svg"), color: Color.grey[600], width: "1.2em", height: "1.2em" })).tap(undo); }; })(); pages/avatarFull/page.ls (function(){ return function(page){ var logAvatar, ref$, a, tempAvatar, avatarUndoHistory, avatarRedoHistory, avatar, o, navigate, onChangeFileText; logAvatar = (ref$ = log.findLast({ event: "setAvatar" })) != null ? ref$.value : void 8; if (!(logAvatar != null && logAvatar.version)) { logAvatar = (a = page.params.avatar) ? a : {}; } tempAvatar = inc("/../app01/lib/util/cache/get/get")("avatarEditorTemp"); avatarUndoHistory = inc("/../app01/lib/util/cache/get/get")("avatarUndoHistory"); avatarRedoHistory = inc("/../app01/lib/util/cache/get/get")("avatarRedoHistory"); avatar = tempAvatar || logAvatar || {}; avatar = _.cloneDeep(avatar); o = { avatar: avatar, avatarUndoHistory: avatarUndoHistory || [], avatarRedoHistory: avatarRedoHistory || [] }; navigate = function(part){ inc("/../app01/lib/util/cache/set/set")("avatarEditorTemp", o.avatar); inc("/../app01/lib/util/cache/set/set")("avatarUndoHistory", o.avatarUndoHistory); inc("/../app01/lib/util/cache/set/set")("avatarRedoHistory", o.avatarRedoHistory); return startPage({ path: path("/pages/avatarPart/page"), animation: "slideLeft", params: { part: part } }); }; onChangeFileText = function(text){ var avatar, error; try { avatar = JSON.parse(text); } catch (e$) { error = e$; inc("/../app01/lib/gui/infoPopup/popup")({ label: T("error") }); return; } delete avatar.dataUrl; if (!(avatar.body && avatar.head && avatar.legs)) { inc("/../app01/lib/gui/infoPopup/popup")({ label: T("error") }); return; } o.avatar = avatar; return o.update(); }; o.close = function(){ inc("/../app01/lib/util/cache/del/del")("avatarEditorTemp"); return startPage({ animation: "slideRight", history: -1 }); }; o.update = function(){ var checkLocked, lockedDetails, s; checkLocked = inc("/../app01/data/group/calcLockedFeature/calc", { silentError: true }); if (!checkLocked.includeError) { lockedDetails = checkLocked({ eventName: "lockAvatarDesigner" }); if (lockedDetails.seconds > 0) { o.close(); return; } } s = inc("/lib/util/calcAvatarSize/calc")(1.3); return page.html(engine.isDebug ? inc("/../gui-components/fileInput/hiddenPasteDiv/hiddenPasteDiv")({ onSelected: function(file, text){ return onChangeFileText(text); } }) : void 8, Div().css({ display: "flex", overflow: "hidden", maxWidth: s + "px", margin: "0 auto" }).append(o.avatarSvg = inc("/avatar/avatar")({ view: "full", avatar: o.avatar }).css({ width: s + "px", height: s + "px", marginLeft: "-" + s / 5 + "px", filter: 'drop-shadow(0 0 0.5em rgba(0, 0, 0, 0.2))' }), Button(T("head")).css({ position: "absolute", right: "1.5em", top: s / 4 * 1 + "px", marginTop: "-1.5em", width: "5em" }).tap(function(){ return navigate("head"); }), Button(T("body")).css({ position: "absolute", right: "1.5em", top: s / 4 * 2 + "px", marginTop: "-1.5em", width: "5em" }).tap(function(){ return navigate("body"); }), Button(T("legs")).css({ position: "absolute", right: "1.5em", top: s / 4 * 3 + "px", marginTop: "-1.5em", width: "5em" }).tap(function(){ return navigate("legs"); }), o.buttons = inc("buttons/buttons")(o))); }; return { top: function(){ return inc("topbar/topbar")(o); }, bottom: function(){ return o.bottombar = inc("bottombar/bottombar")(o); }, start: function(){ page.pageScrollWrapper.removeClass("allowBackSwipe"); return o.update(); } }; }; })(); pages/avatarFull/topbar/_shared/debugLabel/debugLabel.ls (function(){ return function(label){ return Div({ display: "flex" }).html(Div({ flex: "1 1 auto" }).html(label), SvgIcon({ svg: path("/../app01/lib/svg/shape/debug.svg"), color: Color.grey[400] }).css({ flex: "0 0 auto", marginLeft: "0.3em" })); }; })(); pages/avatarFull/topbar/subMenuItems/copyJson/copy.ls (function(){ return function(o){ var avatar; avatar = o.avatar; return inc("/lib/util/avatarFullCropped/avatar")(avatar, "dataUrl", function(dataUrl){ var a, avatarString; a = _.cloneDeep(avatar); a.dataUrl = dataUrl; avatarString = JSON.stringify(a); inc("/../app01/lib/util/copyToClipboard/copy")(avatarString); return inc("/../app01/lib/gui/infoPopup/popup")({ label: "Avatar copied to clipboard." }); }); }; })(); pages/avatarFull/topbar/subMenuItems/downloadJson/download.ls (function(){ return function(o){ var avatar; avatar = o.avatar; return inc("/lib/util/avatarFullCropped/avatar")(avatar, "dataUrl", function(dataUrl){ var a, avatarJson; a = _.cloneDeep(avatar); a.dataUrl = dataUrl; avatarJson = JSON.stringify(a); return inc("/../app01/lib/util/downloadTextToFile/download")(avatarJson, "ANTON-Avatar.json"); }); }; })(); pages/avatarFull/topbar/subMenuItems/importJson/import.ls (function(){ return function(o){ var onSetActive, onSetInactive, onSelected, importJson, div, fileInput, icon, popup; onSetActive = function(){ return icon.setColor(Color.blue[400]); }; onSetInactive = function(){ return icon.setColor(Color.grey[400]); }; onSelected = function(file){ var reader; reader = new FileReader; reader.readAsDataURL(file); return reader.onloadend = function(){ var dataUrl, d, a, avatar; dataUrl = reader.result; d = inc("/../app01/lib/util/splitDataUrl/split")(dataUrl); a = atob(d.base64); delete a.dataUrl; avatar = JSON.parse(a); o.avatar = avatar; o.update(); return popup.close(); }; }; importJson = function(){ return debug("importJson"); }; div = Div().css({ padding: "1em" }).html(fileInput = inc("/../gui-components/fileInput/hiddenInput/hiddenInput")({ onSelected: onSelected, mimeTypes: ["text/json"] }), inc("/../gui-components/fileInput/dropZone/dropZone")({ mimeTypes: ["text/json"], onSelected: onSelected, onSetActive: onSetActive, onSetInactive: onSetInactive }).css({ display: "inline-flex", width: "15em", height: "15em", border: "2px dashed " + Color.grey[400], flexDirection: "column", color: Color.grey[600] }).html(icon = SvgIcon({ svg: path("/../app01/lib/svg/shape/file.svg"), color: Color.grey[300], width: "3em", height: "3em" }), "Choose an avatar JSON file").tap(fileInput.selectFile)); return popup = inc("/../app01/lib/gui/popup/popup")({ html: div }); }; })(); pages/avatarFull/topbar/subMenuItems/items.ls (function(){ return function(o){ var debugLabel, submenuItems; debugLabel = inc("../_shared/debugLabel/debugLabel"); return submenuItems = [ { label: debugLabel("Import Avatar"), click: function(){ return inc("importJson/import")(o); }, icon: path("/../app01/lib/svg/shape/arrow-upload.svg"), iconColor: Color.grey[700] }, { label: debugLabel("Export Avatar"), click: function(){ return inc("downloadJson/download")(o); }, icon: path("/../app01/lib/svg/shape/arrow-download.svg"), iconColor: Color.grey[700] }, { label: debugLabel("Copy Avatar"), click: function(){ return inc("copyJson/copy")(o); }, icon: path("/../app01/lib/svg/shape/paste.svg"), iconColor: Color.grey[700] } ]; }; })(); pages/avatarFull/topbar/subMenuLongClickItems/downloadPng/download.ls (function(){ return function(o){ var svg, guiLanguage, popup, size, onLoad, onError, url, xhr, html, params; svg = inc("/lib/util/avatarWithoutCache/avatar")({ avatar: o.avatar, view: "full" }).innerHTML; guiLanguage = engine.guiLanguage; popup = null; size = prompt(T("size"), 1000); onLoad = function(){ var contentType, blob; contentType = xhr.getResponseHeader('content-type'); if (contentType && _.includes(contentType, "application/json")) { onError(); return; } blob = xhr.response; inc("/../app01/lib/util/downloadBlob/download")("ANTON Avatar.png", blob); return popup.close(); }; onError = function(){ inc("/../app01/lib/gui/infoPopup/popup")({ label: T("error") }); return popup.close(); }; url = "https://apis-svg-render-debug.solocode.com/download"; xhr = new XMLHttpRequest(); xhr.onload = onLoad; xhr.onerror = onError; xhr.responseType = 'blob'; html = Div().css({ width: '300px' }).append(Div().html(T("loading")), inc('/../app01/lib/gui/spinner/spinner')().css({ margin: "1em" })); popup = inc("/../app01/lib/gui/popup/popup")({ html: html, onTop: true }); Store('ideAvatarExportPngDownloadSize', size); params = { width: size, height: size, svg: svg, transparent: true, crop: true, guiLanguage: guiLanguage }; xhr.open("POST", url, true); xhr.setRequestHeader('Content-type', 'application/json'); return xhr.send(JSON.stringify(params)); }; })(); pages/avatarFull/topbar/subMenuLongClickItems/downloadSvg/download.ls (function(){ return function(o){ var url, a; url = o.avatarSvg.attr("src"); a = document.createElement('a'); a.href = url; a.download = "ANTON Avatar.svg"; document.body.appendChild(a); a.click(); return document.body.removeChild(a); }; })(); pages/avatarFull/topbar/subMenuLongClickItems/items.ls (function(){ return function(o){ var debugLabel, submenuLongClickItems; debugLabel = inc("../_shared/debugLabel/debugLabel"); return submenuLongClickItems = [ { label: debugLabel("Download SVG"), click: function(){ return inc("downloadSvg/download")(o); }, icon: path("/../app01/lib/svg/shape/arrow-download.svg"), iconColor: Color.grey[700] }, { label: debugLabel("Download PNG"), click: function(){ return inc("downloadPng/download")(o); }, icon: path("/../app01/lib/svg/shape/arrow-download.svg"), iconColor: Color.grey[700] }, { label: debugLabel("Debug Description"), click: function(){ return debug(inc("/../app01/lib/util/js2ls/js2ls")(o.avatar)); }, icon: path("/../app01/lib/svg/shape/info.svg"), iconColor: Color.grey[700] }, { label: debugLabel("Render Layer Map"), click: function(){ return inc("renderLayerMap/render")(o); }, icon: path("/../app01/lib/svg/shape/gear.svg"), iconColor: Color.grey[700] } ]; }; })(); pages/avatarFull/topbar/subMenuLongClickItems/renderLayerMap/render.ls (function(){ return function(o){ return inc("/lib/util/generateLayerMap/generate")(function(layerMap){ var layerMapString; layerMapString = JSON.stringify(layerMap, null, " "); return inc("/../app01/lib/util/downloadTextToFile/download")(layerMapString, "avatarLayerMapRendered.json"); }); }; })(); pages/avatarFull/topbar/topbar.ls (function(){ return function(o){ return inc("/../app01/addons/topbar2/topbar")({ title: "Avatar", back: function(){ var prevAvatar, ref$, needsSave; o.avatar.version = 2; prevAvatar = (ref$ = log.findLast({ event: "setAvatar" })) != null ? ref$.value : void 8; needsSave = JSON.stringify(prevAvatar) !== JSON.stringify(o.avatar); if (needsSave) { return inc("/lib/popup/confirm/popup")({ question: T("saveChanges"), done: function(confirmed){ if (confirmed) { log.log({ event: "setAvatar", value: o.avatar }); } return o.close(); } }); } else { return o.close(); } }, backLabel: T("exit"), subMenuItems: engine.isDebug ? function(){ return inc("subMenuItems/items")(o); } : void 8, subMenuLongClickItems: engine.isDebug ? function(){ return inc("subMenuLongClickItems/items")(o); } : void 8, coins: true }); }; })(); pages/avatarPart/bottombar/bottombar.ls (function(){ return function(o){ var div, update; div = null; update = function(){ return div.replaceWith(div = inc(THISFILE)(o)); }; div = Div().append(o.mapItem.children ? inc("head/head")(o) : inc("simpleHead/head")(o), inc("item/item")(o)); div.update = update; return div; }; })(); pages/avatarPart/bottombar/head/calcSvg/calc.ls (function(){ return function(mapItem, itemOption, itemPath, avatar){ var a, optionView, avatarOption, ref$; a = _.cloneDeep(avatar); optionView = mapItem.previewView || "full"; avatarOption = (ref$ = _.get(a, itemPath)) != null ? ref$.option : void 8; if (avatarOption == null || avatarOption === "none") { _.set(a, itemPath + ".option", itemOption); } return inc("/avatar/avatar")({ avatar: a, view: optionView, entryPath: itemPath }).css({ width: "3em", height: "3em" }); }; })(); pages/avatarPart/bottombar/head/head.ls (function(){ return function(o){ var div, currentDiv, labels, options, toggle; labels = inc("/lib/labels/labels")(); options = o.mapItem.children || []; toggle = function(key, value, itemPath){ o.scrollPosition = 0; return o.update(itemPath); }; div = ScrollDiv({ enableScrollX: true, enableScrollY: false, scrollbarMode: inc("/../app01/lib/util/isDesktop/isDesktop")() ? "show" : "auto" }).css({ backgroundColor: Color.grey[200], pointerEvents: "none" }).append(Div({ display: "flex", height: "3em", borderLeft: "1px solid " + Color.grey[50] }).append((function(){ var i$, ref$, results$ = []; for (i$ in ref$ = options) { results$.push((fn$.call(this, i$, ref$[i$]))); } return results$; function fn$(key, value){ var itemPath, options, option, ref$, isCurrent, optionDiv; if (!value['static'] && !(value.debugOnly && !engine.isDebug)) { itemPath = o.path + ".children." + key; options = inc("/lib/util/calcItemOptions/calc")(o.layerMap, value, itemPath); option = _.find(options, { 'default': true }) && _.find(options, { 'default': true }).name !== "none" ? (ref$ = _.find(options, { 'default': true })) != null ? ref$.name : void 8 : _.find(options, { blankIcon: true }) ? _.find(options, { blankIcon: true }).name : options[0].name !== "none" ? options[0].name : options[1].name; isCurrent = o.itemPath === itemPath; optionDiv = Div({ display: "flex", flex: "1 1 auto", height: "3em", padding: "0.25em", borderRight: "1px solid " + Color.grey[50], backgroundColor: isCurrent ? Color.grey[50] : void 8 }).append(value.debugOnly ? SvgIcon({ svg: path("/../app01/lib/svg/shape/debug.svg"), size: "1.3em" }).css({ flex: "0 0 auto", marginRight: "-0.5em", marginLeft: "0.3em" }) : void 8, inc("calcSvg/calc")(value, option, itemPath, o.avatar).css({ flex: "0 0 auto" }), value.labelId && labels[value.labelId] ? Div({ flex: "0 0 auto", margin: "0.5em" }).append(labels[value.labelId]) : void 8).tap(function(){ return toggle(key, value, itemPath); }); if (isCurrent) { currentDiv = optionDiv; } return optionDiv; } } }.call(this)))); div.scrollElementIntoView(currentDiv, { center: true, instant: true }); requestAnimationFrame(function(){ return div.css({ pointerEvents: "" }); }); return div; }; })(); pages/avatarPart/bottombar/item/colors/_t.ls (function(){ return { color: { de: "Farbe", en_gb: "Colour", en: "Color", fr: "Couleur", es: "Color", pt: "Cor" } }; })(); pages/avatarPart/bottombar/item/colors/colors.ls (function(){ return function(o, key, value, update){ var colorPath, current, ref$, ref1$, set, div; colorPath = o.itemPath + "." + key; current = _.get(o.avatar, colorPath) || ((ref$ = _.get(o.avatarMap, o.itemPath)) != null ? (ref1$ = ref$.defaultColor) != null ? ref1$[key] : void 8 : void 8) || value[0].name; set = function(colorName){ o.avatarUndoHistory.push(_.cloneDeep(o.avatar)); o.avatarRedoHistory = []; _.set(o.avatar, colorPath, colorName); return o.update(o.itemPath); }; return div = Div().append(Div().css({ margin: "0.5em" }).html(T("color") + " " + key[1])).append((function(){ var i$, ref$, len$, results$ = []; for (i$ = 0, len$ = (ref$ = value).length; i$ < len$; ++i$) { results$.push((fn$.call(this, ref$[i$]))); } return results$; function fn$(color){ var isCurrent, d; isCurrent = current === color.name; return d = Div().css({ display: "inline-block", backgroundColor: color.color, width: "2.2em", height: "2.2em", margin: "0 0.1em 0.2em", overflow: "hidden" }).append(isCurrent ? inc("selected/selected")() : void 8, inc("label/label")(color.name)).tap(function(){ return set(color.name); }); } }.call(this))); }; })(); pages/avatarPart/bottombar/item/colors/label/label.ls (function(){ return function(label){ if (!engine.isDebug) { return; } return Div().css({ position: "absolute", top: 0, left: 0, fontSize: "0.5em", backgroundColor: Color.grey[600], color: Color.white, padding: "0.1em 0.4em", textTransform: "uppercase" }).html(label); }; })(); pages/avatarPart/bottombar/item/colors/selected/selected.ls (function(){ return function(){ var div; div = Div().css({ position: "absolute", top: 0, right: 0, left: 0, bottom: 0 }).append(Div().css({ position: "absolute", top: 0, right: 0, left: 0, bottom: 0, border: "3px solid " + Color.grey[700] }), Div().css({ position: "absolute", top: "3px", right: "3px", left: "3px", bottom: "3px", border: "2px solid " + Color.grey[200] })); return div; }; })(); pages/avatarPart/bottombar/item/item.ls (function(){ return function(o, update){ var h, maxHeight, item, div, scrollContainer; h = body.height(); maxHeight = h < 374 ? "4em" : h < 400 ? "5em" : h < 500 ? "7em" : h < 600 ? "8em" : h < 700 ? "10em" : "12em"; item = _.get(o.avatarMap, o.itemPath); div = ScrollDiv({ scrollbarMode: inc("/../app01/lib/util/isDesktop/isDesktop")() ? "show" : "auto" }).css({ maxHeight: maxHeight }).html(Div({ textAlign: "center" }).append(inc("options/options")(o, item, update), (function(){ var i$, ref$, results$ = []; for (i$ in ref$ = item) { results$.push((fn$.call(this, i$, ref$[i$]))); } return results$; function fn$(key, value){ if (key.length === 2 && key[0] === "c") { return inc("colors/colors")(o, key, value, update); } } }.call(this)))); scrollContainer = div.findFirst('.scrollContainerDiv'); scrollContainer.addEventListener("scroll", function(){ return o.scrollPosition = scrollContainer.scrollTop; }); requestAnimationFrame(function(){ return scrollContainer.scrollTop = o.scrollPosition; }); return div; }; })(); pages/avatarPart/bottombar/item/options/_t.ls (function(){ return { form: { de: "Form", en: "Style", fr: "Style", es: "Forma", pt: "Forma" } }; })(); pages/avatarPart/bottombar/item/options/options.ls (function(){ return function(o, item, update){ var priceTag, optionPath, mapItem, avatarItem, options, select, set, current, div; priceTag = null; optionPath = o.itemPath + ".option"; mapItem = _.get(o.avatarMap, o.itemPath); avatarItem = _.get(o.avatar, o.itemPath); options = inc("/lib/util/calcItemOptions/calc")(o.layerMap, item, o.itemPath); options = _.filter(options, function(option){ return !option.notPublic && (!option.debugOnly || engine.isDebug); }); if (options.length < 2) { return; } select = function(option, purchaseId){ var userDescription, totalCoins, hasPlusAccess, isPurchased; if (!inc("/../app01/lib/util/isOnline/isOnline")()) { inc("/../app01/lib/offline/offlinePopup/popup")(); return; } userDescription = inc("/../app01/data/user/calcUserDescription/calc")(); totalCoins = userDescription.totalCoins; hasPlusAccess = userDescription.hasPlusAccess; isPurchased = log.findLast({ event: "unlockAvatarOption", id: purchaseId }) != null; if (option.plusOnly && !hasPlusAccess && !isPurchased) { inc("/lib/popup/noPlusOption/popup")(o, optionPath, option); return; } if (option.price) { if (isPurchased) { return set(option.name); } else if (totalCoins < option.price) { return inc("/lib/popup/noCoins/popup")(o, optionPath, option); } else { return inc("/lib/popup/purchase/popup")(o, optionPath, option, function(purchaseDone){ var ref$; if (purchaseDone) { log.log({ event: "unlockAvatarOption", id: purchaseId, price: option.price }); inc("/../app01/data/user/coin/remove/remove")(option.price); set(option.name); return (ref$ = app.currentPage.topbarCoins) != null ? ref$.update() : void 8; } }); } } else { return set(option.name); } }; set = function(optionName){ o.avatarUndoHistory.push(_.cloneDeep(o.avatar)); o.avatarRedoHistory = []; _.set(o.avatar, optionPath, optionName); return o.update(o.itemPath); }; current = _.get(o.avatar, optionPath) || _.find(options, { 'default': true }).name; div = Div().append(Div({ margin: "0.5em" }).html(T("form"))).append((function(){ var i$, ref$, len$, results$ = []; for (i$ = 0, len$ = (ref$ = options).length; i$ < len$; ++i$) { results$.push((fn$.call(this, ref$[i$]))); } return results$; function fn$(option){ var optionName, isActive, currentAvatar, purchaseId; optionName = option.name; isActive = current === optionName; currentAvatar = o.avatar; purchaseId = (optionPath + "." + optionName).split(".").slice(-3).join(".").replace(".option.", "."); return inc("/lib/avatarItem/avatarItem")({ size: "3.5em", option: optionName, path: optionPath, currentAvatar: currentAvatar, isActive: isActive, disableShadow: true }).css({ backgroundColor: Color.grey[200], display: "inline-block", width: "3.5em", height: "3.5em", margin: "0 0.1em 0.2em" }).tap(function(){ return select(option, purchaseId); }); } }.call(this))); return div; }; })(); pages/avatarPart/bottombar/simpleHead/calcSvg/calc.ls (function(){ return function(mapItem, itemOption, itemPath, avatar){ var a, optionView, avatarOption, ref$; a = _.cloneDeep(avatar); optionView = mapItem.previewView || "full"; avatarOption = (ref$ = _.get(a, itemPath)) != null ? ref$.option : void 8; if (avatarOption == null || avatarOption === "none") { _.set(a, itemPath + ".option", itemOption); } return inc("/avatar/avatar")({ avatar: a, view: optionView, entryPath: itemPath }).css({ width: "2em", height: "2em" }); }; })(); pages/avatarPart/bottombar/simpleHead/head.ls (function(){ return function(o){ var div, options, option, svg; div = null; options = inc("/lib/util/calcItemOptions/calc")(o.layerMap, o.mapItem, o.itemPath); option = options[0].name; svg = inc("calcSvg/calc")(o.mapItem, option, o.itemPath, o.avatar); return Div().css({ display: "flex", height: "3em", backgroundColor: Color.grey[200], borderLeft: "1px solid " + Color.grey[50] }).append(Div().css({ display: "flex", height: "3em", padding: "0.25em", backgroundColor: Color.grey[50] }).append(svg.css({ flex: "0 0 auto" }), o.mapItem.label ? Div().css({ flex: "1 1 auto", margin: "0.5em" }).append(o.mapItem.label) : void 8)); }; })(); pages/avatarPart/page.ls (function(){ return function(page){ var layerMap, avatarMap, tempAvatar, avatarUndoHistory, avatarRedoHistory, logAvatar, ref$, avatar, part, typePath, type, path, mapItem, itemPath, firstKey, o; layerMap = inc("/lib/util/parseLayerMap/parse")(); avatarMap = inc("/lib/data/avatarMap")(); tempAvatar = inc("/../app01/lib/util/cache/get/get")("avatarEditorTemp"); avatarUndoHistory = inc("/../app01/lib/util/cache/get/get")("avatarUndoHistory"); avatarRedoHistory = inc("/../app01/lib/util/cache/get/get")("avatarRedoHistory"); logAvatar = (ref$ = log.findLast({ event: "setAvatar" })) != null ? ref$.value : void 8; if (!(logAvatar != null && logAvatar.version)) { logAvatar = {}; } avatar = tempAvatar || logAvatar || {}; avatar = _.cloneDeep(avatar); part = page.params.part || "head"; typePath = part + ".type"; type = _.get(avatar, typePath) || "human"; path = part + ".children." + type; mapItem = _.get(avatarMap, path); itemPath = mapItem.children ? (firstKey = Object.keys(mapItem.children)[0], path + ".children." + firstKey) : path; o = { size: "18em", avatar: avatar, svgPart: null, svgPreview: null, scrollPosition: 0, layerMap: layerMap, avatarMap: avatarMap, part: part, typePath: typePath, type: type, path: path, mapItem: mapItem, itemPath: itemPath, avatarUndoHistory: avatarUndoHistory || [], avatarRedoHistory: avatarRedoHistory || [] }; o.update = function(itemPath){ var t, firstKey; t = new Date(); o.typePath = o.part + ".type"; o.type = _.get(o.avatar, o.typePath) || "human"; o.path = o.part + ".children." + o.type; o.mapItem = _.get(o.avatarMap, o.path); o.itemPath = itemPath ? itemPath : o.mapItem.children ? (firstKey = Object.keys(o.mapItem.children)[0], o.path + ".children." + firstKey) : o.path; inc("/../app01/lib/util/cache/set/set")("avatarEditorTemp", o.avatar); inc("/../app01/lib/util/cache/set/set")("avatarUndoHistory", o.avatarUndoHistory); inc("/../app01/lib/util/cache/set/set")("avatarRedoHistory", o.avatarRedoHistory); o.page.update(); o.topbar.update(); return o.bottombar.update(); }; return { top: function(){ return o.topbar = inc("topbar/topbar")(o); }, bottom: function(){ return o.bottombar = inc("bottombar/bottombar")(o); }, start: function(){ return page.append(o.page = inc("page/page")(o)); } }; }; })(); pages/avatarPart/page/_t.ls (function(){ return { head: { de: "Kopf", en: "Head", fr: "Tête", es: "Cabeza", pt: "Cabeça" }, body: { de: "Körper", en: "Body", fr: "Corps", es: "Cuerpo", pt: "Corpo" }, legs: { de: "Beine", en: "Legs", fr: "Jambes", es: "Piernas", pt: "Pernas" }, avatarPartRandomOverwriteWarning: { de: "Achtung: Diese Funktion überschreibt deinen Avatar mit einem neuen Zufalls-Avatar.

Um deinen jetzigen Avatar zu speichern, klicke in der Übersicht links unten auf das +.

Möchtest du jetzt einen neuen Zufalls-Avatar erstellen?
", en_gb: "Warning: this function will replace your avatar with a random avatar.

Save it as a favourite first by clicking on the plus in the bottom left of the overview.

Do you want to create a new random avatar?
", en: "Warning: this function will replace your avatar with a random avatar!

Save it as a favorite first by clicking on the plus in the bottom left of the overview.

Do you want to create a new random avatar?
", fr: "Attention : cette fonction remplacera ton avatar par un avatar créé au hasard.

Enregistre-le d'abord comme l'un de tes favoris en appuyant sur le + situé en bas à gauche.

Veux-tu créer un nouvel avatar au hasard ?
", es: "¡Cuidado! Esta función remplazará tu avatar con un avatar aleatorio.

Guárdalo primero en tus favoritos presionando el signo de + que está abajo a la izquierda.

¿Quieres crear un nuevo avatar aleatoriamente?
", pt: "Atenção! Esta função substitui seu avatar por um novo avatar aleatório.

Para salvar seu avatar atual como favorito, clique no ícone + que está abaixo da tela no canto esquerdo.

Você gostaria de criar um novo avatar aleatório agora?
" } }; })(); pages/avatarPart/page/buttons/buttons.ls (function(){ return function(o){ var div, update; div = null; update = function(){ return div.replaceWith(div = inc(THISFILE)(o)); }; div = Div().css({ position: "absolute", right: "-2em", top: "-0.5em" }).append(inc("undo/undo")(o), inc("redo/redo")(o), inc("random/random")(o)); div.update = update; return div; }; })(); pages/avatarPart/page/buttons/random/random.ls (function(){ return function(o){ var hasSeenHint, part, shuffle; hasSeenHint = log.findLast({ event: "showAvatarRandomHint" }) != null; part = o.part === "head" ? T("head") : o.part === "body" ? T("body") : T("legs"); shuffle = function(){ var typeRestrictions; typeRestrictions = { head: [o.type], body: [o.type], legs: [o.type] }; o.avatarUndoHistory.push(_.cloneDeep(o.avatar)); o.avatarRedoHistory = []; o.avatar = inc("/lib/util/randomizeAvatar/randomize")(o.path, typeRestrictions, o.avatar); return o.update(); }; return Div().css({ display: "inline-flex", backgroundColor: Color.grey[300], width: "2.5em", height: "2.5em", borderRadius: "999px" }).append(SvgIcon({ svg: path("/../app01/lib/svg/shape/shuffle.svg"), color: Color.grey[600], width: "1.2em", height: "1.2em" })).tap(function(){ if (!hasSeenHint) { log.log({ event: "showAvatarRandomHint" }); return inc("/lib/popup/confirm/popup")({ question: T("avatarPartRandomOverwriteWarning"), done: shuffle }); } else { return shuffle(true); } }); }; })(); pages/avatarPart/page/buttons/redo/redo.ls (function(){ return function(o){ var redo; redo = function(){ if (o.avatarRedoHistory.length) { o.avatarUndoHistory.push(_.cloneDeep(o.avatar)); o.avatar = _.cloneDeep(o.avatarRedoHistory.pop()); return o.update(); } }; return Div().css({ display: "inline-flex", backgroundColor: Color.grey[300], width: "2.5em", height: "2.5em", borderRadius: "999px", margin: "0.25em" }).append(SvgIcon({ svg: path("/../app01/lib/svg/shape/redo.svg"), color: Color.grey[600], width: "1.2em", height: "1.2em" })).tap(redo); }; })(); pages/avatarPart/page/buttons/undo/undo.ls (function(){ return function(o){ var undo; undo = function(){ if (o.avatarUndoHistory.length) { o.avatarRedoHistory.push(_.cloneDeep(o.avatar)); o.avatar = _.cloneDeep(o.avatarUndoHistory.pop()); return o.update(); } }; return Div().css({ display: "inline-flex", backgroundColor: Color.grey[300], width: "2.5em", height: "2.5em", borderRadius: "999px", margin: "0.25em" }).append(SvgIcon({ svg: path("/../app01/lib/svg/shape/undo.svg"), color: Color.grey[600], width: "1.2em", height: "1.2em" })).tap(undo); }; })(); pages/avatarPart/page/page.ls (function(){ return function(o){ var div, update, s, view; div = null; update = function(){ return div.replaceWith(div = inc(THISFILE)(o)); }; s = inc("/lib/util/calcAvatarSize/calc")(0.9); view = o.type + "" + o.part[0].toUpperCase() + o.part.slice(1); div = Div({ maxWidth: s + "px", margin: "0 auto" }).append(o.svgPart = inc("/avatar/avatar")({ view: view, avatar: o.avatar, entryPath: o.part }).css({ width: s + "px", height: s + "px", overflow: "visible", paddingTop: "1.5em", filter: "drop-shadow(0 0 0.5em rgba(0, 0, 0, 0.2))" }), o.svgPreview = inc("/avatar/avatar")({ view: "full", avatar: o.avatar }).css({ position: "fixed", top: "calc(var(--topHeight) + 0.2em)", left: "-1em", width: "5em", height: "5em", filter: "drop-shadow(0 0 0.2em rgba(0, 0, 0, 0.2))" }).tap({ up: function(){ inc("/../app01/lib/util/cache/set/set")("avatarEditorTemp", o.avatar); return startPage({ animation: "slideRight", history: -1 }); }, animation: "none" }), inc("buttons/buttons")(o)); div.update = update; return div; }; })(); pages/avatarPart/topbar/_t.ls (function(){ return { overview: { de: "Übersicht", en: "Overview", fr: "Aperçu", es: "Cuerpo completo", pt: "Visão geral" } }; })(); pages/avatarPart/topbar/calcSvg/calc.ls (function(){ return function(avatar, part, type, path){ var a, v, entryPath; a = _.cloneDeep(avatar); v = type + "" + part[0].toUpperCase() + part.slice(1); _.set(a, path, type); entryPath = part + ".children." + type; return inc("/avatar/avatar")({ avatar: a, view: v, entryPath: entryPath }).css({ width: "3.5em", height: "3.5em" }); }; })(); pages/avatarPart/topbar/plusIcon/icon.ls (function(){ return function(){ return SvgIcon({ svg: path("/../app01/lib/svg/illustration/anton-plus.svg"), width: "0.75em" }).css({ position: "absolute", bottom: "0.4em", right: "0.4em", zIndex: 1 }); }; })(); pages/avatarPart/topbar/submenu/downloadSvg/download.ls (function(){ return function(o){ var url, a; url = o.svgPart.attr("src"); a = document.createElement('a'); a.href = url; a.download = "avatarDownload.svg"; document.body.appendChild(a); a.click(); return document.body.removeChild(a); }; })(); pages/avatarPart/topbar/submenu/submenu.ls (function(){ return function(o){ var submenuItems; submenuItems = [{ label: "Download Svg", click: function(){ return inc("downloadSvg/download")(o); }, icon: path("/../app01/lib/svg/shape/debug.svg"), iconColor: Color.grey[700] }]; return submenuItems; }; })(); pages/avatarPart/topbar/topbar.ls (function(){ return function(o){ var isDebug, div, update, userDescription, hasPlusAccess, typePath, types, navigate; isDebug = engine.isDebug; div = null; update = function(){ return div.replaceWith(div = inc(THISFILE)(o)); }; userDescription = inc("/../app01/data/user/calcUserDescription/calc")(); hasPlusAccess = userDescription.hasPlusAccess; typePath = o.part + ".type"; o.type = _.get(o.avatar, typePath) || "human"; types = ["human", "monster", "animal", "robot"]; navigate = function(type, plusOnly){ if (plusOnly && !hasPlusAccess) { return inc("/lib/popup/noPlus/popup")(o, typePath, type); } else { o.avatarUndoHistory.push(_.cloneDeep(o.avatar)); o.avatarRedoHistory = []; _.set(o.avatar, typePath, type); return o.update(); } }; div = inc("/../app01/addons/topbar2/topbar")({ back: function(){ inc("/../app01/lib/util/cache/set/set")("avatarEditorTemp", o.avatar); return startPage({ animation: "slideRight", history: -1 }); }, backLabel: T("overview"), subMenuItems: isDebug ? function(){ return inc("submenu/submenu")(o); } : void 8, coins: true }).append(Div().css({ display: "flex" }).append((function(){ var i$, ref$, len$, results$ = []; for (i$ = 0, len$ = (ref$ = types).length; i$ < len$; ++i$) { results$.push((fn$.call(this, ref$[i$]))); } return results$; function fn$(type){ var isActive, plusOnly, svg; isActive = type === o.type; plusOnly = _.includes(["animal", "robot"], type); svg = inc("calcSvg/calc")(o.avatar, o.part, type, typePath); return Div().css({ width: "4em", height: "4em", padding: "0.25em", borderBottom: isActive ? "2px solid " + Color.grey[600] : "2px solid transparent" }).append(svg, plusOnly ? inc("plusIcon/icon")() : void 8).tap(function(){ return navigate(type, plusOnly); }); } }.call(this)))); div.update = update; return div; }; })();