From 7269f7a3a567f2823b0cca1d0bc716a7a0389ecc Mon Sep 17 00:00:00 2001 From: Andrey Kleshchev Date: Tue, 8 Aug 2023 22:16:09 +0300 Subject: [PATCH 001/248] viewer#2023 Google Inter --- autobuild.xml | 34 +++++++ indra/cmake/ViewerMiscLibs.cmake | 1 + indra/llrender/llfontfreetype.cpp | 29 ++++-- indra/llrender/llfontfreetype.h | 11 ++- indra/llrender/llfontgl.cpp | 4 +- indra/llrender/llfontgl.h | 2 +- indra/llrender/llfontregistry.cpp | 50 +++++++++-- indra/llrender/llfontregistry.h | 21 ++++- indra/newview/skins/default/xui/en/fonts.xml | 94 +++++++++++--------- indra/newview/skins/default/xui/ja/fonts.xml | 94 ++++++++++---------- 10 files changed, 231 insertions(+), 109 deletions(-) diff --git a/autobuild.xml b/autobuild.xml index 95ee34439b0..1fa5182ef5e 100644 --- a/autobuild.xml +++ b/autobuild.xml @@ -2554,6 +2554,40 @@ Copyright (c) 2012, 2014, 2015, 2016 nghttp2 contributors description Viewer fonts + google-fonts + + copyright + Copyright 2020 The Inter Project Authors (https://github.com/rsms/inter) + description + Google fonts + license + SIL Open Font License, Version 1.1 + license_file + LICENSES/google_inter.txt + name + google-fonts + platforms + + common + + archive + + creds + github + hash + 22bcc72ed59926f00ed58a57f5e3cd3d9d82595f + hash_algorithm + sha1 + url + https://api.github.com/repos/secondlife/3p-google-fonts/releases/assets/195509500 + + name + common + + + version + 1.0.0.11083103671 + viewer-manager platforms diff --git a/indra/cmake/ViewerMiscLibs.cmake b/indra/cmake/ViewerMiscLibs.cmake index cae68fbc119..ee679777152 100644 --- a/indra/cmake/ViewerMiscLibs.cmake +++ b/indra/cmake/ViewerMiscLibs.cmake @@ -20,4 +20,5 @@ use_prebuilt_binary(slvoice) use_prebuilt_binary(nanosvg) use_prebuilt_binary(viewer-fonts) +use_prebuilt_binary(google-fonts) use_prebuilt_binary(emoji_shortcodes) diff --git a/indra/llrender/llfontfreetype.cpp b/indra/llrender/llfontfreetype.cpp index 62b551f1e0a..9a3ae6c55f0 100644 --- a/indra/llrender/llfontfreetype.cpp +++ b/indra/llrender/llfontfreetype.cpp @@ -144,6 +144,7 @@ LLFontFreetype::LLFontFreetype() pFtStream(NULL), #endif mIsFallback(false), + mHinting(EFontHinting::FORCE_AUTOHINT), mFTFace(NULL), mRenderGlyphCount(0), mStyle(0), @@ -186,7 +187,7 @@ void ft_close_cb(FT_Stream stream) { } #endif -bool LLFontFreetype::loadFace(const std::string& filename, F32 point_size, F32 vert_dpi, F32 horz_dpi, bool is_fallback, S32 face_n) +bool LLFontFreetype::loadFace(const std::string& filename, F32 point_size, F32 vert_dpi, F32 horz_dpi, bool is_fallback, S32 face_n, EFontHinting hinting, S32 flags) { // Don't leak face objects. This is also needed to deal with // changed font file names. @@ -215,6 +216,8 @@ bool LLFontFreetype::loadFace(const std::string& filename, F32 point_size, F32 v } mIsFallback = is_fallback; + mHinting = hinting; + mFontFlags = flags; F32 pixels_per_em = (point_size / 72.f)*vert_dpi; // Size in inches * dpi error = FT_Set_Char_Size(mFTFace, /* handle to face object */ @@ -272,6 +275,12 @@ bool LLFontFreetype::loadFace(const std::string& filename, F32 point_size, F32 v { mStyle |= LLFontGL::BOLD; } + else if (flags & LLFontGL::BOLD) + { + // FontGL applies programmatic bolding to fonts that are a part of 'bold' descriptor but don't have the bold style set. + // Ex: Inter SemiBold doesn't have FT_STYLE_FLAG_BOLD and without this style it would be bolded programmatically. + mStyle |= LLFontGL::BOLD; + } if(mFTFace->style_flags & FT_STYLE_FLAG_ITALIC) { @@ -422,7 +431,12 @@ F32 LLFontFreetype::getXKerning(llwchar char_left, llwchar char_right) const llverify(!FT_Get_Kerning(mFTFace, left_glyph, right_glyph, ft_kerning_unfitted, &delta)); - return delta.x*(1.f/64.f); + if (mFTFace->face_flags & FT_FACE_FLAG_SCALABLE) + { + // Return the X advance + return (F32)(delta.x * (1.0 / 64.0)); + } + return (F32)delta.x; } F32 LLFontFreetype::getXKerning(const LLFontGlyphInfo* left_glyph_info, const LLFontGlyphInfo* right_glyph_info) const @@ -437,7 +451,12 @@ F32 LLFontFreetype::getXKerning(const LLFontGlyphInfo* left_glyph_info, const LL llverify(!FT_Get_Kerning(mFTFace, left_glyph, right_glyph, ft_kerning_unfitted, &delta)); - return delta.x*(1.f/64.f); + if (mFTFace->face_flags & FT_FACE_FLAG_SCALABLE) + { + // Return the X advance + return (F32)(delta.x * (1.0 / 64.0)); + } + return (F32)delta.x; } bool LLFontFreetype::hasGlyph(llwchar wch) const @@ -700,7 +719,7 @@ void LLFontFreetype::renderGlyph(EFontGlyphType bitmap_type, U32 glyph_index, ll if (mFTFace == NULL) return; - FT_Int32 load_flags = FT_LOAD_FORCE_AUTOHINT; + FT_Int32 load_flags = (FT_Int32)mHinting; if (EFontGlyphType::Color == bitmap_type) { // We may not actually get a color render so our caller should always examine mFTFace->glyph->bitmap.pixel_mode @@ -743,7 +762,7 @@ void LLFontFreetype::renderGlyph(EFontGlyphType bitmap_type, U32 glyph_index, ll void LLFontFreetype::reset(F32 vert_dpi, F32 horz_dpi) { resetBitmapCache(); - loadFace(mName, mPointSize, vert_dpi ,horz_dpi, mIsFallback, 0); + loadFace(mName, mPointSize, vert_dpi ,horz_dpi, mIsFallback, 0, mHinting, mFontFlags); if (!mIsFallback) { // This is the head of the list - need to rebuild ourself and all fallbacks. diff --git a/indra/llrender/llfontfreetype.h b/indra/llrender/llfontfreetype.h index 783bf4a4b30..0045768d540 100644 --- a/indra/llrender/llfontfreetype.h +++ b/indra/llrender/llfontfreetype.h @@ -42,6 +42,7 @@ struct FT_FaceRec_; typedef struct FT_FaceRec_* LLFT_Face; struct FT_StreamRec_; typedef struct FT_StreamRec_ LLFT_Stream; +enum class EFontHinting : S32; class LLFontManager { @@ -86,7 +87,7 @@ class LLFontFreetype : public LLRefCount // is_fallback should be true for fallback fonts that aren't used // to render directly (Unicode backup, primarily) - bool loadFace(const std::string& filename, F32 point_size, F32 vert_dpi, F32 horz_dpi, bool is_fallback, S32 face_n); + bool loadFace(const std::string& filename, F32 point_size, F32 vert_dpi, F32 horz_dpi, bool is_fallback, S32 face_n, EFontHinting hinting, S32 flags); S32 getNumFaces(const std::string& filename); @@ -155,7 +156,11 @@ class LLFontFreetype : public LLRefCount bool setSubImageBGRA(U32 x, U32 y, U32 bitmap_num, U16 width, U16 height, const U8* data, U32 stride) const; bool hasGlyph(llwchar wch) const; // Has a glyph for this character LLFontGlyphInfo* addGlyph(llwchar wch, EFontGlyphType glyph_type) const; // Add a new character to the font if necessary - LLFontGlyphInfo* addGlyphFromFont(const LLFontFreetype *fontp, llwchar wch, U32 glyph_index, EFontGlyphType bitmap_type) const; // Add a glyph from this font to the other (returns the glyph_index, 0 if not found) + LLFontGlyphInfo* addGlyphFromFont( + const LLFontFreetype *fontp, + llwchar wch, + U32 glyph_index, + EFontGlyphType bitmap_type) const; // Add a glyph from this font to the other (returns the glyph_index, 0 if not found) void renderGlyph(EFontGlyphType bitmap_type, U32 glyph_index, llwchar wch) const; void insertGlyphInfo(llwchar wch, LLFontGlyphInfo* gi) const; @@ -176,6 +181,8 @@ class LLFontFreetype : public LLRefCount #endif bool mIsFallback; + EFontHinting mHinting; + S32 mFontFlags; typedef std::pair, char_functor_t> fallback_font_t; typedef std::vector fallback_font_vector_t; fallback_font_vector_t mFallbackFonts; // A list of fallback fonts to look for glyphs in (for Unicode chars) diff --git a/indra/llrender/llfontgl.cpp b/indra/llrender/llfontgl.cpp index 16eec1fdd24..d95eea526bb 100644 --- a/indra/llrender/llfontgl.cpp +++ b/indra/llrender/llfontgl.cpp @@ -90,14 +90,14 @@ void LLFontGL::destroyGL() mFontFreetype->destroyGL(); } -bool LLFontGL::loadFace(const std::string& filename, F32 point_size, const F32 vert_dpi, const F32 horz_dpi, bool is_fallback, S32 face_n) +bool LLFontGL::loadFace(const std::string& filename, F32 point_size, const F32 vert_dpi, const F32 horz_dpi, bool is_fallback, S32 face_n, EFontHinting hinting, S32 flags) { if(mFontFreetype == reinterpret_cast(NULL)) { mFontFreetype = new LLFontFreetype; } - return mFontFreetype->loadFace(filename, point_size, vert_dpi, horz_dpi, is_fallback, face_n); + return mFontFreetype->loadFace(filename, point_size, vert_dpi, horz_dpi, is_fallback, face_n, hinting, flags); } S32 LLFontGL::getNumFaces(const std::string& filename) diff --git a/indra/llrender/llfontgl.h b/indra/llrender/llfontgl.h index 1c8e036f58d..652cec8e5bd 100644 --- a/indra/llrender/llfontgl.h +++ b/indra/llrender/llfontgl.h @@ -87,7 +87,7 @@ class LLFontGL void destroyGL(); - bool loadFace(const std::string& filename, F32 point_size, const F32 vert_dpi, const F32 horz_dpi, bool is_fallback, S32 face_n); + bool loadFace(const std::string& filename, F32 point_size, const F32 vert_dpi, const F32 horz_dpi, bool is_fallback, S32 face_n, EFontHinting hinting, S32 flags); S32 getNumFaces(const std::string& filename); S32 getCacheGeneration() const; diff --git a/indra/llrender/llfontregistry.cpp b/indra/llrender/llfontregistry.cpp index c48a389f6a5..777bba3f250 100644 --- a/indra/llrender/llfontregistry.cpp +++ b/indra/llrender/llfontregistry.cpp @@ -181,16 +181,16 @@ LLFontDescriptor LLFontDescriptor::normalize() const return LLFontDescriptor(new_name,new_size,new_style, getFontFiles(), getFontCollectionFiles()); } -void LLFontDescriptor::addFontFile(const std::string& file_name, const std::string& char_functor) +void LLFontDescriptor::addFontFile(const std::string& file_name, EFontHinting hinting, S32 flags, const std::string& char_functor) { char_functor_map_t::const_iterator it = mCharFunctors.find(char_functor); - mFontFiles.push_back(LLFontFileInfo(file_name, (mCharFunctors.end() != it) ? it->second : nullptr)); + mFontFiles.push_back(LLFontFileInfo(file_name, hinting, flags, (mCharFunctors.end() != it) ? it->second : nullptr)); } -void LLFontDescriptor::addFontCollectionFile(const std::string& file_name, const std::string& char_functor) +void LLFontDescriptor::addFontCollectionFile(const std::string& file_name, EFontHinting hinting, S32 flags, const std::string& char_functor) { char_functor_map_t::const_iterator it = mCharFunctors.find(char_functor); - mFontCollectionFiles.push_back(LLFontFileInfo(file_name, (mCharFunctors.end() != it) ? it->second : nullptr)); + mFontCollectionFiles.push_back(LLFontFileInfo(file_name, hinting, flags, (mCharFunctors.end() != it) ? it->second : nullptr)); } LLFontRegistry::LLFontRegistry(bool create_gl_textures) @@ -289,23 +289,57 @@ bool font_desc_init_from_xml(LLXMLNodePtr node, LLFontDescriptor& desc) { std::string font_file_name = child->getTextContents(); std::string char_functor; + EFontHinting hinting = EFontHinting::FORCE_AUTOHINT; + S32 flags = 0; if (child->hasAttribute("functor")) { child->getAttributeString("functor", char_functor); } + if (child->hasAttribute("font_hinting")) + { + std::string attr_hinting; + child->getAttributeString("font_hinting", attr_hinting); + LLStringUtil::toLower(attr_hinting); + + if (attr_hinting == "default") + { + hinting = EFontHinting::DEFAULT; + } + else if (attr_hinting == "force_auto") + { + hinting = EFontHinting::FORCE_AUTOHINT; + } + else if (attr_hinting == "no_hinting") + { + hinting = EFontHinting::NO_HINTING; + } + } + + if (child->hasAttribute("flags")) + { + std::string attr_flags; + child->getAttributeString("flags", attr_flags); + LLStringUtil::toLower(attr_flags); + + if (attr_flags == "bold") + { + flags |= LLFontGL::BOLD; + } + } + if (child->hasAttribute("load_collection")) { bool col = false; child->getAttributeBOOL("load_collection", col); if (col) { - desc.addFontCollectionFile(font_file_name, char_functor); + desc.addFontCollectionFile(font_file_name, hinting, flags, char_functor); } } - desc.addFontFile(font_file_name, char_functor); + desc.addFontFile(font_file_name, hinting, flags, char_functor); } else if (child->hasName("os")) { @@ -462,7 +496,7 @@ LLFontGL *LLFontRegistry::createFont(const LLFontDescriptor& desc) // Add ultimate fallback list - generated dynamically on linux, // null elsewhere. std::transform(getUltimateFallbackList().begin(), getUltimateFallbackList().end(), std::back_inserter(font_files), - [](const std::string& file_name) { return LLFontFileInfo(file_name); }); + [](const std::string& file_name) { return LLFontFileInfo(file_name, EFontHinting::FORCE_AUTOHINT, 0); }); // Load fonts based on names. if (font_files.empty()) @@ -518,7 +552,7 @@ LLFontGL *LLFontRegistry::createFont(const LLFontDescriptor& desc) fontp = new LLFontGL; } if (fontp->loadFace(font_path, point_size_scale, - LLFontGL::sVertDPI, LLFontGL::sHorizDPI, is_fallback, i)) + LLFontGL::sVertDPI, LLFontGL::sHorizDPI, is_fallback, i, font_file_it->mHinting, font_file_it->mFlags)) { is_font_loaded = true; if (is_first_found) diff --git a/indra/llrender/llfontregistry.h b/indra/llrender/llfontregistry.h index 8bbf5aa30c5..bf190d903c9 100644 --- a/indra/llrender/llfontregistry.h +++ b/indra/llrender/llfontregistry.h @@ -34,22 +34,35 @@ class LLFontGL; typedef std::vector string_vec_t; +enum class EFontHinting : S32 +{ + DEFAULT = 0, + NO_HINTING = 0x8000U, + FORCE_AUTOHINT = 0x20, +}; + struct LLFontFileInfo { - LLFontFileInfo(const std::string& file_name, const std::function& char_functor = nullptr) + LLFontFileInfo(const std::string& file_name, EFontHinting hinting, S32 flags, const std::function& char_functor = nullptr) : FileName(file_name) , CharFunctor(char_functor) + , mHinting(hinting) + , mFlags(flags) { } - LLFontFileInfo(const LLFontFileInfo& ffi) + LLFontFileInfo(const LLFontFileInfo& ffi, EFontHinting hinting, S32 flags) : FileName(ffi.FileName) , CharFunctor(ffi.CharFunctor) + , mHinting(hinting) + , mFlags(flags) { } std::string FileName; std::function CharFunctor; + EFontHinting mHinting; + S32 mFlags; }; typedef std::vector font_file_info_vec_t; @@ -71,10 +84,10 @@ class LLFontDescriptor const std::string& getSize() const { return mSize; } void setSize(const std::string& size) { mSize = size; } - void addFontFile(const std::string& file_name, const std::string& char_functor = LLStringUtil::null); + void addFontFile(const std::string& file_name, EFontHinting hinting, S32 flags, const std::string& char_functor = LLStringUtil::null); const font_file_info_vec_t & getFontFiles() const { return mFontFiles; } void setFontFiles(const font_file_info_vec_t& font_files) { mFontFiles = font_files; } - void addFontCollectionFile(const std::string& file_name, const std::string& char_functor = LLStringUtil::null); + void addFontCollectionFile(const std::string& file_name, EFontHinting hinting, S32 flags, const std::string& char_functor = LLStringUtil::null); const font_file_info_vec_t& getFontCollectionFiles() const { return mFontCollectionFiles; } void setFontCollectionFiles(const font_file_info_vec_t& font_collection_files) { mFontCollectionFiles = font_collection_files; } diff --git a/indra/newview/skins/default/xui/en/fonts.xml b/indra/newview/skins/default/xui/en/fonts.xml index 45ec1e27f1a..fafe6a3ebcc 100644 --- a/indra/newview/skins/default/xui/en/fonts.xml +++ b/indra/newview/skins/default/xui/en/fonts.xml @@ -1,8 +1,10 @@ - - DejaVuSans.ttf + + Inter_18pt-Regular.ttf TwemojiSVG.ttf meiryo.TTC @@ -31,9 +33,10 @@ - - DejaVuSans-Bold.ttf + + Inter_18pt-SemiBold.ttf arialbd.ttf @@ -42,8 +45,10 @@ - - DejaVuSans.ttf + + Inter_18pt-Regular.ttf arial.ttf @@ -52,31 +57,35 @@ - - DejaVuSans-Bold.ttf + + Inter_18pt-SemiBold.ttf - - DejaVuSans-Oblique.ttf + + Inter_18pt-Italic.ttf - - DejaVuSans-BoldOblique.ttf + + Inter_18pt-BoldItalic.ttf TwemojiSVG.ttf - - + + DejaVuSansMono.ttf @@ -103,9 +112,10 @@ DejaVuSans-BoldOblique.ttf - - DejaVuSans.ttf + + Inter_18pt-Regular.ttf arial.ttf @@ -114,10 +124,11 @@ - - DejaVuSans-Bold.ttf + + Inter_18pt-SemiBold.ttf arialbd.ttf @@ -126,10 +137,11 @@ - - DejaVuSans-Oblique.ttf + + Inter_18pt-Italic.ttf ariali.ttf @@ -138,10 +150,11 @@ - - DejaVuSans-BoldOblique.ttf + + Inter_18pt-BoldItalic.ttf arialbi.ttf @@ -150,10 +163,11 @@ - + times.ttf - DejaVuSans.ttf + Inter_18pt-Regular.ttf - NotoSansCJKjp-Medium.otf - - - DejaVuSans.ttf + NotoSansCJKjp-SemiBold.otf + + Inter_18pt-Regular.ttf + YuGothM.ttc @@ -41,7 +41,7 @@ - YuGothic-Medium.otf + YuGothic-SemiBold.otf ヒラギノ角ゴシック W3.ttc @@ -82,9 +82,9 @@ NotoSansCJKjp-Bold.otf - - DejaVuSans-Bold.ttf - + + Inter_18pt-SemiBold.ttf + YuGothB.ttc @@ -106,9 +106,9 @@ NotoSansCJKjp-Bold.otf - - DejaVuSans.ttf - + + Inter_18pt-Regular.ttf + arial.ttf @@ -121,19 +121,19 @@ - - DejaVuSans-Bold.ttf - + + Inter_18pt-SemiBold.ttf + - - DejaVuSans-Oblique.ttf - + + Inter_18pt-Italic.ttf + - - DejaVuSans-BoldOblique.ttf - + + Inter_18pt-SemiBoldItalic.ttf + @@ -144,29 +144,29 @@ - - DejaVuSans.ttf - + + Inter_18pt-Regular.ttf + - - DejaVuSans-Bold.ttf - + + Inter_18pt-SemiBold.ttf + - - DejaVuSans-Oblique.ttf - + + Inter_18pt-Italic.ttf + - - DejaVuSans-BoldOblique.ttf - + + Inter_18pt-SemiBoldItalic.ttf + - - DejaVuSans.ttf - + + Inter_18pt-Regular.ttf + arial.ttf @@ -179,9 +179,9 @@ - - DejaVuSans-Bold.ttf - + + Inter_18pt-SemiBold.ttf + arialbd.ttf @@ -194,9 +194,9 @@ - - DejaVuSans-Oblique.ttf - + + Inter_18pt-Italic.ttf + ariali.ttf @@ -209,9 +209,9 @@ - - DejaVuSans-BoldOblique.ttf - + + Inter_18pt-SemiBoldItalic.ttf + arialbi.ttf @@ -227,9 +227,9 @@ times.ttf - - DejaVuSans.ttf - + + Inter_18pt-Regular.ttf + From ce45474f0ab3c0eb89d6a2cd92d1fc4ef356fa0a Mon Sep 17 00:00:00 2001 From: Andrey Kleshchev Date: Mon, 17 Feb 2025 18:03:34 +0200 Subject: [PATCH 002/248] viewer#2023 Google Inter #2 Bums sizes up because Inter is smaller than our old font --- indra/newview/skins/default/xui/ja/fonts.xml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/indra/newview/skins/default/xui/ja/fonts.xml b/indra/newview/skins/default/xui/ja/fonts.xml index 465131499eb..874f530f17c 100644 --- a/indra/newview/skins/default/xui/ja/fonts.xml +++ b/indra/newview/skins/default/xui/ja/fonts.xml @@ -233,7 +233,7 @@ - - - + + + From 2cd88c6a2b1f2113fc999b94c51903bfa059c03f Mon Sep 17 00:00:00 2001 From: Mnikolenko Productengine Date: Thu, 21 Aug 2025 18:22:02 +0300 Subject: [PATCH 003/248] Update accordion ctrl; change default selection color --- indra/llui/llaccordionctrltab.cpp | 2 +- indra/newview/skins/default/colors.xml | 2 +- .../containers/Accordion_Selected.png | Bin 228 -> 15050 bytes .../textures/containers/TabLeft_Flat_Off.png | Bin 0 -> 18169 bytes .../containers/TabLeft_Flat_Selected.png | Bin 0 -> 18193 bytes .../containers/TabTop_First_Flat_Off.png | Bin 0 -> 18167 bytes .../containers/TabTop_First_Flat_Selected.png | Bin 0 -> 18172 bytes .../containers/TabTop_Last_Flat_Off.png | Bin 0 -> 18164 bytes .../containers/TabTop_Last_Flat_Selected.png | Bin 0 -> 18166 bytes .../containers/TabTop_Middle_Flat_Off.png | Bin 0 -> 18168 bytes .../TabTop_Middle_Flat_Selected.png | Bin 0 -> 18174 bytes .../skins/default/textures/textures.xml | 9 +++++++ .../default/xui/en/floater_preferences.xml | 4 +-- .../skins/default/xui/en/widgets/button.xml | 3 ++- .../default/xui/en/widgets/tab_container.xml | 24 +++++++++--------- 15 files changed, 27 insertions(+), 17 deletions(-) create mode 100644 indra/newview/skins/default/textures/containers/TabLeft_Flat_Off.png create mode 100644 indra/newview/skins/default/textures/containers/TabLeft_Flat_Selected.png create mode 100644 indra/newview/skins/default/textures/containers/TabTop_First_Flat_Off.png create mode 100644 indra/newview/skins/default/textures/containers/TabTop_First_Flat_Selected.png create mode 100644 indra/newview/skins/default/textures/containers/TabTop_Last_Flat_Off.png create mode 100644 indra/newview/skins/default/textures/containers/TabTop_Last_Flat_Selected.png create mode 100644 indra/newview/skins/default/textures/containers/TabTop_Middle_Flat_Off.png create mode 100644 indra/newview/skins/default/textures/containers/TabTop_Middle_Flat_Selected.png diff --git a/indra/llui/llaccordionctrltab.cpp b/indra/llui/llaccordionctrltab.cpp index ac665250306..ae844dd22f8 100644 --- a/indra/llui/llaccordionctrltab.cpp +++ b/indra/llui/llaccordionctrltab.cpp @@ -39,7 +39,7 @@ static const std::string DD_BUTTON_NAME = "dd_button"; static const std::string DD_TEXTBOX_NAME = "dd_textbox"; static const std::string DD_HEADER_NAME = "dd_header"; -static const S32 HEADER_HEIGHT = 23; +static const S32 HEADER_HEIGHT = 25; static const S32 HEADER_IMAGE_LEFT_OFFSET = 5; static const S32 HEADER_TEXT_LEFT_OFFSET = 30; static const F32 AUTO_OPEN_TIME = 1.f; diff --git a/indra/newview/skins/default/colors.xml b/indra/newview/skins/default/colors.xml index 2ad285eb1ff..8d4d28a9996 100644 --- a/indra/newview/skins/default/colors.xml +++ b/indra/newview/skins/default/colors.xml @@ -4,7 +4,7 @@ + value="0.3 0.82 1 1" /> diff --git a/indra/newview/skins/default/textures/containers/Accordion_Selected.png b/indra/newview/skins/default/textures/containers/Accordion_Selected.png index 0616dea6a349f790fe633bac125da58867ace1de..ab852007ab52c2512a6864b2c8b3a546bebd9d96 100644 GIT binary patch literal 15050 zcmeI3Pi)&%9LL`@{%nOIBqZ37kW9u9usQydq=`+EQId{UBBg3Gtv#)d{gPNsY-2l3 zS|L=yg$W_h1foKdxa^E}MM#VtI3N&k;KT`W;-3T(Cr;(r&L8)e~#l*SKE0WqE3^kOUe&O zJj&@wPw$)c(c&D46ev^g9rw&BZh;cHgKq8JMj%>*$jwqe${C&f_I zR4yJPHWS7mrDJHmcBm-vxv@BguGVe0t@%Z>tu?UVSdF|e8jQ^xZYZ^6w``Z(7A~gp z!ldDtSGdX4Ma%OwOUH}lA{j`UrlIDr%e*KVv!WC`C8Z{%jNBk}%zZ5M zORhEH$Dhd_OnjXZn z>wZ^r@mz!KiGL{bDBwX47&$KlJ-=oC2W#MITer6Yhby7mT!DBy`d?OHw0HHUW;L); z6b9RNFmSjU#r-yfCKF4;#~STj;y7#ka9j^?igHQ4He^RqJPV1^9p_>qc*-u-sf;}Hj_zZ@&X)&9?NDAx7Nxg z>9=0cMdTb|5;{R;qUUQwqbE%CXWMHm^H*F?ymq z85P80NdOSK$#Bv60F~haKdBoexkME&zmXGF)^%KxMc95W2~5(fI(C;Q~PDCc{PN z15}0!0HK=<7o87K87=^XZZceSK0sx-01&##aMAeymEi(F=qAHO=L1xR3jm>;3>Tdb zP#G=≷libUr|3xBw8k$#Bv60F~haKYeY$Kep*R+Vo@rCV@iHfs)A>3VtQ&&YGO)d;mK4R1_p*UPZ!6K zid%2)9OQLy5NNxo=pkdWfMMzjPuo`k)0$hjSF;IE|32w1)4#*zbF`F>F?d|kxotI@ z(WBev=eN&0d>CtTU;Nr;#yr6@g<&G23!4Liazy1a3P^$_1tcHDzwf0A&F8P84xL!5fP;dgE~q_ z1w|21nt&o8*a2k}5YYkOfDVode3v5NRrAfa-hAt=w^p)N$lYh3{Xh5o&c6Geo3+9| zXGd#!nWZuS0La_gSh#|pR^a;wDGBiJ#*7f#3qrP zoqae04&R5vh1rrwFfNb7Wcx7yAhrr_@elg zx*F0->ti)eJW_V4nr~@2Ppu&{R{YSR@Po=OdUE?^9!mCToIDhHDt7i($B2j`{NWzeU#9);;Y(m`2EGa{(o(V!8%@R7(ta z7e*kg(X5ob3Wx>Yk(B}}9nvaM%VNeAUz(?E77O1iRw;;IYbO=H2rvyjWPS!PwGs$U9w_PIfmp87Y^$gh+vEG(Et|H(dVeSMQ%M*u7A3f^r>3O)m)_fE7rpN9vR`s?@k5RwB!U!Kn z-u`y=nRWzbON8~jcfVENdSicjS<4aWz22SA zNQsC0L_Tc^8h>pvYMr?P2xr>!DFCp@jLQ z>O;o7?{G1jt**qcYXC5NK1P>YqmM=uxftJ-yGSa{#xC7!byD^=U4TxFTb!A8n|EQU z@j;^#eYf*`6x-v7qU5)wqwR+MCw8rzA`Eq%6OV4e{7cblQmez7U zXx@Sd%SvgZc|qnd>T)w1iao{gp-nbynYO|Fc4@4%_+FRlRhkLeb{AG&ng3Vq5^oGT zhGL_qb$>zJLZs5JSW+!kd%->uW>x9o?`+TiN^V=wX4Mwps@1QTlV)JER4d^|JKeWP z5_eP&wx%JfC%vbpN54m{M`LJ{OuDye;IHr8p6R&W+`eA5SE<*aSAvm@F>^na>iRhQ z1bMz;+(z?)6D6)^U1G8q8th2LHAODAwL4vK^4OiFJ}N#V?6WTfSLQ!Hw%jr4wntlI zzx9ix7vgV%s4*Gr3Q4W!;C}8_97wTitdSTDj}Hb>~RmP0Vx8O?Q6frsl@V zS(hD?%gW}EO@0mY9Nj13Sz}-0MEcbw^Zd5%@;aC-O|>{!Ps3L}FM3CWVeQKEO^<%u zsauvjs$O=$I5+16j-sVmQ2=S z2V?x(LPW0bX|)q&7D3knvIdhgu5Jy_u;*kw390CNzic;hlsxMHKI^Tu97Up7PFtcw zu6YUJx?v!PppLBX_``*?rN)$WntF_y^mK20X)EE>J*%Is6c4iNHg{`x``7u`omwfe zQe&l^!%K(3R9A=6Gpo<6vtMUl-*l_#WYhf=!!%>`15969U)qDTu1j7UgE#7xWS3lK z*cSC{JmWc7QXUYs5$AcD;=XZ9u~k8O!HWB31!YPe32K_@UFElMp9^}9b&ne=de#fx z25xy8+V(a*tvIcEAiLx2pwS?EFsAdDTL!zvO{pQl!Y9jl~F_dptewY)< zDS~yePYX#y#(NYzICtrEQ0@rzwF>c1BJY=OVmAT%1oOmm+bwM6rG`t5PBom2ZBbpM zpR~s5#qBBB(_2-b z;nVQ@;R213zU1ckX0}31dP7}eE@C^O9ec&#ib)-U>3QoOC7ojHXSWQ8&@D6y@VnaeabP&+ zS^6{C?p-R$$c8Q4kQ2?-Z=$jm=O7m7;S){mV;$EX{g;`NZua7XD~1*ZtvDnTQmtOi z(nPizwZ=XqZPs1xIAo*i5PIbI_;SM#?d$rd^?FP9uF5%FZZB{DI1Qh%ICUq?A7hNK zKt~>lKOAVDtKpDP!g|Si&fM9U&xk4-yB=`h5_0)5$s4}Khx5Ppgv*qepLs#vsPjNq zvWUg-U|wt5cN3SGm$9a4;8yX?j>FjFuYVaISWvy->5-Dt(RLnib;|RK{O!0RLSRUT zOtFk-u`LXflO-B=_rdVA(fuGMz~zg$hy(ow9bV5EBOuiJ=tim z?eRtGgLeU~gKE3V|1|jhUdN{Lkx}A}s~zrQ?hf~u_ZS~+KNOFc6z7&&TVYX>lz=diqDC zyGEAF{~h*T5)j~bEID_1Ka%gO-0Bb zi^uQZ%fJ~wt{4vGj9edi+qL*{7;n{Rb7R?~pjCqf-k1)UJt94hxo5Iztn=aP z&Y!kd24xPnc3O`}L`AlY#lMYHBz+&364w|lAN?w0EfI%%X2Kio|CmK;p|`BeP#HTp z)>x>r7#a5N-m3@At;ww?l7^BJuKE9Xdh})GE7h|db=7stuigmOM{j+z;ln^xP-l?( z>r-8dPCY-ue$pBD`Rn{!x7%4C5>yis#^;GA4}YZT!#ePy4XHBE>zgkU@<;Li|HVZr`>0epP0vF4;M9z33CMry()y9j)ZHO(dlgi#!vVI&TZ z0W(Ax!f7ZB8ivIo(1r#$G+GaaL80}LXcQ8IgQL-S11uhG1e<(2gYYna|F1^! z1(rL(Gnt;*R|n*iL%0m2D}&G3!J{!OcQOJ5T33HT^EDcN3H-OVI7%JSGW1qY_>76G z&{*@+WjIq`X3EDz%;eRKr_v@04UsmHs|-2;`C04iY0X4Vhq1q0z`sX%N`FrHx5o(b zVFU2*(*3G2v@*Mhq;S#$I4^1w^(#mBm1E16Ty)Y~yUA z5N5UxcoN5t!*k%!8AN>o@@vgsjRLSGRWPdCMyuqQsT`KsR4xQ_UhI$GQo$H2%&PKWi zumwcS^k|UgIZ+ckq$#Lw;AWmd1g8dVg7$W12Q&OA7HsfF&Y!qFVZk{~#y}lk4fLE1 z)c-WtWZ)dfbl_Av&DnBK*7d1Ya6=D1OCV<+CcY^7GdIP5@?dsG|D-BJOEd@sh;UPc zOE@2hSA+`!M7Sx!C7ch$E5Zc~#CE(j3erU;jCJ`k@67X*lKQ-n)6ABb0k3j##ADZ(Y355z0N z1py-56yXxi2jUgsf&dY23dJQe`}15z0Qj5SAn?bxn7hwo!5{9zXg01601&zY0Ky{y z;IDD;vmXFZYAeGoKJ8kd?7TDa zz}~ckLE?Km_juJSQkCIi;u3O8P+s7H*5u!5Q);qNPvufgr#JwNkBb9KBBjLQZg=~F P+JLR4qeY>)*Pj0Y7wOM5 literal 0 HcmV?d00001 diff --git a/indra/newview/skins/default/textures/containers/TabLeft_Flat_Selected.png b/indra/newview/skins/default/textures/containers/TabLeft_Flat_Selected.png new file mode 100644 index 0000000000000000000000000000000000000000..cc310bbc262eb21c7d4a22528de5771856424001 GIT binary patch literal 18193 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 literal 0 HcmV?d00001 diff --git a/indra/newview/skins/default/textures/containers/TabTop_First_Flat_Off.png b/indra/newview/skins/default/textures/containers/TabTop_First_Flat_Off.png new file mode 100644 index 0000000000000000000000000000000000000000..177d341ba36d219a25a541e2bbf159e52a146f36 GIT binary patch literal 18167 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 J6j*QE{%^?e%a{NF literal 0 HcmV?d00001 diff --git a/indra/newview/skins/default/textures/containers/TabTop_First_Flat_Selected.png b/indra/newview/skins/default/textures/containers/TabTop_First_Flat_Selected.png new file mode 100644 index 0000000000000000000000000000000000000000..54bd4d923d16c1753c4d161c6254022390efb8c3 GIT binary patch literal 18172 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 TTQIr=k_VjZ+-&n~Hf;Mh4R6m; literal 0 HcmV?d00001 diff --git a/indra/newview/skins/default/textures/containers/TabTop_Last_Flat_Off.png b/indra/newview/skins/default/textures/containers/TabTop_Last_Flat_Off.png new file mode 100644 index 0000000000000000000000000000000000000000..28a315665bd8ae7d02e264bfe2a9b1bfe028b7d0 GIT binary patch literal 18164 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%0AXY)8=e=EvF&Cg@F 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 NY%Luv3e30e{vUy-%@F_q literal 0 HcmV?d00001 diff --git a/indra/newview/skins/default/textures/containers/TabTop_Middle_Flat_Selected.png b/indra/newview/skins/default/textures/containers/TabTop_Middle_Flat_Selected.png new file mode 100644 index 0000000000000000000000000000000000000000..e4e4d27d426f5cb97935081083aa101e4d69cdc7 GIT binary patch literal 18174 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 QAQNz~aj`D4+Pw3B01ws8+W-In literal 0 HcmV?d00001 diff --git a/indra/newview/skins/default/textures/textures.xml b/indra/newview/skins/default/textures/textures.xml index d650e7e791b..28824ac1f4c 100644 --- a/indra/newview/skins/default/textures/textures.xml +++ b/indra/newview/skins/default/textures/textures.xml @@ -685,6 +685,15 @@ with the same filename but different name + + + + + + + + + diff --git a/indra/newview/skins/default/xui/en/floater_preferences.xml b/indra/newview/skins/default/xui/en/floater_preferences.xml index 4b0e0bb2214..b7d992bcb44 100644 --- a/indra/newview/skins/default/xui/en/floater_preferences.xml +++ b/indra/newview/skins/default/xui/en/floater_preferences.xml @@ -82,8 +82,8 @@ name="pref core" tab_group="1" tab_position="left" - tab_width="140" - tab_padding_right="0" + tab_width="136" + tab_padding_right="4" top="40" width="658"> - - + - + + tab_left_image_unselected="TabLeft_Flat_Off" + tab_left_image_selected="TabLeft_Flat_Selected"/> From b03a92ceb73dca89708d7ed2c47043040a764f9c Mon Sep 17 00:00:00 2001 From: Mnikolenko Productengine Date: Mon, 1 Sep 2025 14:57:20 +0300 Subject: [PATCH 004/248] Update icons textures --- .../textures/bottomtray/Cam_Rotate_Center.png | Bin 10689 -> 1816 bytes .../textures/bottomtray/Cam_Rotate_In.png | Bin 407 -> 1794 bytes .../bottomtray/Cam_Tracking_Center.png | Bin 1714 -> 1806 bytes .../textures/bottomtray/Cam_Tracking_In.png | Bin 328 -> 1717 bytes .../bottomtray/Movement_Backward_On.png | Bin 353 -> 1723 bytes .../textures/bottomtray/Movement_Down_On.png | Bin 50907 -> 2091 bytes .../bottomtray/Movement_Forward_On.png | Bin 321 -> 1710 bytes .../textures/bottomtray/Movement_Left_On.png | Bin 51806 -> 2269 bytes .../textures/bottomtray/Movement_Right_On.png | Bin 50161 -> 2063 bytes .../bottomtray/Movement_TurnLeft_On.png | Bin 430 -> 1806 bytes .../bottomtray/Movement_TurnRight_On.png | Bin 427 -> 1946 bytes .../textures/bottomtray/Movement_Up_On.png | Bin 51965 -> 2282 bytes .../textures/bottomtray/VoicePTT_Lvl1.png | Bin 557 -> 1960 bytes .../textures/bottomtray/VoicePTT_Lvl2.png | Bin 663 -> 2053 bytes .../textures/bottomtray/VoicePTT_On.png | Bin 451 -> 1842 bytes .../default/textures/icons/Info_Over.png | Bin 520 -> 1974 bytes .../default/textures/icons/Inv_SysClosed.png | Bin 656 -> 2266 bytes .../default/textures/icons/Inv_SysOpen.png | Bin 766 -> 2361 bytes .../default/textures/icons/back_arrow_off.png | Bin 1223 -> 2546 bytes .../textures/icons/back_arrow_over.png | Bin 1256 -> 2556 bytes .../textures/icons/back_arrow_press.png | Bin 1417 -> 2638 bytes .../default/textures/icons/check_mark.png | Bin 1227 -> 2136 bytes .../skins/default/textures/icons/hand.png | Bin 1183 -> 2337 bytes .../default/textures/icons/see_me_online.png | Bin 645 -> 1843 bytes .../textures/navbar/Favorite_Star_Active.png | Bin 704 -> 2241 bytes .../textures/navbar/Favorite_Star_Over.png | Bin 445 -> 1967 bytes .../default/textures/navbar/Row_Selection.png | Bin 231 -> 1736 bytes .../widgets/track_control_moon_back.png | Bin 1767 -> 2587 bytes .../widgets/track_control_moon_front.png | Bin 2060 -> 2479 bytes .../textures/widgets/track_control_sphere.png | Bin 7537 -> 9705 bytes .../widgets/track_control_sun_back.png | Bin 1626 -> 2439 bytes .../default/textures/windows/Inspector_I.png | Bin 547 -> 1974 bytes 32 files changed, 0 insertions(+), 0 deletions(-) diff --git a/indra/newview/skins/default/textures/bottomtray/Cam_Rotate_Center.png b/indra/newview/skins/default/textures/bottomtray/Cam_Rotate_Center.png index ffc3c85ea2a96cb82eeb487625eac03bb1c90aa2..2e84daaf6b3ae43d79fcd6e1228d510e2ad658b6 100644 GIT binary patch literal 1816 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 diff --git a/indra/newview/skins/default/textures/bottomtray/Cam_Rotate_In.png b/indra/newview/skins/default/textures/bottomtray/Cam_Rotate_In.png index c8560c08694df687691a352123fdd8a5abe39ab1..1854cb87dfb527b83a9bac2970dffe7ab75c5593 100644 GIT binary patch literal 1794 zcmbVNYiJx*6rMEZDN(TX-PUn}iP6k+-#3}G>Fl=I(oN%Lp()zOWadtG$nMZAD;{hZckbN# zo$s9U&ADd|_x0{*YJ8-TAc&@TPc(_2z3yFKi^o^qBRAnkgW0p!CWyP&yLT1w=JAIJ zqUMmE8gK>@yMThSjI5$T$mFvoMiWHmmb@t|!_XlI;gD{K)Q!bYC{kBNYEK}+B}@sX z^`3DH_K)|bl<{FDqEcJB$j&^#1X<|FWImfQY>*czj~C#%yUbFg2XTf)s@ru)4kY?W z30aT~FhN@3{Q?<^Fno}U2>y0b;P?>Bg;?H4b3EXJz!xD)7lpl9ss@tL?ImCMO{CI} zV*-}V<#J5U#~^En@%L%L?&=^76V}>K=X~S+VGen`SSi0%x$RJ%tc@T{_B84Me zNg-=iXbrn06Bdlk%O=Y+oSTvdRFw+O9I-NwBq}~`8%s7@abY{LQJh9eklUi|)R+m`B(%|prNG!I4zte|>^ zs1Qi;KEMeez^#Ges!?S}{#UT701a7L8Rx8Lgw4eZfvEXmlP$+-~=z|R98PSj1Vr8ytz*p8VG){NnLFlj54>BGpd?M{NcO`+rCCNN zy)p!{;vO%NQrxl2e(w;txFiv3^K9XtE+ z8F4tdbIjNl|>h9SXHj7J>x6aQ`eelCIcRtf~Z`iD@ z`E_=0%{T22zI*X2>FU@=3vYp4n`Zp!AJIFS{kZNdPB>@)%8^|`P2QM;r|yw#AChD_qQD^`~h|!QHcNm delta 362 zcmZqTo6bBzMOU)KHKHUqKdq!Zu_%?nF(p4KRlzeiF+DXXH8G{K@MNkD0|TR_r;B4q z#jQ7!_pyrC&z;)6p`8C_^WFzyYu@B+*>pjv)z!hVKzg#i0EdQQnn2B~pAU*=nj05b z?nzuWW7WFXqLFrMgV?S2THT)?vhs7N>bo5crI)rXYtI)~Pj@cpzQ}iJ+kM^rZ0`l{ z)NIMSb#BgO{e!#NzYDINzHR%1O@SZY9XNa8S7v;zpbhK$XZH`+v%a-hyZK4(;RmtR zA?Y2>=g+Zc2b@}y-MaVb?fp-gCGN;K-e$S3BmLk&BQranj75R{?9zg=IkG_Zj!VxO z+0QL_u+Mn)gIQ0FN@rJj*!o{D3vOSzcoN&%KWne(=(2#cse|?Ufeo0`05ku8-t5fMAHlyweF@+SA0tXXMuxAol8mG0P1|FF#^Z?2)2ylIm5 zuGQJi|NO%tGGq$#524EZLT9I9l@&KpI+)B4gfXNJW$wd{GPDCX@Xht^Y|H#wAWz;r z@9%v+etDiJ&vtihYgqHZ8iF7iQk{t&{Ok(uy46@7c!O-hk2{^t$2@{ynuEKhINml) z5UUDiI^$=Q9ioOTM%7UkGDXY5Xo6^MD>|w+0DUqGbEYj(S0|5Cq^V2Po`?bzM~3}o z=co&JjdrEA(E&}+skSX-Yf;1oEaREqO`_^c`_z2Toed=_z{u^T#N-VmJ88<6G2oA31s=Aus2sX#Gb^~vM>B5QT@K} zh%8$u6qrJYL2i!a1VLZ{&+e6(ZocGP*I1Z`7PNg2W4S8U=|?{D`qAH*u5K@J zfT>lKs*hX7Vp&xeo}V1XX_N`MCE81mIFRju9vX5rm>kAoHV4@_qU=J|M{XLSeC0!R zS3)LbIruPf^5H$Et)qgsY0(*&P<<#-Jm4cVh|?gP=77ip5rkR zlIB7p;Ki`81d6LhSAF$g!MY|I$hB0QvuUY0$U1h8BCAY_GRh+tJI2w47VA^8-0dR6 z%;OEOXIlrEO3G1Ah(>9i;T8isO%GEt@>g;}#5i0|4BQq^6-ZldZW()lg8~ulpTY!1U@C&L7+jE$$|5DW~j-L%C!a^$S z@+?bxi>5~fjz?0ktj=^;w-ZxylTs}Y zGB;Od-@BjwEPT4Jk-o3#`u^459DOxY&s>_yPGnB*?2FXNhtLJ(wJ)bZo&5AzJpRL^ zb7N+1Hv8zNU*?m}%+&rB8<)#_;(=z7ym_W2d*hX>$I!>$-TPw4hHtk#R4DMn^n2Db!t`JwIe|}-@T@T`5S1y-#)CQWWJa_!^idBP} Vf9Q#q*9U*BRI)4aPDkG}e*(bGVo(48 delta 1679 zcmV;A25|X~4zdl9BYy=+dQ@0+Qek%>aB^>EX>4U6ba`-PAZ2)IW&i+q+U=KHjwLA$ zhTmDmECFMDVL99^%?^6`^Fv1EwYsFLo|l&Lpc6p=VZfiU9clmd-$?(#uW-w$in%t` zj9+cFm5z$%m*2~sa=q94tNZDrkL~HTqo9d#=a)x)+Nq;m-hW=O`m~Ra?aAgN#~(pY z#}9#gW-h2aoY(<>F8-E`MK_{hTgA;-e&&L z!SQMYUv(GDBY*bG?s`>dO4GBcA6vOK41_u>-`5ny@E6qWmWJZk;smh;ngeAfYE+=@ zph}B61?_vEG_k~5b}`&bnb7-bbGFjTyin>X6vcpNC3Y~GpvGt}uWO+@Z@cqNa?HF4 zBMU*;q4=ewpEdqTc@-3KOqVG8tFExFa%>vQIONV1qkjN|;?b#G{oaz^*-d^2mO)Ui znjIVLdAx`iLT|RkmosCWMg%=N_;jqia4iD_ zNTe)E0XEDEI9|@&c*p3DEmB^Z;aUJfSlNIE2MDlg71)nehYfX{o|;5N#l)paSJtYc zs;0+Bb$?^4CZ=ZQ)~q{wb#Zlb_vXEo#&BWMv{`E2TI(H?c8KnHyJJM}qYNH($k1WK zM;m>@d}f_8b=vgVW?yCT!tr0aEG=Jc^-UY5wCk3w+qUnvd%)I$qlScrg-472O6{Tg zks5s>_iJkOP&>rx9cORU&}{ZY1RZxGhZ%^KN`D}3hX4$^9A??6)^f-lX1Ns{3MrsQ za^NgF#6YlaDiZX{?v30pxh1K;#jX4uxpdI|Kggwn?jiS;+fS&iej^HBK<5-5ox%;m zv0=dWUc8@}^vCz~PX&An`WE!>7POF6#BPL8Jo?5tZev?C+NL|!)->00Bx1T78rvSS zCV!kE96>~P4BfR`ARww$YIToV@?J%)wMBxLPG9aGDRyT(!L6Jocmd06m%IuGvJ9D{ zEw*|3IA&WT#$0V6Z;-qe7lZFm&n`*5uGPz&v)_%dxp4HZ0~)eW zUHy2Wx>pM3Fz>_XHbTt<=srQbng${nFi7g*x+g(_ ztJKyuTdT8IY&ExuWY{#b?<_hN!QErPP=Fh`PY=rB)|buNlIG*JA$%faR0Mp)AmpLD z=EB2yTG1i!pqW_PS`<9BV;QjoNd(fh81;xs9y|;I0yIP?lI|9xSD^1uf7BUp`hS;M zh7}BrQy(ycIX9qd@ww(kx}WA_bgTX|^G?4QFc$NstLQnEV=sq+uG#_UAy^3nT|h7$ zgv+j}uS-z-YEv&k3h05FD55J;S|JdHJ!3FPQ3iTPhD&<`RpN%=ji@^jgC|rvPeP6` z?YkaQ7gJq4_?pv0$`K4F11K<=(SMvlX~3e9N#jeQ?&`%xqlx_7@fA1>u^n3@!?rY^ zEe4i-Z3;&Tr%g{3JqPN<{`DXPh%*Ff$z?c1&IS*|Y&{=_otNYL2$@dtkw2ZNl>h8# zeYt-X#5K-wLS_Za91W+bT^7-Jj4&I4+@N%^zB7^mRIu~NX&eRge0@%1J8vI8a-Gd} zKX6s>TR2l)4PNT_s_xeyc73!(0=2s*mSY>RfU-?s@;r~N<1Fs5y{8h+fy|7gr1tA- z;CsmN1+qDA!q;q0P0CZK~#9!?bp3+!cZ6m&`?5n;V zy8T$nn~vr8ER$CK607FZ+3LC3Hi|2*ds>!vM3*J2xU0+J#p*!4|y1pH{!&olDF2J5#0000000000004jF Z6%FmnPZaQ=3!wl2002ovPDHLkV1f@JH=6(e diff --git a/indra/newview/skins/default/textures/bottomtray/Cam_Tracking_In.png b/indra/newview/skins/default/textures/bottomtray/Cam_Tracking_In.png index ae2c57c207c601bbc7e50b39b20f9b17a0d21f44..a9415e9cc048b52a4c5b1fccf1588607da4a44d9 100644 GIT binary patch literal 1717 zcmbVNU5MON6wZPcx4Mhi2aC24Gq5O{XF4?=3E9gt}x?*tSJJ}r#3DwhZhvUAxP zHc4H=Muix!OA(okD}oe5iX3@@m5~$|QCyV5Jd!Yq;jqGXE)J}@MhWLryE?YuP30=S z?_g1^*Xu$(EKs*BN{XV0NET(82L$gmZC`8fwioI$q==`xrsJE`W&=j8NNc{zfv4>d zET>0ndmWiTFtMRIq9mXoq!!T7dpM`&R$ImmT_jav5!?3wEA_BWh5FR1(7&PXZQo)5 zq|Ih~Ha7IdvU(;wKfMTHbOhND?G>615%a{OHCHF;MQ}3|MC0J3OEjOl1xl;k4>i+u znN22x4>QU>I&0bnt$UC4ogpdBCn_f+Im)9^9z_Zg!ZN}r!lO7ws140h!z?v#h04)_ z6vjx#5jfTdg{(0&U;9_Eq2m&DEe&EeEv-yM$1ZbhPf47lRqBFa@GjiHo=GNWTv{@# zu;Jx*Pq3MEGA1dp7%vM_KXB6YK$7NP!37?JyAlp}JRS)(l(AjF#3nWCK*5CqGVSt# zj4gmKEOm%Y48SDDS}J6-IAeRhX6q!AQaO-aFiis+5|WjY66KAs5$EM-MCXe{itxpl z9tlT`xU5CnD#G~`)oVd=bd&xp)RyEmHB4SMs z3QXnnAhU?Ub(YOLR-jE=uMi;phjeShJX-SWnoAO8Q0u>BvnH$(sc literal 328 zcmeAS@N?(olHy`uVBq!ia0vp^ejv=j1|<7dDaZmT$r9IylHmNblJdl&R0hYC{G?O` z&)mfH)S%SFl*+=BsWw1GuRL8GLn>~)xn;=5=qS;aXk4h=ej#uNL)G+!&sn&v+6%bY zBmb*xNizNCInVs3(#Eq-Jj2W)QzhCukA-iR%c-`VbL&8_OLu>1bl9F*5^rO@_RNye z)s1`0psO19mPJ=K?k$I|Xxzy!GU5vI{KYYEx}vW#8(1_lv-8b4fJXW~IMDcdaptDa zHc8KK=$6&jns=W~ULB&IoBwHZPVr6s`kmkUMe9?)O0)CHfK5Oqv6{xr4l)x+-v2I= az|iwh=B9G9?Np$z89ZJ6T-G@yGywo)Yj%nN diff --git a/indra/newview/skins/default/textures/bottomtray/Movement_Backward_On.png b/indra/newview/skins/default/textures/bottomtray/Movement_Backward_On.png index 9f31d461b5fa904d142109f6f481470333d7deda..f22f6e23b642a0151e3456c2a4423e26c3020c2a 100644 GIT binary patch literal 1723 zcmbVNYiJx*6rN4HMYAcT21@OZc$tVKG_!MO_BoSm^Vm(gTb(p+7aOsd%+B219kVlc zIy0Ny1d&>)RQzK=3TcDIKcb=)F-D<3L=hiYQGB4{gJ_B(im3##7Pa2lmxP4TFRM6<{1x3KXo~9Vub8qjg&dGYdCiE?t7l)Lfu_djgCPk@W*il? zHa;SuOboyI&x%C(Tj#HR$_G3u1Lo2G)sdj#F>iGgRVm`E{%aW zwh##U!;HcOc@Po&To?*`um|vvi?A@lasdW%A`FWG0n{&=c(c@;m`;q;eUYyiU2q&z zWZ81L>@NrW*vhk2&xz+i@hA`e9vWMD*uum+W|s^w-jLitdJ z3y6>xgOLqTk~OOA$o~pf6)}e`T_!PWx|~O>Y2<0pR8oxNBDRQQ!Y;6WJ{6CTSvaQ^ z$%38UI|Ne0@h~TZ!wm1|)&rB8O(dE5GdPzqq05o1tTDc+vm*445KBP9)74X-7$QYf zmMwK+zu_l@05*|A~Y zMr7g!=E5o$4un*pu|I*8lAB?T{p$bRzu(eGh0DdOw&T{lo0?)>p?YN=K!@w2q6Vtj zD9VakWieWD(+jC|eOkL}1!`u?1w@SgL(bJ;HqJTZEYM({sP$jcnkD>Mw5Nu&KXl^DzD({Bt$q4r>6qv6z}h|6DW3j^-m|+;f3~~l8DrlY7hc$g zANk__`8(RwJ6lfvJlAyt)s4W?bMNTv+`GZsUPBij{4T%Rv2f^-gzxU?J_B lJYiBlZY$p3u6sfr>Xje7%a1A_e(nBVQp2N(GeeU{{{RzcGf)5k delta 326 zcmV-M0lEIW4dDWiB!3xnMObuGZ)S9NVRB^vL1b@YWgtmyVP|DhWnpA_ami&o00034 zNkl7bc_Z-mS_QS2GEi_z`Ef-hz9YY;_T=e zP|PC20u)O;TR(HJ;4>WE0%B@3^x%>Pg%EnM;HuF`u>fWX2Q;<(#HEN53y1>9Wl Y00(cekH}Tu&j0`b07*qoM6N<$f&o;I?*IS* diff --git a/indra/newview/skins/default/textures/bottomtray/Movement_Down_On.png b/indra/newview/skins/default/textures/bottomtray/Movement_Down_On.png index f7ed4c25fb844cca49b054c3ba6d67ec483ee104..238d005bef067d8e37d1d410bede330cd4b32793 100644 GIT binary patch literal 2091 zcmbVNTWB0*6rMzl8Vy3Nc*k)PVj43$m))J6nReTxv%Ae=Ck@F;lc#oe=HJ~RyYr7T zlk6r)Nn3;_ng@}Bh!olf@x@X^6dFN%@J6AfzKDqUYDu9AV!#LE`DbrQNt)uo?9QC? z&AEK%oc}D1j~(ghey*FMsGjU-Y6AWrg?rBNUh=mnxYOIs=0r(6*Iij>mOgcQsV9 zM;AOaxiFS97iLVwVh$ao57bmJP(gt~*D7VlS8GWow5!515pxV3LV}qjGeR8FQ~Efq zVGq&qh{T#gOr#S^M38tzj1AEuFC;iV!3j~87gSzSqYB-)81Uv<1$82oY50P-BvT3k zSLL{BwHm2LBiJi)f}$uKFLI*D0)qADoxrHEj^Ep~kV3xc*=}HChb9({Jf01b3`AN_ zq2jj8I(~yDAdIUSE+<5Il2Qn?%ofg_^~#}h%j8fQRge?-fE8L;U`f|o@NLajDlN1h zq~{=_MsC}p{oK5ZxC!LrSXOQP8VMKyZ| zDABZ_uBv&+2(XvKxZEs%#`aJZdow<*O~y#T4HQZl0ZKB^06fdbSwYD0yef)nTwwWx z%JX%o4lQLFfzbquah8`^F`g5mDi7e;7BIH#!u+mK%Tx>4s~AAIT``J?bDd)7P1n_| z;|GRgqHHS3K&TPhwp2lmCoI`au(G7&!CwrqvdKr;yeM1wd`wczywdzWh0R&g49)K? z_+HecR6Pf0RyAD4o{lYGH_Fg$ zc~;ZLJzTKMpztS-9Hz5rO%fDIV#SEC88~YDP{essoHpO08WYqg&`*lf-&<4mXTTDz zwK-Y^bKl(4-&h1Wdx|28n{NP&RJYPX`% zfg7f^c;*j#^&qwHR9D{>@!HCt8yg#szr%N|eRj2Hc=`G1n>VNR%LB{j#HE3B|GN); zcY5y=pI(Yyd*$~ZzrXtOTK|{JxBXvU>x-?dKI<+%{nL%V&+46nw>t)hzP)tv`qw|4 zzs0W&_g|+5k7^TF_Iyltm41CG)3-7-{MM_dyU#9me@;F1-~->Bx+uTUEx-8o!awWl j=l6F0{M$$;ou<~`JonLipWOPFtn+MoEOq(t$us`}`jnh{ literal 50907 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 diff --git a/indra/newview/skins/default/textures/bottomtray/Movement_Forward_On.png b/indra/newview/skins/default/textures/bottomtray/Movement_Forward_On.png index d0a825a682a4d7c807c37ae2ee1107f8bf3be2df..ad4a02ee27b8494985c04637e94b7c41f2ebdda0 100644 GIT binary patch literal 1710 zcmbVNTWB0r7@m!8wM~~qDj{B~rxRKXW_B(+*<>c2W|Q5dyU|J0&0;rINoQxy?he_R zGtNvhn;^JW&=!1X5Gu5J5R^U$#wrm+MJXwSqQ3bcf>Ik0-;7H%|GFprj&HlIT2zq{Ry34@;j&?2G(j95EL(~?16`1V1>Ka$o1cC`0$r2H6TLDcTX9&_ zlM6PSTo})&3p1*qk%LFT;j)Mc4CpGLY?Mq#EK6jSSHxrgHBEvl#GR4IAwM9<$`c@t zYzTV8QA%Zb4)h6OHp&Pb-vc;??W37KnvGBlD>6|rB7pjj#L;XmFQyZt^;q~xB8#qT zi8SqbUf7F-kzJr!K@ez$qdAVk2+El^U8PK!PFI5=0Ug!WEmub-@EMgHnsp@-E3Ktq zSWQ~fsoR7Nqsxj#vth{A?^SZbQXIb_StRW1}V- zl0iJ~Z%jXU;)HH$$aA{4t$_)}g%ZgzTrb7+Qw*PB8IfZ|hNqZ5kzs038EJZcekYXc z&9D)X;Y2>V1B$CgQ(Wa=!I~=Ok!>hAXWdW=khaVM37Srdaa2M!4vf`Bw!crs;}bT@ z>m@wlq>m1R)JQza3ehOVh1u=Er0!r#=KoC2SB&MdxGHOk4|SD=fl=yXNtayQ@)k$ogyjt{te+dPRsy|Doh+FbCybycck&fZh5pRZV04wBHeGsnCDT zvO2e|do zcyr;`b7!CZ>Ah>erCL6GDK}X$AM5V8yy-2UymIBq_Ko#lUJE_)dDy3k3XL$zTQl|9^8tJwVjbGS?a~_miIol z>;13ni-C8{z^#YC=lAkAyN(|r(qycMxOySh`po(V;KAhc_uXiVZM~X(95|s$$I_bm z@_}=o#8TY;k4}Aa`gm(+XQuM){;{`T8HjzhZ|n^t(ANG`Om{beXQpHN4eG5!1hE+k VTu)rPwB&zLQX}Ju<>6DO{{Se0onep4Z#ACB!3xnMObuGZ)S9NVRB^vL1b@YWgtmyVP|DhWnpA_ami&o0002v zNklrOo<5u@B1<}NsNs15HBNn!sW#BS=zJJ~fAax6f&j9fyApVGKCJPRIKY;ii5WfTB$3UEc#{+wT_&N}O zfa*g5xGeYy#807^l|TsH0phE}w=5d9VAKN20j{C~nX3ZC?ob+ACff<6QED_&EZ_lR s2`G&Yz5wwHC?8F>1!UFpFaQu>076b~bVZmCssI2007*qoM6N<$f+-7ig8%>k diff --git a/indra/newview/skins/default/textures/bottomtray/Movement_Left_On.png b/indra/newview/skins/default/textures/bottomtray/Movement_Left_On.png index 2f81fb1588b4928246ac0599aea51f232f70cd11..1a134661eb79edba853b8463b4c7a5f1c8b64c6e 100644 GIT binary patch literal 2269 zcmbtWO>Em#9Cur7tfSRFK-07xc({OuG{=5U;>54bnl2w}(A-6B&{{65W4|P(iJxb? ziCgWkq6uvRq#ZaRZU~7JAA%c)a;OjzNE~)XK<^Vm6Vikb5uf%b{qFo0tq7-B`jtsN%Y1XZSz9UFU&iX87w#P12kkZdlW+ zE}mPRsTiwEhHCPYm%v1TsDc*ubr7_gwugcYAL>Q)oh^$z2qFGbhM!^v!Ms)mIpSiF zj46Tv6EaAtF{ntYoVW;N38q9TCBnEMK_n?Cu7c>|sWsQEq1k*fvPHi#e8cx0B#NC* zC)SC_h+7w-s;Z(Si?S?Ggy5~%z8(m+H`ddT$DZL@j&BhgFpYYZEc+RrdfE-4<@D9s zUX&)9Ffq^_5ym7IQV2ASKF(Qoo1t;j5OEW?uD=>~E871XiU}9Rel|!MXfojBU=``V1ORr7=16aWf99z5RJ&EHg6n_M3EnLW!qR zYB2#7SyIvvri+SPOe)C&EF=>7DW$jfnrqQU)SJ(yqhDl{BTeFJ#H87c^I&_ul*^S} zQnQ*=;LTpS3`&KZ0#!v36)a)K<7wwgTLo&s(%OUe}5APRYU!iOSB6uzyjMiRdJn!#AV1 zrUk;5MY_@T-eAPXCLb+Z`_Slc8gx~58kpwj34PIpd8FodbQe$6X<~cLR_+}Htl5C3 z8_@ZSDm*`Anul-?6Kl@Z}~Q^zW7OQZRESr?}ve Wa{80o!58cgNU1QB|NQdeJO2TYW5~Gx literal 51806 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 U067=V_3g~t-Dh^^ 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%0D%g%)#?cyQ1+k=FwjP!k8 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 delta 401 zcmV;C0dD@9532)^B!3xnMObuGZ)S9NVRB^vL1b@YWgtmyVP|DhWnpA_ami&o0003^ zNkl`-Sj(-3$e_{)Id_G_co!!ul z&v0UV!i3Lo9xY?r^%U_&`C~A z($2IGOSd4nBC?`_)_su$-3JxCJSYl22|g)O1btNm5n*2zSzM(4$y|D&mt_qkll=d8 z{@eNf^UtN?BoMyNB7h@+iaf z{cV=Ye!1|Rrc*0|4Z1)gP0Il^!<-pyI#^#MKD$7wrk&)jfAtN=nnseFi50|xlO{ED zV$~(ntCJ;tbx~IhZuA-UOj82`7V$CLwCc8}HIrOuSA+LJEO2ZH@fVX^Dsae_3q>|f zUBbp93a=wsV&iHADWWRLPqUJU;({0#P?Q&uCMsG~W!o1A-dv-iO=WUzU+|UWYQFDi zg3xF*B8_N-x>W(Gsw#+*AW1wRcyGn_ag(>bp^k+N@pRX8e3RO2U=c6SB|phQq^%Sz zr)$>s+GT=*2~F$>C?WSCcvg+dp;uUX6LqCG#m z3=y?++ZXMXRvaQs5sxmpI>|1B$DvMOPL2B1tI-4U=&E;Rwqg zXu42GOS=U7)Gbk3?`(h0bV-A{iyoVvmV-QU>;M2Q0;SF~Li*5{haffPpqUz|=4+D@Q^NU8_*n!ccJ2!c`(Tb~W@?C}?@x z^Rcayd?v|3s1egNG&!NhWhCqT0>L7$=yHNrF;RIP6BJDtBGxO>&iV}1mjW_$)*G;1 zN-LRoS`~r%qLM%;kyE5xOo?StR+cj&YeFO9`kmS6ZnBo9b?O$V0o8@Lw&nSB zy6Do1SqFtTHGY=OXVVH&6@`}~XeV&O^k5TLg3Z~kx1`BPiz=;ppB!qcr*mM5EzsqV z{d4D?xpQ^|O36}(*u(%x>NLj&T+$#js0j`lFv)?dP*@JQTwiJlW69t?|Mj)SZgi9SW2PPK~g8wRRoa=g>5H zvHeyz*|1?Xthb`q1KJaVYm3c&NOUv_S|%Gc0yR3MD_Ss*R{REbNvaBk?X+64a|{Hn z#ul({+QG5F2?xdP;pM}lmZfMsuI6N<97NqiqK;`YbZe_U?;z@SG4&d@s|3c9@PG2S ztrp&$%Qp4*95uI>OFEcs33hnKv<=$uMmpr!laCM#q!zV=y{rp$JBAl*V<>`&7`%2z zF?@7~IkBNsE{y8=6BizUF~5<|q)NlD>&DnUS6<5||GjnV+5U@vU1u+DZEZzGZe;$G zAFR2N_skPFe*NbczVFGI-n+iN@WiQwyPtZyr*ye@v#0dM;5D)L+8+buhl;6zVhU~i z#J=RM^>3z5zR5h|Up+N8_47bu`sU})Kfd}1R`ekMlLq?77hf03e4d3 z3%P&uQ2*r#+8gOPn%P(rD4JOr0kP0AFwim3uf*EB0Re&E+S)6txMm(|SXiPcq40ui zIlDPpF_a?UY5WRG^=goVR4NlL5yz%#5>#hbvbA>%5QCMZtiJs?`e+{mx?31>&)#38AZM)K9`ZOf4uAD3bGwI^9SZ79{=uD zK4@U1g?D|L(zo{#$2aIxfI3TwgyZnYBNqo*GzDk(dLS#g!lnu*@=%!JJXs-r5AX)! z9m98_h6@Wm0B?1FR4-l{tmKkI)0oX?h_kmO3;fVN@l^ts`SaXC#kNOli>?*#z;*|0 zLyrbl0QQbxj~vE2mJkeyq7@yK5A^1|&jzFAtQ#Bj(uVM6@0!!@JOs{_8|bq&X8pWy^mL;5Lw@ z{SE&7tEYJMviB7TtzewCsV1%&!ZWJLboCxZs@JUhJdU`!#?ixi?xL;8*n^gL`9N{d zE8IOnk!4frDf3%9@391)vjYO0tHa~nqRAvhvf-GBTYfhF-L_&~FxXYegIlv2?>wl1 zh#2ZtOhzocJ_enM!(|EC7?UNcJ_Aa)K@5$E9lF7kR9|%jj-_WSR0ABE!}0i@=L6{Y z1+~XZ)CZW9n)irXdaA5FS33bF{|G(5yS0(cV+-#0eM!UVZ_4da;sXB2{O7P;WiQsk zTXKfV8EbQIS+cCCh_yuKpX1rB1Pb>BZ{=Xzv2)bFywMY%c~Ogwj-63khA1M^b%q*$ zqoG#bVlapl)g%70_SyKz_G3^0O&-9A#5lZW)H=9r!92@|#H~DH!!&pP)M6keOAL*j zk@P5gWq9g<^y$s{*!h#v{rPfZXa7aSnf={1>(00=K4sy>QWQM)uujX;Lu5pJ+ej_M zluz?p7mp9=LiiYcNt2M};)-t=&&?q?BzbiY7&3RTtkj^_N=}@LO@#2!@&XsFfpI^>dR~0 zp=>2rzAU?Q1It|O7w&wXzmi@uM;m1Gxc>bmLbSMdrE8nfX9bc8ocm8pUvelf9-&8FJFrI99xFxMc=a4R~1?;cb%pGh1c2d-k z6fBGN?MFltXFSHTyOO!LMG`g3H>V^pBTFUNz~Tq?L`5uzx%Y-%l_Z&n*^zh-Xx>pv z#|Np2!)HY-ikE4CJg9v{p68v@76Qw+a-pH^5$x=!h$*|G$@5>w?R$W=}VyO>{?EA$J zqal2GGQp{s7%yvIkI0Q_IQtj}!M~=Q4fx!DIr$a6DG@W6D^h1{G9^bx{k=HeB|Q** zR`HjK8uQDXZMoX?zHs%9Ezq}()ql2qfF0-8AFZr>_MKhk zAUC;>o3Q)gUs-Bo8?T&;A{)f~RPGQ%Q-|A%ptB4@L?=oz--#Hs!18weHwOfs+( zwB+y8QOwFhK;&(E{Oj)=^l$&aYLtacc|btytyUI_3a*)#UK=hOBJsRr$Ro+uGDn8^ zPr}C+U(?rSjIDQ!Hbj&X5)@&A^350M_y{DHRtFPe^+g|HRV0!)z#nt9}BISZ1`XkCYLWyTUS=5qb+`}dd!b=$noKJzHFJJlCEaHg=4z4 zqaps09G2sE2x1>&=A(eEJidyI`@Wk4SP2ae+iuzKqfhN?_vN#JoTup%`(i6IgQ*2= z3oonkt`HlO_1BNx69kDX!7&dChQ=Pj)3hgY96Mfo$LJB)u`J^DJAmR!I_pu@G_Z1= z6XfHQo?w+JoXcshUdnjzd!yN-smVFpdSlEBm~+R22Yr4(JI&h??(9+MCC<}~@zi=J zi+&KX^W$9X)bDQ~0yp3U8E}Ho`@oOh(gf`J4*E_8<57hqIna`_VM9}6*y9xOw80#SXCL{b z_YGF20WYyrQ@(>%3j$UO~QN}++{K5J^1z@D(4=8;4WDe zV}L>#Mwk{9=O&3cs>&%Ln?&IxmNBdg-SEC)H8iG~z>Et&4b96tlwI7gCvoqotX!e2 zf0%Z;PX&>mfV5_@hQGO30(yqF86N;7Ge9}jPzRrNQ$1AwVSp@= zykmNx<{Qu~n@0r`YsCSfz#TXac;ZDSDrnP;WSwJ}&<~V&h^Bvw#Z^1vnX9#rDS+Fe z1tb(OrH;n&=YCYy?%2EQqjW$3JKKzfJp*B~L1sWNt{-?1*sl>2hCRS7D9m>UYHU$O zXG|Fs(XP;0=pQ#{9b#6J5|wD`zs6DTPnAhi1QjmyJxuQDf_G;cFfxnVa?CLox4}`~ zb0Y}#1R_0!eb=DL7K%%pY;e3))4kDhnsVsDSW>L;``f+#3{7W4nWo43eS{i8$Dn&U zkz4D$9VKcI(JR?K)*pvKsi@~!l8G&j?eYpbCJ&4URDI+)PM?sKPzA))NR~5JJ**Xv zI5p_Del3hpV7E*ZG@-0QGXgLR6OfbZE@&nV8lowq zm<7%P7DUtVZzE^nT&#=&WZkzj3axhcBkW7}p{9mFK8i%9Fk`@Fqg0afGJ8DEC^HU7 zyVP$9{wOU8q297mMDW7G&|}`VB%3ym*W`=YAp7Z5Df&kbp5oF;TXGboQ#0g@BPYVG zBKLI`GiY8uMWWzs7=ra>z}WgnHjpF$-F3V-DUE>)N?HP{#ZFjt=-ujsDgS5u%xY?~ zTo+)39(M{Qn0mel&Lo}Ox5=1YgUCAxw#U%Gh0Qo`ht6e~*<@5vM+WaVaODr-1SSLT zU0qx%dwqK4@M!`WCU{DO>$|iFOHzjs0=06ICnnODe84k=W=8|oP zVM&ChZ$Ox&fh3O9gLVRddRR(pSjLLF=T|vrwLM$n1djohoNk8H{M>h5`N}Hh-=k|@NonAca2FN4z zuyeKzKt_Sj?+1V(GQUM~;dG!Lhyf2UXZH$tE4iSuW)z8Z34-Z-aNJLx3zHZ;R41^Y zmA?w@3qms(ome69f(i)jO9oT=>;he!f}0Y7)A9E`=MWn5BF*Dt+Jyp#To;fCrOEkv z&0{9y!2~I+SZV5-F(QREm2)zD_^iLYT*Og47V?VJg{4vbCrzT>)c8@vvnvr0V}M=a zculVh-A-xm%AwopaG9ijv=SNfG0|n03ZU}Hze{Hd(UGR``g*29+u)-+bgpQrVMWm|}e8?mrkz8A#ncnqAJPSs1`-S$f5kcf3j|3|w0#wa#;p&OIa= zbG^o+Qa~c*Q!vw-7fCj&dwij$Jr=qnSC}7_0V;nsEajVX{m={_jRIQb8(Uc;3-E5U zWl2VSrZ&T>{AI0;u-}MIrFSaqU24RUY#3MdbQZqL8FX$M@T`KOfU^M(Aq|*W{LGIdC53a61sJ8oTBx6!GLElFLUh`eNZ(j$hQgL%K^I3 zwXyv$ei>!o5tsIM69A^52}>PASz}C9gir!WceOH)!9oerAtx0JUrn8D3DAfKCch|6 zf9B8{$p;$TiG!3P#`C2#rMR~BQ&le!3RmcYj62XhNSEL5L!^mv#vx5 z{7iv&Bg(2j9=C$j%666MHXfIvyZv&rvgOJ=XlB-M?xK-OoiRYb|;Gu@msD!nVVcFFcppGm#z-z;Y-SE=f=6_ zO#7TtD=#p6q3@=eA!UkeFYX)&$Tngjc^N6rB&~uUZ9wjX(9TwohzkTRry;$r(YvKX zc!nDrXSf0Co@Bn=Aej=Sx_!L5e6<8w1(M~HKNe5Gn`<8k1=(h)ws3ZdEhhUhUJjMO z%*cXw2yncsrm)L32awOAF*={`wTG7{kYoyvzHo`py;vM!_{+UY?FDJ_DO*qU?>nS? z$Zw~DQ%K&KVa|fpD{}K5>K0&8x-yBmczgSX)Xho>YvF^Z)Cnt~QP)}Z$c)ao!e{o_ zxU`O`}l^mg9{0Jqc@_2UR1b! zT2O6y9YuVH`2AGux(Yo-A{wIk*%tfLQ*FKQ`k7=nmeXc-CJLMMnvw)n8(D}n1TJ>PY%?$ z1!elyf$sin24eWp0VKCyc*%(gYk^~y@?({eN*?^L=?j5MFwZ%K7j)!RlnKj?@ycm^ z&U~3iu$~|9el8d^Tw@ee!XL{Fyj+S^Sg1{ zo6eDt`CHML??yx3YjrxrooAliqQDo7=5MJLl*y5&c9<%Oe$i$?zlE#Hng+~s(S*aj z8L;)r)*R1oHS>95D_YK4GNg?5I`8bw#l~sHc%x{?WyM3W3!g=Pj=QRm4 z5&%j4^2=3F?zDf<8nc$@rWoDY1sp5d$BKczl0O2l&30+0EibtL4BF zA%MnL^c-|d7ekTe#>J|mfegBPC|BJ9CmwTV{5TPpa`}Pv+ca)|nWPB6j-@^NyF^(- zc@g0zH05&ILcF&Squ`=<0tE5!H#;X?0mT#e z#8a0d-1`uTPBlyJsp2cnDP}E&b|$vg>Ed7R2$Al5caFH8nhzaA4@rdd{PJ$?-Dp95|0W*JTT@-1b)it8F0<^aUVQ12eBa>rxd8X3|W% z1s26mE-zPocpt&p>?PG4^Bf(vO1UoXu0T}`!8B8MC5xwsT{hQn zn2@)C;%CQgBimq9u6;rtuM7Eio=4YLz#oTQ&JSR6TB9(?%rA-g*gEJLXmbpX?RfQW zuqF=j8H4m#e?+c3@qnwKS9MVhb=4pcB6~eTehAZ=Lu$OmDhdmm1sq@qC zU1InPsD!~+4cl(KSJiYny*Al^&I_uSxERkM2*)4?UPZ+vKKo|JqgXV6R4HmX6ERCl z?Z)BEIylW-J2SiVwuZHbJaKU0gpV)D@cMVH_Vi2_NYl`-IU|2Wb&@8kGd{uj&Wgpa zS1IbwKcd=&=9QjD%C^OuHHXCCd<3^#i#?L^sq?*`{*wC`S9XB*2|U09!0`^`@daiT z-KZIv{VSB_&#sFbg5K681uY5rA#a3Of5U-p*671GnK_>?LMAuMOZC{hjGmHa*THUlkhwT`iCuo zE5GxVpU%~*ZjToiiWi!74nxx%tFPYkKEZP)LvyI2HR%PH;RRID)$HxQ5K*%6V1@t5 zKD?lI5FVOF6 z*u2QC+6I&tnN>~o(@TZ00q=DU=!Z(8F-9@^uxo{ccKi>jP0@M6^i1pVhQct@w#)fe z0s+kioQjGY*|t_NJG3{P&WkO@UezSmhh{lis_$R0@GDar@?%AAmwGicZ9$ zLAu;jRsy*^G?xa0kDsa>nRRml{_*5@OlJGx2`5Ht?$HST4P|B3$KzQJydS(`TLZHP zVVJZ6#*Qoc6y?F{~^1}Weu67r7Ankq!tmBzRu8_-bJtfV>n2jk2&|A96t#my5iL2g{pDVs3Td zccfEj)NH2}D!|RMoH!I3j4F+4A3oB?%%~(BG_B$%9M|8wGnzelvN+Fc2cVTdl2!Y` z=cP#X_PhvPu0<0JI9`XGq-P*C+y3C(^Zod3kScYS2!Z5=+*JZE z{dGSOD6X){Me(q)tfd zJ@FzUx>((&xJ`JAMn&yrb_p}>WJbW}z{O=3Z`-C`!L0<2)7M*ZtTMpYjkh?h6q?wo zwG6qS-r?6VUtLq~yLf@xSMarFWIU`q`Hv-=(?Z^*M)W*xC%EmTGa1y6Snz{8yBE)S z5vbc1E373t@PECMhr8K`di7&_^oZHNl7MgB4u&PeHt_!D)EA&@g@@VnR$gnJ) zIA)6s$@-NIn{hvP#Wghy7<)iehK?DfiRG{2+4>kwRINoYB`*|2!U6HWHs{XXnE9}# z?N1HEe&b~{4W6OZ6pWD0`Hb)9?Lnz+YznUWQTYtI6(hydi-VIr;-rWq<5^mz_eH-6 z0j3@fCJ5A{NYGlmaphlmQIkC^n{vOT~DkKr3Ns%}ACom?ml;2#?#YcRsfo^#$N+k4(6=GSEI zy9!qDXOCe-rY6i(-I3ZDxKZbQrkm|f@~WF}rnp}s+wKo1rAHBXx0Iu%FNo?7Fs}lq zIqSi$=!axP)odxPAV?OmD{>%0<_C|j+$z1rcqho$Sc5eHqcuHers#Jp$G{GDHj zLa}#_}D5^C;J<3GA?j}T&O&xrD>1D-ne@^IaKUQb4*a>OXh;}ev zl9LzeJ}1)tSEk*U((*Vd<+g*6gA;oN_1iZ&aieIA^U8Q-vyo_QO`N?423J z=)N>%q+oVROqoJsswP0&(wXHOUZ=~`r;s{hMl)s2{B-7K>!{U$^}-qnVw z?-g?lTh}r-`f&a$#m9vAezH+c6**bT){~Ra&+yToXE1x3&<*(+ z@d^%B+*wOk8)OAEcj0ua>_!1zkk3`*EktYEPNN6ptDD0J>dwPGdEe39T8clP z`zr@fCkg@ar3xa7S&RiYHc_60A=G=EhVhn{oFsR?wK?)n)b6`P_$rn2*9kM;!d=f* z!`YW%#2prADsyP0pD{~+Uy8d;CH66MM4s3y*ov3}4YlsH&K6r7zhJ==JUFE(`Z!)5 zD{tuh^&5G25^Bzc^TD}w^t{f)+ww50}W|VJt8Jd2HUufC$W9LNtX>%l-5TD3(Jp@ zTQ2}uuT)?k_^7u__osaL5$1+nqBwV@HyZ{eaBgjjHS=8OJqR7!j(NO^A69Y z&P;m6UIdUMCcF(lpdd985o(_7#PqO!Hk z>VQ|*A1G^1%LVLs(Dea9ZmSla!C{;(oV}XuSntaiz%9``u?QG$KCTNfwuMB+L^%bTU2iA%yv;BssKGya|KP&VYh)27lMqu}K z9`k+Y#)X27N1fdx6e{z{jVk1J*$&|!<}J>qHYOq7PJkMduB*|U(;oKwIlCM$Oq?5@ zDuXYhZC+By;}B8X_kjX{mc#ZASH7Q!jzd^*iyt*SK%C$+0B>VA?^`+sx}Wj{D~Q}+QH=pyk^I#5IVVcus)!$?gN`(x47d)A=e11kRFvNN#yV*~Gs z9Wz$u(Ur~piN{EZYfRUEN+V`JT?P0?isb}Gy~y`&Bw)3=3(#a+ zbB|3di~rSE<8`5zb?jQPO=;fCH|llA+}xTN_txADAOB50`%SuZjnv(9NY-D_H_n&m zDKRik#R&Xe*o%_!$hu%Xg3#V7TY2K!<@*VJW9L8jYt|reK^}30BmblMaOU z_&*IzrAIvO_P?gRj8ag{>t!Y*vGt8Bp&KA@n2b;P<|PCoAx!iPm@JDiS5G7?x#@zV zvi+h~bXQf4^&DX{`t})JHNj;A`WAF=n2!c{=?mDh;X^zlzWkxO`)o&h4nS@&A?P*z zNASRKc^IL|G*f4pv#6Q3a7-oAlY@#2&93Y{$oU}?a{~VtXbGCb9XiPHYshlFnRQo< zJt3$|Ijrc<#>8byvP%64dzN$S+gEPRH* zKHBPU&`A%RNzW_bpZuW1=~)n>d6sY;K;a44obqn;fwb{310y&CtkR)%BNXAb1IGln z!GA*e*D5fAAE7|%Xa$(e^(X9?ZWmR3SkRF*%yhOa4+Lw6_Tj7KU7@<((M^dnbR+eR zxnP+LsQt)(sB;QVP0VxcOc?;gXoy>vT6uaKR6sVVIw|3~REJ3xyXrB@->YXkf=384 zX~$+}8$MtiiX>D}2>#f^ng(OuEA5yF7&50s%#m>#t3|3aPlaH3jYd=7XPc_Fjm!mG zqlb*mVM-m063BTgui9|%FobUf0C6?P&lN-lI6yTy)AOhEAjOOA(DRU9O13U_?X|9P zE1%ha){{9~Z>VMWsT0|clP2SjF>YtB2g-|a;!4d>1B`bkILHJOKvR&V4bnGa8D~KF zA0#RCa%f1@xZ}tu^K6b!I=W9fPI3_QX4zYlSZy96lSqQO0=1?uP!32r%QXL(q&0o}6uhzY_29Sh zmUNToLFbPgR*OJk%uy*>7M&M77`&aoB?=-j65Ji;6{Me)Dz30JWx%;0=XB@HcLBj4 zUh>vKfHI|L&w!P=vm~}XV}naug_SOL5>tk|B3=-~yd7NQPku-Oln#K9?^@P{{z~9i z-%nj;FJ+1T*+BJUX%#06XhB8vbbg6x$8?3NI*as!KQB|9*}=5LsJyXZIPTzA@gIy? zqi}g>^9y;Re$=An95ei)zkpI_8NFK@NFh+sVc5{WZ0DRo*eIAQuT(-dW0koE=9G46 zp;}zw<~0wA;lUQ{fOV$jiw8IvhxR7XkBZ4a3MoAi$$CG$HvD;G)~BH5__6i7RX}Cwpr-oC#Lt<@RjwXK#$Hjii|jAW(5kAH7n@zVU6! zf1U|?ZQ#x9i|DQ}xZ!GC(GMu|P(*~T0B)ufagjz{NEHEw@$!I&{R^O)gAZWe z{b2iH^&*jrZ`(-e&FIV$ zfg4&>@IWSvE?^(>`V7{B5`>v=_%)xjZ4O|CsIFgHfhVHMSbN&4wVcW!}WVRRu3ZBuzw z!WzXPEY=nGOob<#bmCAARg#;3|1kWT5RSjy=20#tk?<~_Z!e6ZUeG_kRnwdfJCH3d zjQg_?vt#iG+jOQVbQ99|Gr=>cvGA@ai#F&zh60t74c)`pc!4cA~U(X+BZPqP;BKYamSRJ;L~j*$KlhbQ1m?m zK;qoh`5n(Vz9Yvte}>?9-|=`WA-h|MWiP`~F!MwCe848O_0zoX&oM~p2*Yo5*wUkS z?=35t!Y{q^pC;@hI@cBAH5v;uH>t_kD&jQ|+jx%bv2P&e>QXL;ivExJV!o@>AjF*^ z`~N$>*xy17Sr+&%EB};|pd27x@mstiv=PtF?DCGK96xL)e|n6V7Jmtm943Z>e1a^& zs3G16QEmIM-g3_H%!q#I3}V8X)?b_anueS_W^AnDKv76Wqi+}R4(%}<$xQ$+c>wID zDlcP8`SpKc*Qk;sbUUkyUkZ{spdN zU05SyD0~tKSe)MW<$eFS-{P*>peHc09EwMNS7Dm~D>?4ZprT3*51Lm9w)tMI^t|F%3kk`Mf)Zn3y zPnGJ2AQUrBtYEVVsaK%P`LjetRpJtS`W82+9GFYWzwgSe>rbmO-F~7c((IZZkrc(@ zxbxR1;KplKky&U29^4GJ=ZM%}3{xi80KN|oPX6s0L$Ll}UlKD9*{{4*tkz-?jBQhm z%527M<{Hmn0b0Z|lZjb zKA+Xr_t)BdfbQaZT*>+Fe*O+kaSe%9#$3P9Gdz`LJLWA&+6n(weiq-7g$njLUFB7V zyuZnODjVav)&a=}lCnPRi5NE$((_=*o~xb$FVn(r)w`%<#E-2@=W3HUwo~4Gya#oz z+y?`kcChOn0QF$vbF+*7&~o}tnnuYyRu?|{PEdqR!IN$bW+zihSL=L%3x311A(x{e z?iZGvf6q}}hqdtbJVGU#A~_X5QteU19vE5*gS=^htTbo=U~`CSBM1<&TB^Yf$*%`*lgb58apX2?QX#r zoK}EOZ9PA%vO?X#Xip@LyI3Tqnimi9=}{AL zu81n8&{HQdvX9D+b)UKS)U=~Pjfd3bh3`I5yj5hfu=|!>PoBFvW}SZf9B{Wal^bIG zS7`VX=wr{)(sG{z%hO3h8k|%)Dn%0!b6UNYiJT@l^?WBY+w{(s&8I>USn-r^Ao0ki zZ@n&V*Pa$xzx)YM;zluZl|`T6LN}GN&-*l0*MXQ$u_e{l$*NtcHk}F4>La)fc%sS< z+&^1x7h1=!nC?KOe?Dtx{&BL0a?Ez+e;^Q5@L2Z*KY^E-FZ;-nnDGqiq1^ z?wp4ly$3Zr$Dz53Bh!w(lYa=1c9(xY!4SCYKiM2y6PmyOLAM=7E-L2NjHynhzYq`X zzaZXc6O&_U)`aef4f%bw{>et~tkRLze~jv#{JgK;yV&Sk`=_j-nxNm7|8FQ^Pt{*c zm}LXP^$!#NHI*5X)id;0DzE_&{U`l{XM+J>tp5up9G%8xhkoQEk`2ppo6%gY9* zo(i4;tzJ=u<}$IUs&rtX9N6`~xDa+*nlo4{zz}3L6VpWCQLZvDMVyRmCQ+O7XUc3c z&6v%-Oa-7WHIr*@^tZrtM&mwKndMN8dAO~cpf7j#m_E{}KI1uTMXcklA$OI8sa8uu zdR}5$)>{|7=ik-oRFnT~DYz4&l5M;bQW=|x5#U|A5oSm1wCSBoZ3$NSSl?m?P-{iwT2h@Phc#9!&z>&fV z$wMa0$?A;K-^tGLsDA{a7}bEByB)a4Yqt#whffD2K4KlOs?SG2L&Fw6$Go@o56kAc z{|oTi0sM;>>LR?=>NmJcyP(z1a8F&u_MB$eb$3AX$l6sl>lmh9D@f5AEPq#1U@~`P z72MV)#m*n+b#j;}=S~1Vb~JjsQC|y#*$Rnn3ivA!uNk5J)Rf3;w0~LoZ}0d##dUd+ z=c|!wvhn2#7qU}D5J$K-oKp;Y)Or=Su8IBoB@#E9r;&rUi_UDRbRM0ktj3kxAoH#; zi(SDJQsf&t-rpY0#G~|E?}Y6~#ep=LzR~OiK8xvOQLM2oWCSX1p!1L~U~X`jRzJQA zR8}=3Xd+u2g_CO#p7;i|==|+~R~#~9Z{il6z5=+tn)_XO|QG}@I9?jLs^x+C+Q*9@B0E2YO8 zYaMnj6pY@!Ue|*ihW2s2Q0eT9uDzL=Tar{f{!x3?$nh>|TsGMew)T2>yItm!Hv7bu z?p)-w63Ptr^(-#;jzOiMZr?{HMRL1(A_x|_(Y5EP>fU={UDK^M3F1G&^PPM5{SO|6k)><* z5yn$sCqf3%BA#%y*0`go1cT*+`KBr>=oGbr_Ms!qN3{r*`wmxG!&*7UlUC`3XnNRi zx);EaGA*nYHO)$t&lPE9Id$^7SLwD*Y9TbS<3PH05;HmD_b}3XVqAUz34%*wJMUCX zaDyhNnttMlF-=|j(D{j-_(RT}YpJWiGV3#f^X@plU3OU@iB!CwIL}B?ToHsuhH-5H zZ=4_#&nsi7GI7{Yl}?CaH@q=RnpFRek-HzT5$_rv*Ny1V>N)FcfgTl`->t#;+5iqP zj+0HqJho6DqDzEvgw?!TLUjzM&B8~hU^B>^@F~08a^Wq5L_hgKSJQ6x)*b2?k^K^W zS@zyn|8uLH$nS2Dz`f?9lEsE^I1Lr97`2LPxe;{Jer4ZYR`Dl+I8>d+owSzLowD_g zFuWJVjR1GAe8_dosc^aibP>^gcY3TA>ns$s7GCv`p12k~9?tUDd{IwmMlA0@v`>L< zxwn#L!foNUu+Z}<(ktIVtOJ%spg1fyFWwo{+A@f@!4B}-3PCmJ)UC+wWyi%PYczXXA?s9dIrDGUQ0lV>RI74VO$5c3Nbh@R z%?xJ1XW~)A_6GAnIU+7(QGaHiHABz}TihS9Zcw82o@vdUawumeE$puEBAZ~wDSYrN zJEE>>Xq{r%aYkHI&4xuhEtLf92UT_`HYTjJAnwb5`(W&N5a&QNJV?Fm{Bcv4J_~vb zY(jnY%IN3oTFOWmL@qt{Q1|MWXbzwrs;9QWl&AUw9Y}9zFJSkXb z#{4F@&?`fW|JG}~9Et@d;&=yt?s0Co#v}Ot++c5ys#|4daLg$L6!n9_q?(*JtK_o+Kg9+y#9KKsy_THCY%tUfS6V!$D>wPngw^xZ&U7! zck0&~_u1hsg(Fiu>bUa#c`kZ}*3|ca3f&Gq<-`%wicz!r8o&z(n z0HTJfw@5v|vZqA65yKhyl#;N)BFlJCohdK$cl}PQ(VEG5*qBj^7j9fQQGNKEKYL1l z@-#DR3qxRX)~(G+Pk{}3 z(s&pBx$O{RSpdmdBBD~sB*ljYvCb%AL@OYTM56-`#!YZhlE@Q**E%|aTJi9H(4h1C z+N+|@#A9#tD*a8VQCR%jpy?JUlP-PUb+{ysXZlR~6qZme#WRKTktT~Tpzk1C23f)u z;LStz5s`~gHS>IM?jBbPJfo8O>>{$#pxoiYdheC>HPvye^Z9G|*|hr7>4m${_whqW z>X@X-aFzpaX1Bdy8PnRiqY)D?drInsg);;5{wh~61Qxu~GRI2BjtM`jx!UAn*hRN> zAoA(`_0LVq`C0@o&cf{RyC)Y`xBodml?cRN`p184sr*ddENg|I<(%S>_j+aa?Y_)| zqxZSaQ|{O!N^^SM`{!mq^b)%^;z3k&b=@02mi~zA6K?~yZjOt~>aA%ZZwi5yDTtWM z)vpV0Yj5SNXWAHG9ddEZu<>yF(RBrE?Tx#~Kx^r;HiM{rwW1f{d-(`8M_jqNT^sW5 zK7hRGxLV9c0@WB2;<|3_5gNte&M~OdMfkankGm)QBwG3I5-K34^_@#ogfS!A;dpUM zxa7l}JJFZc%5ixyJJeBP3vA`>XsR=_JF`~FS`szG3chhN58kZBjkh?Gwg66H_FNjZ zF((saz2f7Sp-@@MVACRV!h4AZRl2pF*Oi6)w#3ny{n$?IQ~bR*DLUfyWMtd>+!+0u z;`W|Mkcp4icL^WE={V))a~%qf?lnbvwgv9b%}(O?0Pk)Y5c0)_Ad(R&02gW)0t@9( zEc8PKMht|q6gt+Wj4fTV_+i_HkG+e{W+I6 zM;xgOPtSg|&})?}>l`OmXoKfszr(fc$wswvBOn4F=L(EVCZ?ltHO^{J62GjbwXy<( z?EGhxtE|}z>+GG~d8h~-e-UKyv?&CZ|93V%P~nVP($T$81?+Y?4Z#9s?76eVIqWhg zPlr?3`_wb1uJaS;`zkr-%x&mCq21zbtfS$VPj5Mvju&A+k^JQ^uqwpS? zw1kTpAfFYXisoW|nBOTE>_0KC2Q)U)bou5&1lXRy6+5}L+!g_g+9ui7cIYV=-BF$(etW1ycW1-Z4U~ZMAvQ9m;+-$C`Ws4>u4+JQBU^6_4LB0PDvm6v7 z=L|QS3y99H*dB_pUDCrK7fR#ACGeb|TougW|B z=iRY ziSiPZ|H9|W^Yio9`MHI}-};++ycDT-q*EOQrJOBmw!`~-hwrzyHwW(trxHA+Wg4Y! zA2&CSRfF?~nyQEI_xE=?38zYTzJhPF_nF=AG+tg_?{y#tV5@>^sz~QPr=X>{7u4x4 zwRERR_J+o{1}7QJdA>pwIo@#w35UXP6*J}Ut`FBo(cdy6m(mVKuxv1IzJyYK`I?#Y{D9u@1%VzuN(tGhV+hFE4MRL%m#!pGTyK zz4$W-I_LK?pF}^hm2v+EE8hXsRJ5*3Q9%J|Qk15m6zL$ngrb1b1VuWC^xk_3NS6|j zCLlpX1f_%YUPBK(^p2qfLJ0|w_B{9AbI!asbKl%I^Y*Nno!M*cHS7P^`pdVn*Eb^F zmYrsa2~$dUngX}f3c=Ygb_oSee~1YAFtGN^i)w`NArIuu@GFc2{>>_P6>6=N!+}_N z{E~}n?$Y)4eNMY=JTFr5CR5RFq-X z;}Q8XBm?MM1r8)~;)bpV>jFh~w_c>wFJSD?^yi{*!6Abu3e&cuds2J0IqsM8yH$(B z#Nyh&c~F)cHY5ZidH4w5g}vr9`6KYp9ioH6z@yWLW0oC{758yf|1neG*V&8kF<+#e z$mLwd!Ts!N>oB&l4woy;j8#24s2)%*JCi%)Iu@KfMGSM}?mW|2!)duZD9=Nkx$uq1 z?rY$-#9BKuR(FH5V1gC;ojgabV@_}XbbiFwE@Qc^<`ho9pnD{m$H8uoFqX0oG}$4t zJk&?6Ym1igjD~{FYR|zE+mLU#*E?4?N?v2L&z?I-;|(K8ucup zr^D5gN{pB~fKPr9XgIX8;TX84!C&y|hk}UMoLIPc)+87fTVNp4!zz6NB4L~Ep!0FV z0J(g;L8qUIm%xW-eCOB|Vx4$FnGFHj%ps2o|Kulhe!?FX)fqpc&|r8W*6P68u#K04 zTMu|{zK8#o49UNc!0>@Gqkt|a58Qa&hQSMi#3J#6GvUE-vpN1SjkWQX_n=AR=gZnv za2S38+nwv#leM2|JrmXZ9V-n#os?#UV&LjQ=c0?sYl+%yjDRz6W;3Q<%h9P_S+N7v z`CkV4A699hBTxVT{YsPH=8DTsahCpJ!9zkq`ug8a$S~pmlM|ZTaEf|&Csv=ri=M)Z zj>U`aA3ti^BB>gGJRp9&36E6E)59L$TD46C#DuNcEB)&pmyI|<20Rt*Os zZ)Fb(c7pT6umcO7Etb>x5uXmE6%hsx3SR`k5X3OMrQjnNa;X7-HHv|E;ybIZIANGF zjB@2{0QSrC*#Zuj%fE(ph4}{u&j0MXQ2zThba|8Fo1cFPa!3{btzMAs|Ez=md#k@b zepbwxOyy3*hM3?7qnAz(0?C)&+1<~NDNfEeHs)_u&Q*R?Ofg8>7B6kA;iqz~6>v$SVS**9ItRP8wzpar~7k=>yN9fxzBL5I1KqH?n5=&6p=%uXr^ zx}Ms(j?)~B)u?ir4)S+Z`6)5wu4DUFGFqqLCVr9&A5`86!%PI0Cv}L4E*T zSBdk>#Ca6xumr${bjej>gl-YY|L+q0ceO-6GMft`$Mke3k%Z(n?B9wk2>kC}`G0x- zSCRS2Y3%&eF&y!XUiWYJCCJcGY(8TjwA|ZQg0(ulP=-PY##PSF4y{gf43ra5;Oy+~ zccQG+H=_P|TL<8-&JT9r&;nrSrX1!MeAB16oW$+|(@oUhyZlIy2qhBmJJTh4|4}U- zdU?9D1{LlI!=mMp)zWs?P*@H18SHOxCRp#hlT2!oP>HrW*T3@5{E-ejT)WJ-cyn65 zea+%tyJhi6rNd!ch?1u>ye#+t!L{SE=GXk&BZM=THt6~+! z7bjbo_Q2SdQW2_Wa_yXZ63+-=p40fYW){0LOHCHodC>k>CvFiv4GvT=E*biZ2wAJL z>Li38-IBxl=-5r3a_eM3B}@vq6*1!2R%(6l5@jA_Z6fDK0y4?W+(+^Gz5Fwo-(k;{ zzH6`y{@isZ=%2bX6zO|nt?g8`LB1Z}P9;L6}1|Zmj z--b;JZ$^nsD3yjsD!ldfZ&6knegMEQ8Rp|JQ=ubkcZoy{zf7HQU2MC^!%Gy(%{yFBvGKfS&0H@lxox5Ywl@GQg z5PDYnVG{+Ue&@)2kGpH^xtuwBW><>fVp?C9;=x4hg-#bSZ2xpzb`?iN)|TSrvVWrXTK=*+{pT`~lfh)K0LM-}x)qzE1!RQIo`&@=fqQIr`ihOA zwqB7T?+pq23rq!bUY|idKgTO~n>O8$56T7_${e1I|2pL|G!JgXnO*+YP}!MNWV9?1 z@b){wh14HtzulR|5pKc_ivj$^w@MXL>1VOy{8yaU;en|!pN_R6Os2bfwNIGuo~ ztuN;NK~Bq-Hh&DSrcXUKrk^O%7g2T9^_)F88z%G}zG2R+n>HyXuLpSBpE?kT!<@N{ zSfel5K6AtEZ`l{zFK5o56ue#FIx@cG-npYl9917&#shzmL(4t^vjxlw@0G2qqr&@x zu4|T=YiEc5$AHK6rs9f{9BEOK;FbE$l)GT`8;TNiC)2*i`n`;Rs?gW=ES1>h?&*RI zpg_Ug9)Dfqxcps~--uCl(jDfy-|}*SG}wdrAqZxZUnE}d^*B{f?SbJ{`aec5zB+D4 zKFt5tPJ%a}G6SCGpy7~{qKJG+sI>f-ZQknZh`;>u!SBAyXG6hXe;JIHI0$gg`83H0 zcTST(m4cWX@b|_6A=JR@n_T6c0dqVnSLZp{yAqZ9u#CtH-SXqV2mfJQH$fH@rBwrs zE$Au-8_lY#5itDjkyCp<=3~fFHfmJmhXi;J^#XV%6AN*yI}JD;wjG`Fg9VHXqMD)% z*61!-im*{R@|WYCiC5 zbpI-)t&h!cfUz90mfv{IVsz?KLof{JLnvoY`}Z zAPGhAeKumI8A{6P5Zk;+l&~3C3Z^tO8!nS<4ys~P_HkkdN#`9!%*&JXb z)1^`LX#~c_MGD;{Gik+gj?T(`z)wM+F*%f>Z8{tj5~)Vf;sUiz5l0KNcp~qCQ9Vis>l!+nQMZyk%ARWd|?J~M{f#Bsj? z6rBiE9)N?;$dESu%N{|Hpk=<7I)}(#@&$jH7U8*{4vZTxiLk@LrcE-vSC>Eph&tT; z@s^_@#j3{B+a>S|J}YdDk9(+5*c%6)K+C@fDP2(g5FgV3xn!#DovdiOeOiX97ufnp zrO-W0z3thE^R2ADPIu_o|6@ z#KEG6dvE9w zUuk8no)=8i{M@8z$G^pUK?tPhe-G^N`%m$~OSirbr-eZgon{(4*G?`u0!qIW96?&h zIF?XbAwru`9;kNq<<}gxuuQ8FFmfCgHB7h=-F(+N_#>|bD z5(vZrR?(3DnxI#>Md34wSak-i?6)8vn`^0Bzyjd zsv71wc?AqJD(FMweGg{PBi$o0Hu&#&MY*-&S4VHRm`K5X1w{(KA@>z{%5a_g5?WecU zf1RJ5C69N%B@}qqinqHjth#y-=ac74AfYvG4IX(7WW1YR?-3P;-=-5sj=b~V*#Qyz zcJ?(yCeW_bEm4Y6*WgbDJ}RqLwQXgr)km~bfzmZ|h{mEPM}}d^M->K@kI(K3v^RCC zRWg?2I+v{AHyalV!e5x<_0h2K8W$k$M$k_vw^bw2*@GhdS&-olZC9n`uPg97Nn#P$ zGpU7QhZ*bAd=%$V50LxLK08v0A5w$du5UgHSQw%JR^kdq4wL}XTK>=-Ih6*&S=e*A z#=&u`GIw@?kV%3cu~!jMb=JAR?ESSa592kK-Z5Hdp`=6{v7HQK6==V}L3i$jYPZFl zZ?2zW*9DPCx;M)N|+Jx~S39r$xOxi6l zkk|j0-*LdBw>6*2-S4GO`fr@_)q2;q^bngWB~y^%KilJ9%NsQ%4ijCHte{$x(2TPR z8C4OAmF|4U%iZVD*{@vLyos{=0RW(u{8XUaX&~Ei%XNh;M5uBD?UGGhAGE!aDX!%5 z?bUkF<^U5#tIc00ro5Du@|rVXOh%Q0J@eG7viFE+fh}TD1nr4apj<(!({@sC!|c$Q z=6G;L*{K1ZuW^2_cVuJr=3By=-7wnp4SV51^wSkA7t$JN`>n!GoMQD8Ucmjt1P%QI zyih&QZUK=Myzz>ze2oLbh~%w=+iMwn3VFTA3t)vA4^$Bcv?r#Rg~k#wwC5O~>fobS zaQ?d*yF0rJ-M_*@OkpwO5@mHc?$Z6v1Qt)M(OKtsfc=gy8rk%`GXQ$IW(H}8$wy&g zYKZS#0sr)x{|s{fNEDAT8}uQQ3s_WIcQ_-l9Nk_AnObwAf9Ii%4vJRt^Z41j=49@b zfY3S%4I@$_Nv3GA(%_-j{(iD!8kobApNOhXo1PAC^unG}qaf7TN`5QoG3G2m9?{1;Oqegv@WvMx&T*4o?Tt6t<@Bw zfo^TFczgiGj1sE%HiEnIYuL}F5oXwV<8!%kgx*r2p1cCFoamE}3(C$rDx3++BVEkv za7hRYze+l)nGLPi`4o%fmAR|-hJ{dBSneTEYGwq!`Y?)4YQKmz%-Q~lMC#|9k^t820&*dc`j#Nyzg86ggAFa7s(}Xm)?Ks;)2lkNgI#9)No!vMq1W-pzS`?wUP~2t zy;CC|jykj3<9|zJagXdRSN{b8vtm@ly+h5zDuM+jHyxgUKR17PXf!gqYO!-xK1{&r z$#;nJDt92Zl*4^B*v4^kEoHc0@Q|GqzsO<2zBH+uSR&JIj=sg(E2Dg_w{SLb?CZ*u zonQ-Sad5$u4_7`uZD4R1vKTY|;>J~C<$&ckFk0w z0Sgk$t}S<4ydNAZHngAnU%Cu@&I(ye*Qkb-5YIeBkS3=qSDfbiE-g~$m4VSCyNAvc z&_52E`Nvu4j@B&9Sw0Rre*y}P4FY5QI{Jj$GjYUN!WpwU0aa%W?fsFW!-EglTk2)m zcG=_3ho)XV0*qT+lIy@dz9*T3@Pi$KOCpDBi^bWeja-}hOUlD*;Zj^a0RFIqalz*M zY_1&$_!kt_yo2$5ZiN4JxIX+hZ93YakzqYBPpK0QJ#un>!+3E}X;unB)F4DqG>K_J{?)Zr!i0A*tFX|?VEsNAqeE{rJS&)M+s0;*-< zI@1ARYf8!xtZ_lt_}b@FULhRG_Vf^uuiYpO07YNr)z-8nqWYIu;8&}AH&6*nH(UB! zSp5kD8J*CBZM`qUIVc0d7uaPl!5?9!1u#mB1ICHUb0F0h~tx^YkDXJ^GPt06_`HO~z&ZkVU z%>xx7C7PYD29A~-;68}PEfI(#*L>Q^3mS+oemR^47Ls-fzjC)M35#q%n*O<M z=7(nOTS1|#3uLUl@bkW8nfw{(%0+<#$u_ogWVl8 z--B3oYaj!_wGU&dww1X?@BjBBwE1@K%Jsj>u*0Sv@e_YbC`eesD3;h7ntNQ1%WYjR zZGhc8jm}yEd0%!sfDi3XuM~v0hQaUhy7w*lB!Wjzq3B(|TLs-eT$co-TCdjpe;?&3 zR zriqE~L6$12pk7raIZl3V_AJ@yN}a-;vxJqf^2)J;(=V0bU~9xbXRJEc% zOpF9wnl7au3weoT0oLkH6g&47=toAw8Iwg9hR(IwJKNj)bFgF7ieuGWw~~baC2WfhnmuXO0;qX?%fi5Oz>M)W<;wezymkm zY8y91ubR@f*LUJ;!tZ45^b0x&r9v$L&YvNy;(r2d;ix!R~u<1i~8tqOim^7H*;>cy0Y6_zz?floMssY4M}3 zwlMIv<<-7x+-cj_Oxg(uA0y2EvW6%Z&Qa8JoTY(>LAN!g8h7q3m?JI@T?zYh1mEFlzGHe(E_^`!Oq_Cn6^DBC>k_gS3WooBgVzLEA}riC#kvgs8Gd>+ z7q>jL=5|LjQ3{Q4>oO*q5m#OkV(_Wq<37S$42$GJUnYsEZc$Gc8uXSAkxZegoWu%S z9QYJ-Ap*Zxp!iJaelJN_8tNPjBCK2>4gY2G|K$_^(=&>;3HQBX&JL%&#zlBCH!h~E zVZK?=xxK74e7s7x=B;H+{9NxN4&1EaTPr?=x1_v0Kr}M9$Yi7>@hWY8GFINqYP&tI zUyjws-+N!QzUYNY$v+JUOrS!%$MC0j9vn4U4QqvFg3|oQS?;eci@{T7b=supTqx}d z?1aQ2dB`it%L3W#GY){3WyB}~0pChGu5Ppb>q373~se5sI) zTv{U(3L$(+PFngt1?j4+vO)G7S_x`|l$+)oSY7<4@vzo@whuq=o~0Ji!908uE*_RA zbr?2N*V(v%YU@kV;?pig>ZTPY2LgPmko%J%3z-rnGj|# z2o~}`l*0<(A;hAyTAh$pqijw*2>a5cxylq%F}z>@?cL+XB$~si@2;|-m^KD@<{`Kt zhkdpR%B=@A3>Mh!HY5V%kMN9_J}K~J+uU$Y|C4py#=N*^`Ecnc!Y1%CHUWRR=^#6K z)P>AQ*pKi%;!0>tW351M+G>n0K^9oFzS0$z8KOD>=Jvf&wf7koc$B&|Tj2vT9_ntsWoNd+SB^K45X_ueM(QZGpsFhlFF1OFmId#zf zd~hu|U!+Q4zTGS&C1;JJ#rt?g4W(0Q0`vM2zOif8${qp=N^C2tJRJ+VchlzjV6aMO z$ttQ9m9{EBeH4ILDR{ z!t(C~cINnRQcC*YC8qz==YJE}Fo7ln-yHgrrXWK?-@`P`N6dHs-nr9^A2HlbNKQ&h zN*2rk>SMngfx&y1GsKyAQ=dI0!w}fbYGGun@S8vIFexy}VqKch08IT|Tv0EXr$zsD z7m~G@@ZPic9P5#{=tvuGu}y#5nTQ^q;05CThzAnEJ{BD&@UL_sbF$cE4%Fq8##bppytZ(@DFDE!bOrcQ3+Clb5~9MUELqt zZi6|l`RRSVK$gmSnqN%g6-3x*MF4HM#wOi9IREfCdY0AM$;hu6Rgp z9h8)2`01=;LO>~4$-&3Msy}pxK2ou|$g$pZ$bBmOnr^Ug^o|O1S8uo{Zm&PtU zmY+n@N9L7rG+C%`Si?T?L#cilJb$cdWFxBMKt7<*Sbj|M`6O=46v`tkUo> zdnv=n^O643Eq!1r%2xsKP-=4=Xg_1JYD>v8i* zZ%eJql`t#b%>T8IpH8GOQ7OXoL}}7Alu@Q?fAx{d8zS;r=Dw537*>>NvENqf_5bbs{(x4SYIg^& z)<%Ym2&%eXNCoFimjCX?;!O2Qc;@>3?29erGnW&lp8Wtqp&{{kPfvsdYPqyKBQ5ij zOyGfGSIo;{T(b`YsE8o}Y#v=ld3$%LAVom_Mi|94p9)rWx-AZUK2EI{6-SsK#w&Tz z1Esf`#i&NE2m)H5tI}Ot<0LK%`Imh~DM%a2_`pZ`CC?^djjObD;BSn^@0?(q_YtKB zlXS|iqadued$rr6$kG8znCy5oGFVju3jV6E$TZ+?Pq*z7{cImyZYO_Bp%j0?Y(0%r z60G0+2F`OHK)S?f|74iGzGiTSAX|;-6BxkK7&cdY555kbZgd${$*f z-ep}74m{U%Pr@d9co)3vh=59#pLDMiHP_kwekPpkAH-#YsO;BEn5hq8Flz*BW^96) zDa&0sB?X9%^2;LGGcr6``R1c(FAFBpLXt2=%@}5CmunLQiGg9(maVGGz1kMvPW^O6 z;0IE{o6-Z28})0gc*H*3ho(;{b?ckNMFVnmS<39kq(f$DHno9v@_h2I(o6aZ081ku zbuv%Dim07YPY{MBNvRZ2CoGCG&vrG5~y9^tR)=qEc5y&Oi#MZNU zVKxRu)QHya<)Z`2e&rRT6-bQ^136Z7CnA-63wyY`-6lG2eq-@85SV&a=@0c<(>47@ zrNn)0fF>$BX%?8JVEm+VZJ*6RqQ^M3Brx9$LNLUM&wY=+0S;r12Xlsy}d=Y9%7(Z@uM0z%}BmkREmg?b%8_E3nrH5l;S&r!Q@k7i!8p8 zY;vDmvE@-)%hJ$P7{TK7aLD ziEhB9Cm_iM*4|M_#oa{fV$5P6l*Tak9D>OmRQWlk+9TWJr$bl0wEFawVzbq?Y1dDw z0}e)@%K5kz-OM|)+*wxcIdK}u@1EqIRDz~4oD4)mzdWhIbWHEtA9>T&O*^8`wbG=Y zgf`+?EviEDanh3N=6f>@tyjVN^GsiZA8dSpP~7xm(u`0#BA)&5^USSXM4!J|C~EbP zc*P%o@!M?Oa#m_(k-fs-B~$TK^IEj;i!9vMy7t zGO_r+jd_^w(uFX0p zwrS5&F`6P8KV$%Juwscl&#B{gD~g6Fbv={d=Ikk=ZnNU0fxjU1a12%W(T*jmbq@;} zB)ikuZB<3r)k4p>e0(yyjhm2K=GgzE)zbd#BwBe&=D&Z#^3fcI`QN zbVqZV{#`0L%e;&{|O;`q!Qh&Lh)nUoX57e=-2 zakKVN&SJN`WJ#(--O)9mCbmsEX)1UiM5^VLRStlfw1MXN0o&9H>x5(7H}qO_QB<%0 zw?A5C)FN2by@xtegjz@WF4)P*6$|{@L`|Vb=K;Ti0h!zV-bdwo<{}Z_yE7; z7#keA3=isKSk&8|f^+t}?%&*9XQn)>Uu*7t{xm7_#)GUnF94nE_GgOJbCt^T+wld= zCVzJVeB|5=IDheJP!Ow4*Mb%`yrKmHMCti;gRyA%hF`o1N~oVFvjnu;_3)bs-AzT_ z7qR$pjwqSq#$DEs)*QEZHf@pc=w{H}sGbJ|5ClsU-cm(YuFp@7swkF%FW_x8COIS2 zp~2Ts$8z=wY}`HNKo7@eabxGm3rO3GP_emrCkaLszR=4Oe>!`yesad*IT~H9i1=LX zuCcOvi^2s5(+7Yl?*)rqFV)vyExA3IPYJ@V5s$A0lWlHBCel>(VN9mB!kyx`GooHq zlEiz_aUS^bNb^NsXTLO*S0yX_dQs_=!z{w+@Ob^P zi7B$uJfdLHdZzgMmSn14g|l}l?a1WG&kMhYvRiYi^TD1`qvdn{uEiCuid0c_AWo*C zCKJRiB&dLCxkJ*I93S&zik=GQ_B<*w7%YJM#evjetLaEoD%I|EfhZ<=ds9D6Cci}N zm*DP*IN)h>pLcmP5W2!&#j^fzS6wsvT50ZJ#uQRm7Wc{FUeT7x61l%Yfe|lTY}~C7 zb-QXeG2|*~QV12VI`l#*RQJbxC`*Ol1qsbbzWoLhaY##8X{xq)e>ZK_Wl~S!71wy7?4lWaSISN~u zpXO_YR)Vm@eI4IU1gVcewr4*k(7D-d~!lt1-~ zgSevrj=hqABzMkTY!&h13Y2~A`*#UXEyB3Yx9<(bQKe-eXTl`DRFw}4$#h~$W&z?MT5c9h((IL#ux zU6=6Ba#GkzfvB#6L;k^b)I|<&{Ey+IF{z@xxX0bS8lz%!bB%6cM}?NomF|aA?bEOE zqSR`^q=}G2ZR1!8{Fgz)D0H-ryyf*xf+bV9u}yV*N(8Aj>AhWlat+Pveh)X`G-4mm zTy$Yt_%|N_g7FJ*?9oc4(h_^@nA{p(o)#<7(4LozBU82zEOp=b>+L(E)fe|3;yksX}Ra(vbz z*1#56ycy0yf~$Wi!)?>?I1<{ySlMW!9%6fz&9<^e&e78D!GVca4(Jz6(D!*&wbjg! zYsEAgIes5NDG{V9-j^B@+CjW7Sy$2&7dE047~;ie-C4Ud`N6sna6KYrf}o%N__Soy zwYwbs6!qad^h2PV(F<5?gvMdj54GKUQz(QO!#=|&$|VLDnEo6-Ny6!+BiphdgcxzP zb(L^Wt0mVU9@F1<{EexvXAnK8NBZt+5FRsJ+Zqc}cyN|%Mh9-v4Ol=mSobYoG<-9S zNa+epFgNh^&n2C*G<|uvVr|YxI?Op}n)B*;7U+O@bYJXa?rPEXLdTSKOgkTiM%AZ4IjE62>c+d9T zdRoeu^&|+4f6oO4CXTdC-xJ|Zpb4yAnOv415I6X%&tHk8=bLxuHuR*Shu<8L>9d~= zQ_d_YOI)s@Xj*fNw@Uc7JH84Q#}|mR#^GT6P&EpS9N$8!d^Wqjgi<@<=?4GRPS56&vSBrk#C``#h7Pn<&>FEAZU) z4UqsO6;YOl>fYe@l%{{5GeZVE+S&umSbulge#TgDy*dmt(!#H`E5*k9~>xvXRYy;b?Wa#5{4*7I)GkMs?* zIns+tV3IeUg_3cJO$)!jyWW#1evNxLpTDnt)E;k~x*r42FEiVabVC>ZDAqV7_;)$~E?O+q8IGTeE6$|Pf@oQXB9@b}as zPJrac%&%@YeE0q0E$+uXPEk(5ti;IOe(ET*6xH;(u+`TO!6MNme|2j-P4Byyiime& z=e3TU>$lhj=%EHrB)k5Gv=M~UGLJL&H4{#8xt2$!lzi3|wttk@lz4-0f$!XihH2B4 zSJjm-k+B@aHT-OsGEJTAk_mmsHXya~kZdQ(m{e@dDuOonIxii~k-E@NOzR{F3#h&_ zwj?{HQjr6QQGTP4pC5G;(P9O^RpmXWpvL*@xifIxgq<0^X=)i954nES%6gdR z#X)noL`G6h*l`J}|L9RrsXK{qt(6H7z)&%_tc?Xn(%t_T0vdHiBER%PF1d6b3TVB7V9gx{6S z`eI}dU{59@A83naA&mjx9^g#YsTE?vWx2C>A8FEDBzz; z1c8>N9{ytbI%R<0pG2)isYQO!zqZrKqts*uYU948N}@RiXshB)yM@3itKIXPnWtG+WkNz4!X(o+h=$p_FnqA=HN9MRc05* zeR$c+?i6m*??Ugc-bQ+qa);bhsLk=r#qpHu78gJ*{ZZph ztYy}TZyyNLDQnA@Cd2${CB|a0A-4z?V8-x`G{BX04=P`uWScqTo(+pdd5mk7?Izn^ zQfuD(u^P?y?5ZlJ>aR@hxEG`Mb&y*)D?XCT$hO;ekMDi?#Cmir$uGsADS|#9H5n6& zYr0>fZ}2C{g-g(VWDaYr*m$kPZEj-Nj1nq9x%T+6qA3L zI>dQ#WD=+Xg=q<82b}}mLLGrzxzx7oG~XUt97AEmrGsWl!)9S?mokU_meAa_xo$b#k9Tg`YLsM;6zePyicfYfFoiE}zP->;tTVa* zJ|Oj$+RF==)RZ`@VQpo`PI*2&;eahAvQU#Y7k((>c941!SS-tRTp5jY3DHcgR4_^{ zMN=Lwt1|1aCF{XEX?5OSqrZ#^(Q-U5uv8dT2QnoX(Qqhi*K2phLhy0{k3y?GOd`Gr z>02l;4wsEBKG=A$18&A1t3x@xl<7DztGy#?i_N0jNL`YOWv3D@cE&$7?geUTY#o5K2h{(LJhDn=rx9{I4qRlwNSU}GI5L` zUAP*3U+E)9YTv>uGJ*Thb(>?Wtxov?!Qydq)N(L4OtJ6fcOS?*iENwGD(N}%s`?|%Hf+%4b(E$@GgqG%3y{~O>F?+ zYa0k*N5x)fze^g3lqoqs*t2!;d9w+i)sYGlq$ab<&rQG2m1X|HWug4q>IK-XE$V?T|q0HEoaPMEz-?>#G1Q>14#--;R!o6G$wr z1!uXe2(It>X1c`U04JRXQ8y0HZbK!~IigpRETz9Kq2-S0Vn$Y@dV4Kf{Cvuxxn8Qx zGEcgbcO4@%0+YC^O$dLbbCV>C(g{BddCld}CF{PMW?-Dfp%!L#S(eCB;7Fl2?yHuU zEyismu}kqJ7b_><&SS+Ir*UU#>BDcHFPfnVD--M8yOJNY(-MdZPluwAr{?dk|G@s$ zR4je=Gk}G?PRLuSCm&vKE5zk3EZOBGiwb^yP&QAa@_S^yqYaLZ*)BvUX*E$6xPAZP zmft$%Y`zukCx1|&F4(^Q?8{b^qWs2g?9s9dJ4PIy6TcKk#X#uSPKbfj> zOgQ$1W(C$ZYMv?6NG+KJI~j4gMhECKc2m={Z-jja@}gz&S+79UJ$P4E#}yvL{Y^-Z zb%km+?H9VS@WnUdOiZfV+z9<0U>kwrq;xb0dJ;K#UJ#1JJrVU#{uaq*v6P-*$@lIR zE&Z_9VOdX@8*7|%%M&; z*q}|r=ma+pfZ(0dZ2aydQxTLu|6D`Q+;@FWep`csEojWOJx-2cG>!NodG+v<2Um?M zLP5nmB`Mcj3S@h{i&y`#?!~nZEgXu`PcYl87gKO4JzCN2RazxxzkVEg@L_x+6X`?x z#&5vYuKWDc`&^YUm8OF~hs@xy-vqHOJez2jN(k4G)@AzeXSO@jEp5KelN6_r30r3E z7mD8CoAk8bUKu!?VIgN$+V7hT>WcPg`oRZuu7I-5)C@5HgX%f6vIO;>Ka?JGaH;?& z9x@lp47Im>zRI3BBk^fW?d`J=$EmCL zrfWHjf%<85rp!u|#o-!XRqQx*h0eDwiOwddW$Emx4tM!0cffS>!&i+}fm313agCYx znCUn~)^)ehtR$;Oaw{KserLlvVi)8BA5!mE6i-Ic$;b8?!0#NUWHhr-M^@Tw=fzCs zoY$NzGvRS~mglZ+8a*Y}iXbW$N6J&?o>El}t3Q4*bubfmQ$$&Xx{1$yl;K|eL#ALI zHl7i=krfU1CQ_*1q44=LUw#es}xRj`W^WtGIiqY^9zMkm;A%qJqWTwc*fGS!Q8dQ7fT|Lkp1v^QFEQ9`&_JwRo;fVdNq~lW&6V2 z$5W$hiJ$tW0IS5O@9M9Wmj~p-IITh!qzl>E8Jg)HqEF7$YRH{%o5G5QlCD60FS|7_U&rj3>e z%gvDz6OEbH#Z*FUGQ(srkIh5sClEftwMpPIu`%fId4U&SZV<(1v-7rEcCU9k)?cNK z``T94!|90Kgzp^&mBkYxe}+OFKRL#nj6VF~aM62@UNM03^It^s6+4?9|1lbHHN8h1 zZAkND(B*IpS$1HdJ-Y(WtN2hx@fe?P3mtJKW2#%2CvkRG$6^gk9Jnu@ySo^87^X~247H-powjCT92M!w^xf;u zJ&WvRpOnA(ouFCI<0m}qg*R%Hqd1)1Q1N?EpQE zJDK_tPh)884{U7e8eVyLlD~;Cv5v|z;ww_(f)JG}e7B6B#=kq(*7&gi_ROSA9E#qu zMsDTySG#hWe>ao;V1pHxI@>h74W!nQvKMUmc-l5X!kfqPoj&FUSZ!kN{IG()f@t!|uF#9{88FdOl8mvkPNm)XkFg#NC|i^Bf?D2!eI`N6G0?p4Uhy+jnq9 z^-LK+c?Rs3PS4Lcn2->+>se-Q3t!YIqT}`@?OFJ6)H-w9a|^moS zm#f=a)aUe%_JF5gd|Rtr`{`&TZMs#_Oosn`EQkZEvo7xfmh&8&1J-ig-ega)i%EQYBN{s=dXnOP5AJEL|6*wYdb8s z9w5yiI$&h1zFgGd!A73M*4|i^C=q-+G4f-CC?&9(xstBiMyAxDXkVk|n*&##=sKE_ zn(W7$Y{P?l7pKwft=AIs11cVhJgr-u1O0`n9Y<;%`tQuHhv?O%Uu&@$bg#0=BySMN z3|R`PfVZvAj#KHrc-6TH&wzl&?}etpf)?LAvp_#-`i=ArWTOn#5A^Wy{H-ZuQ}&F<+hyO;pPCrpLJs{j=jV zpW(aTtQ)y;+@c{iG~I(;$B*m%o*AjBk}?*XMyTwKnM$<^&V%6CKs*(n>EpPX`gwRj z#AMgTN6q&)9N)Ybza%I;!VEmI>1z8!>F$E5%do=0QZtXsCNQ1cAk1)$!7oB_4NQ30hKgak55AoDt2a^T>9wRh%WO#AFD8kc1?Vpr{qCid9j>1$V7rU9qAlidc{* zE-dw_xPn3zaC=&phlt3#6ZVl#-}~zO-uq+tzPaB$=iGDdo!>e4&hY8zj9pf-Tb3*; z(q=}DvDIZENAtWS=k|}C$M5%R{ooVZ)+63Aw;!)D!KoRI&Te|EbvmgxH6cDIdx2K! z>OWvW?|pUP&;5!PZXQZ0ao;w5^w2lCYiwKGRyY+|KUVj>^@MQ~MOU0UvPM2nlNx(J z=RlUDg=6vI$zeWYMfsYekIt=jIariuv-(Po&?n*KaPE-I$Zi(t>jMMt&pyW#z`k#Eyg)NQ^v~M!BNdOKXyuUR8Jf?dva>g&9uQaeG4WG zRMZ?Us0#F4PO~oTRnS=c$Spf#&Vw-j`9Df3GlWO__-Dk0%|3HbmX*3YyTm$Uw4{Gt zpX4!0F6(uG{l%|Njl7eV@?^A6Ms3iZ5#D!Cjtu>zDXChfvpG|mxnP;#P3reM9Il<7 z=kP9>HTULs!?r$&+IcPnM0| zu`;#lT4KJqdClLMCyN?3DrQ`t_x9bUU`3QwWPoo-Q2#ZnsgOI{%VEBbWp!=PoVV4t zAGzOK|3DSB&3HWUSy}bEN&`nQ>M4C=*c#c9b_k8@ku@7eq7<#Ez@91WHUEdJ0 zDS1I{{RRi`^B~ zQmG<%|J}(evk%9vI90c={9J0eon`3|ecI=4^9ys z^?JB3f~jao*7Uygu6$J3KqEiwQ6AM|ZRMQYVSD9H+4jR6%NHB&&fP;(pG^q%nh-xC&k;v`sYx77;N1Zit+!Q{ zMTON1gj?)(T|K02&c9GAtXsCq#-S|C^u}Yz#gvAjRW~P?_U*nr{#od%=ViX>`B$cT z%oq~5H?wBzD(m!=x|TPWCd7Vp-lcc-sc$D&+%k@6$vbn|-Fy1WjlqTG-!HgcgEaoy zzZ?#5$X z>_59~+~FG~9{r0>Oh2}5|J%GXSNDI{aN`l@;;ra(&e!jbU&y@ae`ltyS-nM-8021_ zHBj)0?athbiJ6BTla9Nd7*xPZp9$SoJkVFIXgn+4wxs3sJ&K*^;S`VLd9}2h+=Iin zU)(UWWpqUPy{l2$-{`?NuB^CVlv*@SqU3En$7QZ1xDJ$af+QObqXV74E_Pb)?vl|Hj| zXu#}=fwI}rGDJ>w6WIz(d=MZ8HApF@7?oPjHwmfcxO~vZ)O0GvJj4(!q`G4hQbPPD zQ^Xn_N@2OcF0iwV!C_L^Ocy2_;xgGZ3d~^e=nO6$hMgfEpTXk897@{{Rb&f#0-Zd9 z?=SIcn-EAsYNWxS<rkmd zqYKn%RHD{<_fqOmqed64r-%bs0y=(B=d7Lns6=W&MKA+mI5XJJ5ERH@@L`zGhMXB( zK7-LENb5*k3_p+qxzr%-DGHmHMy`xVcrOYUq=(O9O>13-U+17UcL5!v z+J&+?g%}{5{*UO(WgYOfaXOVb$8s4RRiQDc+MovsfVw9@F5^dNbTLwcNEstlpmeQT zA)t3EKlJ)QD*gOAme^x`#Kh2hsw=(0Gai&&TM75*sSixhqI7>$uZh#iP|tX9$DMWD zR&9QMd|$QRAXUpyUx^4T$3>}>^I0&H%SF6c5C>*(co4+%;=o>P4%-v*WU(af9CO~f zyLL}Jut_wsI1F-ISUCs_i#Zam7-2vx;;>y@-wQiQrv&GWRMlk+w(9>Rd=DYso5n|} z2YWD~z3y5!wYmBN(Ae(U_Oetd&DE%t>hvf^UPx_6-*t<(M#6l|8RSc4*eN2CVVfS6 z3+Uanoy)?zDc?`pAJc7(-Np6y;~OJUHPP|W8p=HC_k-v)5eB1Fhq^039kiWglOr_- zjXqMN#m+K{pH!w)V{-eAcXz>uZao)N%Kt(F^wRi0hyRcF%%8;H_1yj6;P0$jS)^30 zK;d#(wW}HL+UXgjRvJWb+iW;B-fJSb zt$0+TRG@m`!{*RnHWyqxa3M691JhtG3tT|QW6{`52Dl*52YMcp1|u9AlL66~5D#1k zjSYi~2?HI7!)1UAjOAi78`#0cWHDh^7?!ZbJT7>KcyW0Ui|57mlz1^At^|P~F^sU= z7T#@TZOi^(b%2_bzf%X8<^4LqwEW3R6RHZ4D8U0wj~&;DfZn6N3*%1v)J{K$*VVC$ z0q-c*s5H6&@M?{UK;4;Rby49*cLT=c@Hi|Qi-B+$<`yK03&E`|Y}T~4OrU2&tz%d; z%!_MoK|(>YfCjWc!{V_S<`yIq^g${?3zE+TuL$NAj0b%LYk6QKXtBANpirNHu@>`1 zc$hE3!^R*yYz%^!#~_fok3~bw(GUci5i!R^u$6%KWDX4!Ee#YpjYH$ocr=6t&_ECk zf@u(w2C-ZGXo0{C?PBe!ti|Onh^-fj4th#1znbQg^ArPP4CA zJXxoSP^wUo-rw7U;_E5qKnRE947-3b?r|L9&A0A)@M|0Rosr)0OXGWw|Bkn#583Iw z!4DY~7mJ((2ZUH8aS`*uSxHpXC-mrfDnr$E@D17D~SsSgjghT z5%a-WNnAJ}#3G4{m=DfM;=%zT7D-&hd~jA07Y+!qNa7;qgR_#ja6pJf5*INaoR!3d z141m4xQO}StRyZR5Mq(UMa&0hC2`?^5Q`)(Vm>%4i3*nbH=(JuCtxCj1qwJd!6 zN1L}E$Yl;2HjF3j-O|#c2>0;+xu#-OuEfKeU3tJ!Z*OU7IpXWynM*GLVegS05d(o@ z;gKDgDWT$8s+E=15O7&VV9l|`B@Rk)>2&#=#=m&R6|p|uRWovK4t$a=U*|I-s)8Bb zD=~Ga*R0QM6PGg<6s=ez0-r!Va~ikt>9*pf|Ilv!cJ{K6@a3CaQ)Vc_!|xXC^Qo-- zYE7@w>f+1;!)~gRHobiI`frx~`t`eQvOgdC&~Y~&dq3^E_Mp_!ZnO&>&1kj~6XAOIb-S(Y9e202 zTVg^?_j(G#snbIEKa`N}UBORvn^V zmm9SS5V{s4wK@d`8h$RzPu|`k? zxkmUK>csLr4xqFySHj1AV+jTmE@Y*o0j3cb#E;}surfXh@Mx?IX@*sgmjz?hx&j;)pXMJ}ff3qp4S=NoP;4VGS@0`iMgqmv zP_6$`&p3=9S9`%oD)?WsjIE978>4X8jMQPG3&M{?9|a-UJSEsA-wv1lf*?tKPJ6M( zbn=T$R^cmm*0EJ*8p>vT+ta=?-PN3`i8?&VB=LqLx+8s=cWQI;c;D=4HY@VjxIK#R zx&xb=m^fiPul~=d^n|mCfNn3w`VSt!AjAlf6EAb>%=xhVK2XV%gz=%Sck-`;G2N zA2}R{mTkLO)_Zx#J9+iTU3p84IoSSFchVj<56qPZug^T+y8G~#K5=DgboD;2{khMM_SF91FF0_f zlJDyHq&(&M%JIqq;o#XR^n~6S(;K%`FUQc9-{0-)MTSZb*B;zI<%LxAQt(JOske7O znZIs$@Z95XX7%?BZ;2#5qTI=w>ON4A-aXB_XnVwZRle4;tEu|{w&CUFIa{r%$rm@A zd%9=Wa7WUwn!Fopq8ElTI|ed3w;Pa|Lu}W^OC87d>X0j)WkblioZanN{d?zM@Lpkt zbJN<6zw%a>_a-$fzir`)Ii;WGXEvVt@y3*#=8Uypsgo#lESk=7M2ld_8FTQHZW6X2NUw!P~{f|Bc7yuK5 W(3UO0c@1d*0000a@IAfZ|4@5yc3UAT$7>k;*(W<~4&a0m(bXQDp;6Ywx>=7b0W2QC3WdDPONIR3 zPzRQu3jnOO*#a?MsKxCLgplNfQjmtpE{Wo6|+!$+^ISl#w(EwkDVjxY1zH5L&z|FqxBpC1rmmrzj>!Jx=QUibtq@ z#&L;&37*DtG@EX>=S?Yf5n7-G<^|TnG5`@juH6HhjkJ0snex!A)nY<`=~|9sNEUbE z1QCsCj5wRG!EwDo6B|p=8Uv2yJ8`EzS|6kD+;8FO5~Z{{_cQ-XdZL5A1oNYN-4Z??OEvhYj?|zkgX=wjN-*tcX{tuT+`ffN_ zHkRBww^2J+&OB>ocB*pUoMqT=yyv~%^rU&{{>Q5udR|+zaA8dAz0Z%UbBYE{?Gd&^ zH*oQyG|TNHODtRFN11PhmduO_zjZzl5mPNwMwHW8M~6imN>kl$`FOZ)Sy;Jc*f6A8 zJ>PO7Gp+jIn#PdnTeolRxpZNA^RPaE;KM&hd5sYxnqR^o&ybjviy`a2gQS34XxCeGoO1ieww zg6?i*gsT%S|5kB0s-dQ)WTi*_eXmy*WN*)|+r9UoZ+ZPWsB+)C3wm!n)_7uKa#YAS zDL3)KpUPTHiOU_=uL)1`#{{+Ze=Dlujl;tomoMf#Al0?|x>Y8T@hO(O2a1Q9x2?T3 z=fVe~dT`B?)4Q62BB4ilbvZ>dBCGW`ZeF^nEgNV3^x?X+kGR@>xv!I}pcQB9f*QwP oTeIg^b@)$%H~(^_=sevP)-WJsN9*QMF6BdQO-QxWO?rFoAD$P_6951J delta 638 zcmV-^0)hR75SImzB!3xnMObuGZ)S9NVRB^vL1b@YWgtmyVP|DhWnpA_ami&o0006x zNklYv0&94Bpxi4>a91gp`cLet>7OZUV9P( z;;FYB6%R&1h)@E>L!p8fu@Xv5m69f{bYo&S*Z{)`GNQg%naVaC~en?iFn9Eh>=;uyb+`>&*Cx3qK-0G$3~U# z5urAutvV`hrjR7TNM96D-j6DLn2S8Xgy_St>^Y8h%{qg z$DSh5dl4^3=YKJ`l|$Jb!Xk+t^#m}bokLb%!$FPS!3iYQUOc%Gn2bqCTlyIDYZ2Tv z8xWphJhTiH^>27*8_;<=5x9k*tW30tG(}+gdjBL=ek>jKMYPmCum8lV%Z&mn81ET^ z_s=>?z8HS7@bgr6ga~F0SXo~>(qP-%4^`Jt@PuJffqx(rJ&#=~GfC9s+AVWBrPcS! z$VjqINFQTOmNsVX;X<>DV)Z-pfolj`O$WQ#E$5ZTv>6n#b$PC*&EkoJ}W!OwJy~<=p94PV+yKFQMIvLtnRkZ2trp Y0Gi(a?XGqBwEzGB07*qoM6N<$g3~7{F8}}l diff --git a/indra/newview/skins/default/textures/bottomtray/VoicePTT_On.png b/indra/newview/skins/default/textures/bottomtray/VoicePTT_On.png index be4881b64c1af6efe6f6e3563cc3ac4dc0928a43..9afe58dcd1bc51fa7626df225cd7d7734bd1c511 100644 GIT binary patch literal 1842 zcmbVNYfKzf7#&(D6k9FSXJhPiu-GQd&SPKfz}hamJXTp)m$iVH%IwVD-3hxh!_3fK zXsi@Vq?(XcB=OPutHfyf_+dayN!z5+w4o62Q7f^f)j+jqwDQN4RJ^k+E13G~CbM(r z-gD3QoipG4X1}+pd~NoIYy?5px+`2hc+b_ZtX1%T$7pvgysefi>Qw}}XT5%@pz1coLcT9X}f=mF6> zj~8`H3P8;U3(ip{8nxOCl!dg>rUH~EDJwx*3Cf6*6hm4VqYX{|Fc?kYgN)BrmW&0T z>{wXSWQHJOv6vxdG)PK_plmi9LDB?G;}C(Xt)j-paZ$}%WN-nMQv_KPBoWma*?`od z*)f>uf`q7?q7~JoP0%nR&dLO3AazLzAkU?6a*Gm41m`&dL_idXnhLR03M+>tO;W?s z-%zKPmj!^?T7KH<)yI`7mx*C~rDuC4_ z#V<*b#TVsWOc`}L^%ql!ZmAVSUW%z(m+S#9Rs(j7CTTNH7UHDIPmv5wGNcJ7tqe&n zKs^#K1Y4IwX|ta)G9=BImqTII@T|uEE12h)prk}us9A`zAwbAt2t!j&GEONXDKIe1 z&bV~m?R0t-DJVqXg6bHgeZI`f=AQl1Unq zJdib@IXQ|5Xrc%imeUWH9pm(>0z8(S7Vg@C1=?5`K+=CGwFQ_e1+^Hf07nSA^d|{8eRQZAsTygu_;(4^ur5KBT%R5Mk?7V2^aPH~fYmX@cA3@D~n`ykW08 zyM0|}=yqn+x)o^;c*l-Z>}_8;Ha4A=liA+gAS2?{yurRB9`E3a++6hLcVVu}I^3}P z;@94coYe&{UWv!93)3T8N}4>c#fzUCoBgPyW0XVpY)((xIJ}{*`ICL-hAh@#+I}IF zhc+LtYkXulv+K+%axZ~?rIk8xWn$vJp2LP?Wruy!w~c)>bLpX#pM~;gTkb75GsdSM z9USO0e;+^j^vEyYHlDalzd1Rzvvx==J;Q1bj!LHg4x`wms^S+nYk`BP8)etCZUp<7eu UCVQttKj~jJcWIUDcu8Z&AI*VtZvX%Q delta 425 zcmV;a0apI94#NYGB!3xnMObuGZ)S9NVRB^vL1b@YWgtmyVP|DhWnpA_ami&o0004H zNklW z)FTH3j`bh-mn>EoNpzDhb2q#D-^{<8GuB$!#3;#z#@`BEiGPWK`IQg^0)$<#C(+LsL0LfUgJp7XU(z7E&U#-fSFdoSa$Y=6pBqK&68?Fx-Xrj zADTnB1s_0LjDILtkbpvk6Otkq={|Q>j9s`hA5(f#@`RS(^G|I!ewDV0`Dl)&N36bJ zOM$ny@LS8@9we=uVMVeq8$#{=qog`Vk1S2Ld=EUY);oS2eZ&(Qu#!53-f{H#%7xSo zAOk&;xjTf#6BR+U6mZpy-2QOg8%+^mE16b|+)TVmej*GmXz)E}{@wrROMn3Yy*kLU ThV>WY00000NkvXXu0mjfv6jVM diff --git a/indra/newview/skins/default/textures/icons/Info_Over.png b/indra/newview/skins/default/textures/icons/Info_Over.png index 0efd596d3ec74ce59077d6bc5af784b349f5b84d..1d00c2c175dd32665ff33afb2a4d9a039ce352c4 100644 GIT binary patch literal 1974 zcmbVNZD<@t7~V5B+Vnz0Yp|(ErW*_`xVIm7w|BS6nY--f<7_Vtxx=P-rJdWIyDYie z+3xP;EZD$)rQSFIQWrDmr+~@vQ^56a2ZAf05&C!E4MQz#cJ|1de zaR)`U9@5j3&SY|*q~f9vYB-C0m7+<|6xBaaF`+t*9FRqM-H6h^eE1O!bS+9B2qw9t zDWfTUbk0Jlxv{i5H?2lAdf+k8Uy%qw5jhZ4iUq@#Dp9)1E0MO_&C;L>ai*hm+!X|q z$#EcK3xS|dWK=#NfKbH8i(EtqJPHJk53yW`<^2rDOPnbABcT4HiJGP5qzPrXu0_70 z^pxY663dp$WnbCv!&aW z5^2ps(QMKhc0ElbVQdAOEbrr7OI4tzHgRUjDpbWal|=2h_=(SCSoU$jZ2n_hGs~ZJ+2#5k}U)sY^5^FimiQh~zHzIw;vS8g$^lf;CmjVXFv1oM8|Hd@Dv`cn!UPgV4j zgDfA30$>vvNF$^1zD8ndZiOJ()HSzja}_Bwo{E(w%5~Wr53?YrKca!AZWd>@rU15OIB+iX^R^3l9AkU=gAi`)puJ6Fz- z+vIjaiKoL?RPVxt6Q1_>J?Hv5p7fmSP2Z3@x?8Tl9J{dPAm8(Xr!BVFa%na8+48Z6 zpYmLPDb~N~*>3O<^~JZ|OT72e{3Ef<7UAApY-`7ZufFl~^XIdF-1Zy`3<%>*~tpnWY~OKW)ywzE!(;6fEC! z=#$42Czs-T7nUaDCwEmYk7ZgHsjgo=pI#ezkw4v;+kI0waxI6J@)t)ITaU%|zOv`U zne!d-mbd2SM_b0OwJWsur{%6w^Q||%ytwnot*`GpyW^X87gxGYg|~0>Q2R&IiOUb< dd*6P?Prdhn{(Cpv=W}n?#L$@X=HQXze*xrUb-Mrn literal 520 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbL!Lb6AYF9SoB8UsT^3j@P1pisjL z28L1t28LG&3=CE?7#PG0=Ijcz0ZP~h_=LEo&S=Gh9=&;SB+U zQ+KRBfB)wH|Nnb7Em?VVw`k{Ld!SLAB|(0{3~s&0KPdEkUd(xSMI2C&G0EHAMW}jD z4v@{jUgGKN%Km~`SX@$B_~4yFpiqXVi(`ny<=p<8LJbNWu7V<_x3~QJA8ouKE$ZFr zR^v4cv3w`1o!D0$Fzi-hKN-Als^1|YKG&Y={nz>@msvXK&J!{(JaZG%Q-e|y VQz{Ejrh=l2!PC{xWt~$(69CS{w}Aiv diff --git a/indra/newview/skins/default/textures/icons/Inv_SysClosed.png b/indra/newview/skins/default/textures/icons/Inv_SysClosed.png index 9af3b60cbdac271f9a35bdf562bba32fea6daec4..19afa94cc4f26f7639524df29558ccac8f36e4be 100644 GIT binary patch literal 2266 zcmcguYitx%6kgEqYOXm`E;t>g=b-LL(afx9ofQpoXa$azt9S0Ai2+ujt60;BY zNi+!Y`AcO`xO9FIyR?F}b7;;p$m}=;4Mc#-An{08P^h>AP1vPiTkFP9Bmq$?9H>)s zh?M#Y5L%Q0Vm4UxEMX!MtKC3Ya64(5iI6y9#c(S|81*_yWNiABu0{Yh|nulg3848f|A{B!37jn<|UOE1w^yR zl!;N*fx<|;C`6=`SwTt41O>z5jD!&eT%(i#a%>7GMdfh9Imcok3?e{K6^JELSSci` zq7oAS#&l}9j{_*J&zJJiZ!D2W%7vo3D|z!_j9h$sO8a1h~~)h&+37^loe%A6FZXTFOH6cjq6s^|x- zSPA4np$b4)6+vK0AJZ<P`xyLgNIm=?X%tR1PLnTlMxeJ_^4}xMI#GnXD1urN84g{HKSPiHku0~~u z;~`85^wA|Dc@OVI*76MkenT8Y)F0F_L}WDzU`FC|-H9!YF` ziea^a=0I6(Cj$;mc0&OlQGqVAu@HbpyEC|-?cD`a#Go2uWZ*1^YW z(T<-xxW8n?vqv)PCWNHZqv?SozJ4pMeRb1n9Jh_Xx_v`)%ld^=GgiG(J7xNr{2?nc zcDyt8Oq1@&mo4AFP#rim)cizs?ebmL%Ujys?O1-d(Vw|SMSuI^*I({bjXw6EHK(zr zx;Z>}?Stpq3^(dOtQl2Ddv=aIRlIW1!<#vqF23Jks*g`yOg4Bsse|9$+P`84m;FK0 z=?#aoTIY?gJ!4ar|8(io1=BL?j=QocVcsDP4eE>%ef~T%$p8PJ~#HY zy)|2Bygskx?N4rRZkbfPV@mA)W5*lw^3Gle-AJ20;$r%nlkVTUTrKU{w~e?yxDo$& z!um}EH{z4)i}zil?v##7?_7U=o-|N_%SR+3?Gg24*dCUvD_nva;T>$lIPi zIzMZ#;mNr1v!<2Od%xGb@<;GMbj;D?Whd+>FO17-Z}T)57Pi*izIDksV>TYc9{0xN b;W-1cGuEUvx6LWh{yseJ`K~>=FRuC%+KvSh literal 656 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbL!Lb6AYF9SoBDg#49GXulV|3LaB z14F3+1H-EX1_rAc3=HD=lj4uM0o5K3@CkAK|NsA;qx}%{|H%#@W6yyJHCrd1IXv;! z)m3lqZ2=0tzqah&(ORcb!|_w}0-* z%d4w*&Uk!#W6Abu-yUu|erfg8L-Us$U$pQ1ih^y^E?!+b@94tkcQ!3Jy71PG^_x#G zTYqZly_*|a_RKncdG(wl3z9cYntfzJ&;B`k&aHTNe@oG}X&IZR^dFde=)%g?CzpJ< zzvb+eHH(fd+HrPy`Htz0yJwZ|nEvIh+L^k;M!Q+`=Ht$S`Y;1W=H@#M9T6{ROkIxTIS0YK?zDp$1PE#}J9j z$q5Hode%4`Xi+)9#kPZWMr0s^u*!=Iz<16La9eg%dZ9Tsb47r?4(J zaixBGYVU@l0k@A`J9kG;v4KS*;sOIhh&P`?$StRApj%W+Tq8v96(Ih>@|Ck&%^&rM7{Am4U&INSgu_4Y~O#nQ4`n8ca_%4+wt|(G4l{3IWOrsdGs`Yg zZ8X+~g0(88p21kP5*m*f>RlyTW33hA5!!;WHeQ&fnlx<{8|@p86&sr#e{_pC7aEHBffVR}my3Nx!3z4V#7| zNNl^{Ez}AJ z3q850T~Yv=X0l)$NmFRL)kIndD@9L6DS}MLiFBMaV+6?%7RGEvdoLsOrtm%{&oQId z7yPmr%QQ`9a6A+WnL=ihq?F>M)oR5F3a2OxA~3a5)Yvd4swsUI96;q1LDmFGM0Ja7 zi4@dqMi^-ig@7C}E2_ORLBa4aE90bz&?$8Tc`kyJgNnb~InUw14+22cREQ-bSh-Bn zB(+TX3)7L|ryM|OJ)Ve<@GaDwL%12{{-sX<=wKqw}CKv}Q!3N;rc-E9YX>`5>W2PCJ>f!rjwu33k&Cd#IQXb%> z3ZN9_YXJB)2^1CgGwdL(88e7%dwNEeGdtaEHrul(JCRMBDazrnlY~iDOHh@qc(z|F zVDd|;jcLQnv;ToBbF9{AXxUn|l;SPLo; zCqS55)K8Ocv7d16&Nh#Saf_<@=8c^q38m0cf-@cb~DXdtj>M(?YBQvPz*^|DsO)s;IQoL&B%EJKO!d<5aBVU!1JhO;>$x2ny^24>Zvi!Nj zS2T1y?&vsma>q&w{b<|Popy(OI<;=iTq^$6<;%8gT=%8(c5X~gQw_sRh-V6KZ~6FS z;rW)vGSBqty>FkQ1!e8Rvz=>-c2#FDzINO?_SWKKw?^I1%#QCkQ(BrdeO$fkg>RPD zz27-mjvIdGQvK4^qvN!*Rj&ni*OU!&1?OefyW*}yjTsmH;79+6_yc#a@6CIzUf$N! zwAazK%YMFP|D$ZnuXBF-A>rLKYpWI?-e1))_==-VqrX00UWmOi_mJ1Hz3tOR=8$iT z5W7Pljt;$5+kC3|mlGZI)YXl#b@?;i8MrU{-tAStIa5flQ$4r+vy(HYEMJaxK0LRt zi^!oj9_%8Ld~U?N=J3AuBSSL3txareT7JF3+fKz@j;&cRRWz8Qu2-if3|ZPbNK_g;?H=>ejpA!dD(k%0QrF)! zjqz@+-DzPD#_Y*TT_5uSGHkxHZ7`C&A?k>dFuLWf!1D_X)iq0{Q5Qx|PTTx=$#+*= z$m=JxL#^%OlFO6p7pmO70j=EKbxkVq6Sfame`2k3I=)dR)*R XJ-7i+EVzDA|G9BHXFGOfzp?BOF%T=c literal 766 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbL!Lb6AYF9SoBDg#49GXulV|3LaB z14F3+1H-EX1_rAc3=HD=lj4uM0oA?=@CkAK|NsA;qy4zh|0g>j=-I6ea5kLr?*0}C z8>oHl!D)BS&);%{rPD7{aYKl_RU#;YUzTb z3ol(;`{lvbqHWW9_RpDjbm5mV%(AVN6L4Lsu^8EVi@9(#-pU-b!|M-0T z`}y+wAFcO4m6x~=sDv@e+uensgH_f8$l)yTh%9Dc;1&j9Muu5)B!GhKC7!;n>@S#w z#U<5}S8MzO3T^dtaSV~TT-tY3=uiNUD|5&Kk?HI)OFRm{KYI87zwMH@ZM^9dPtNI# zQ9AZ`seH{Ooh9*#oQfh!>tBV(EZi`G*(iLWm9*dMMOlt_B@0fZ6e}wDl+D){@pju8 zw0364jYWJWv(}a!eni84{-!*SyY7*WqY^WG(mx+9$W-u4=@i|tPS@;qZ0Y<5 z+pjf>_bvbYv}*TfPcha9A8YR3duAuIxj9mPUuTLJe^y?R_N)t+rT#wWzOz}h{z78e z3ZMs6OI#yLQW8s2t&)pUffR$0fsu)>fw8WkWr&fnm64H^iKVuIft7*5j!2sV6b-rg zDVb@Nm>Nt?AR1CCpH2d5(16=el9`)YT#}eufUd{X%Gd&;=R*CS<3K$Op00i_>zopr E0J}D0vj6}9 diff --git a/indra/newview/skins/default/textures/icons/back_arrow_off.png b/indra/newview/skins/default/textures/icons/back_arrow_off.png index ab82dfc0a79ceb710ea8a2c770d1ffa8677fbb2c..c0af924dde7d40e0d88b918b5ea477ffb09f6e05 100644 GIT binary patch literal 2546 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 literal 1223 zcmeAS@N?(olHy`uVBq!ia0vp^azHG>!3-pCZQt7qq!f}pf_xbms#F;m8k!jxe*Op2 zFBuq04Hy_+B``2p&0t^<&z}^3)Qy3G@pphvi0l9V|BZ}{fI2Y&6Bq!+fiyESGanxx zP^GxIIFOW(kbsjcEG&|elKlMqKoKBYTU(ozl~q7MKu1RhD1r=tM%g<%=GRtKb~RUb zw-nV^c?bI2Iys~k=f#!eL>8n+6=uX1XJ^)yI(xaN7UxFfr#XfATDUs~XCx#Q=Oh>9 z#1v(P<)zvOdQF}={qV7)L5b1fd8sjZ8Mco0DJ8klg&Co_$+mv(a~94A`fJbO17W$z zkvS6P^D=_76MfTSHtgE=`}c2;@Ia4*aKE(J z;PiN1V?*D>2>19TaUnkO5vn?xUU6YZ&z`z+?W#+l zw_T`@XJW*$v!}d51FihsJ!3=s(qeWUKJen@%bbehbvw4~JhaavI^@c&>z*+o9tmM? zaiP8m5gyUOZtO`dt3GFdh=f>~HxQlaZa?`fc(1Wy;o5RLP-mqNpt5(OF_#$Jmv3~+g) z$Mfc$l<015=IDcAIY*t|9MTK>P7ST;@{BC?)m^ntZoxvqv%Y6VCU2T{&1}`TKEH-_d0V!etgf5+ z=I!h70A3zGMxK6+7jDOWeER$~LRXyBYi_6rWDJ z6MLZOtn2~X_DVUXyUjMpg#KRtBcp1_o9J20X&wj-zPE%}>cps|0B<(KRsE zHM9&dGPW`_wK6n^Xjt{M2UN;vz-=hW%uOvWNz5%k(_>_6Wo!h|Q^Nna6R3y5)78&q Iol`;+0ImYhmjD0& diff --git a/indra/newview/skins/default/textures/icons/back_arrow_over.png b/indra/newview/skins/default/textures/icons/back_arrow_over.png index ad8c1f8d2c24e70f365b44f5898ae93dadcde0b2..6b215dfa5989e3ba010e1046bc52e5e380190a60 100644 GIT binary patch literal 2556 zcmbW33se(V8ppF0Di6_BtD;~tjVp?hWG3V}5-cPjtOQw%1vM*7l1UgzX5!310H-fUj7naTL<4JV zDm;yd$)@q;+3{LKcDg}f zOyK4mcQiIsMdKJt(OQbKj20?k)MZGeau-Gp%}*joBV}iTUs{8!F&0RG5DZ93)(^n} zj}a*<~Um(hcleiHu5sOCC^P`x5P*9;d z;Fg)jtdLug(JjXf6lshjO!#{QZpUdIlTMI~&WM|^3=6AcaR-}01C9U~qkEkL43;@! zf2ax?4H`=_EJhmeShbP|$}S)XBdSm!2rQKt_?X@# z+30#TWyo-E?$Pze|8xB^ngGoOv;1Tocgt~~3Us76BTZpBzHVe>A)ujyfMN#s0ax-2 z?wySrc_Xhu3V&h-hGp$(I1nAJ=WDk6Fvd_O){fD5gc)S(e>qV?;J?t_jfO)J{(F=| zb1!wSQ5>{G_i(HagNLzBj+3B$)1XhMoc?Athcm7$Rvn>@xpL{wZ{nt!1IKrFRW`OC z?pWZg>*4VRk?3HL)z#fW{XO~nW(Dd~eP=RTkazUc>(225?(SjRPkEf)J0X9wS`&1u z)+(5A<)2O3DN`f?*CwQXQh;FfJ^H(a&A;wzMq*Q&D|gLZzjIz2bGCinh5OGtpDK6V z@4E5=DL#2pd`4HA+IjpJx6XQ$?5GJazP)wF4zAbq(weK+?E6Ai-hAk{b;tH25BB$5 zY}hb^e?O-ss36Yu_3r&AdJhC7)+13w%iliyIJMHbDgJt4YwPMW4fVJEz4qLce>&|` z@m6Ac!Smk5162qTo>!c!hF4{})^FYhclQrYZB6-Q`N6{NPyWuvC4R(1o7QvxNY<*I z3hxH9V3T*s!u4g*pIvUOa@4;~l{9|h^ez|k%%`Z*YzgFk{=%m(djLO#4TkGV z7CjXbch3f}$irV#Lqk$A#naoxa^Ub!*!8t!F26-ARe=qdstcc)3_EZn&`x z@HH9LU#xoMSj7(rmPx$(y3QBRUl@JZ+8TF`n`P^{xPpD+=W)!oQIc)b z&SLqR=7W>&ojSJnJH^CPC+K2!VZ`;E$X=}C%QD%4Df5rkH3iOoQS*Jw8_VbgUb}k! z;EjAD-;m1HZ%c*3;#|4P|Hk+&T44!!h!pVqDm9 zPj2D5V>jDvMb&w=!CUGF8n?#>{x*BOuE{5@>09UI(6IbN;U#;st{4O7^`~!j&CI)8 zBJ5a_*VeZ3cRjUza8O!#Sk4Mtd2&OMq2{m1wf&ne7F2|MvozDNU$SD=BtPZFd)&q& z21n%N->++X+}tI9OBa~$%sdQHUp=lm`()x@s52+z{oKL%uKS<4jz73gG1iFGiUrNuV|pAe1{S2u^>7MC=v{TyGJqE@T9np=v9L!u~MbK0J6 i=cNsIqfNW}pHca5UC;8oK^}E~pT$PSt4kwOH~kAKAJM4* literal 1256 zcmeAS@N?(olHy`uVBq!ia0vp^azHG>!3-pCZQt7qq!f}pf_xbms#F;m8k!jxe*Op2 zFBuq04Hy_+B``2p&0t^<&z}^3)Qy3GNi4u8#P$FG|3*ee{MdjX7yxA;3`t2zph|gp zc_0Y{3JMB9Qc6k+ND2uF>FVkNNg!8GPY)!G1b`-Z`TJJ2H#bk|Ynj?#)726d8|CTe zQ&3--(^QpSUzX8Op50Vg+S%kE7Mx#KnO0Zo8z12q=$%lWmr-AqS6`V|SCQ3Nky=~g z6%#sr?(Cx{k4I;vWK@@U`1$15Rb(`jCD#pdgs-ar`MGx zRTa902QFW;>fML;9kZsSmKV7Ddga!XrPdZFROZK(=Q@Y@E?d3w?fZB2le?44^W1%a zvZX22Me*f%Q3V+;A%5#NZ+!XYb<@XM|Yg4nX0u(X7IhYnu7eY2>eKCUb$ zp(Mx6$1AJ4B(X9-rZjuo{yo2c{|-!u3eQW8EzM3S&bD;0i_A?8$xR8$Nh;}VeDv(e zzkmOB?c3`a9_X7I6P%M2o|9^1WgecB5>}8FlAm(w()nvQuKPrV_@+jO=BGsFr9~EJ zoW6WMFfP(PE;KAVIW#{tI4?P-Ea$+fqc2~*DsHF_$xDvNP2F-}_r4QHLNgOX@=}6w zllGrHdj0P0go?c2+@$c_R3l6C(2T^;+!RAgv*7gjklf_JoW!uKq~NspkeuYe>_iJ^ z`>2BSd7l~{0aKG=NswPKkS=|=RQip?s&5s4{_d*!Twe02=zad*`G3CM5PNoRhJ?y| zAy1$p#w2fd7lsa2Sq~tGv%n*=n1O*?7=#%aX3dcR3bL1Y`ns~eU=|jaROmXN^ z|HN<4lWqDT-+x}fqBt}2^@o3(4jjGOd-m?(;PCh6+$wSR>~i)6+1J;qajP(1a!}E* zVBuYu$YwEl(uWQY6)h_@vHrp~jmaN5JB?H{B^6lDuXM7SocU66rbn2WgP&g9rx!lY z#6`p|c6oa-o;uaNp=-X+DecuFTVBnIYS>l9y14Pwl06$&N@ixVW@P85m6ULCZd$#2 zx%g}57xEG*+wLt)R7^B6vRZcJn0i7{R#jVM`tz2SjVJ#cdL*P4%@z?Ed-(P*wy!zC zW%uta`t^-Z`}4|uyO$sO#?Qdlf1#$vsos3~YCpzv7BlnHjOyzarp3g?E`In-EOp<^ z7w`T#u6+6Y>_vHFaa%jv{TTuKrHua1ewF`TUgp$6|L*(Qg28{gAHThP>DBvdN0fSl zw`|+EH92u-5!(#*dFmw@r0TH+c}l9E`GYL#4+3Zxi}42%qP4NQS3 z#L&pfz}U*bRNKJ7%D{j}_}g(54Y~O#nQ4_E4JNt<#=3@ qAq}_|%XL3F@&MdpXCwZ}O#({)Z&{rdm@`|f-1 zzn82F3HBdhH_?v6;fzoO$iu*U3b>uPHsIM#D$Bv^GgCk`!{OLFTJKLdJ9j&AIK!Tk zswg%}IUmzd20pH(;t0OQU;=0kXQr>kglqH!3&j!fq)`fYl$FB}sg=T!UP@GHk`W1H zKq^gyrv|Gusd|k>3;WK3W?C>nU?5l=vKSJL3}%tSy}TG0Tc;5i>V>d+DLlt&5Q1!4phBLWW|D!@#g2ENj9L#B4V6%^rM;jz6i#UxPwfqHQH0|OwmO68!9k7_X(22C)mUovo`KOi4PGpZC5frJqZl|*X@zhofO z)#{B2lhFjuQnZSq5(g3$G9Vd}$*hU-hQ5p>jatggOn+|=A;(!l3JX!87Z3I3p`I!M ziV0B+_2i*q3`P5(N=i%WQa*$Vy;J}v6a(}JP;hFrIE(*RuvUZVDB6GnpGgBAPaq~^ zJPZv+5|dGh6b%dmbsq1}D`c_|n$nSpV1Wtqp9?AcWFmn?B;pDAg7<*|Bm+W{@|$x& zu|R}*N-$L1r`XNaBJr6An4maNJFz%TQ|4F`O)v}}h=C{*VI;HwG{#M6)<>m zzkuF6D3zGP$gsFkLn!1@7$lxgl3GmS=`GOV8gHJ!TS)M{w4NefoJ0(gDe%zfM4n=a zhfp}MUruR~tjBv`zxMy!|20j5_JSw=VIFJKvDO9FpPv4<5Kb)ZA0?7dZz*87##-W1 zSYtiggck0f1~L4D5$K~eClG*iAfX>Q@O?0b(y?ZoCg#M0X#FoWg#i7CwIB7lg8bgg z-nI97*8m(eMC)*{6N8VzUQQT61E)c!Hl=gH55UkKg?x@GU|m%`l`x5Lwtd=h@5z=c zjX}3hyD6(`YQ^xmf6f~n%3fSd**W~ZwB_yf1czdvmEe(sEAU%U() z6}$FH<}SyqcDL)>ORLE;H*#m$p;tXGY8$^H(YyCHJYB3AdEXmp9aGnd9zWjF z!<{##D!IoeP}1p=|Hb9?+b&Fxyp`!cc9@4-h0R8B2A)&mmAM61se%aAcf$&g2C@%U zB{zi@-pPhio7&ojAW;=LH%suNcH8WT;?;9S8;XkT4y)h(Wo-Vz5NB6IV`w>u~s+t2pY|IL9y9>ei8v9PM?`4`}|-D$bExb>m>c=L$jn|`Rfer+<$#RosFDPmI2ad!}$jkuudrcl;l(hFaRUSEjys)H#0X{p-l^X1a8( z8qT`y8+&@F!;I|uGj~mf1xpywlZNf(DCU{|y@NFG$JTXI-F)9VM~)x2;j6>ZdxEM* z@8~(;&@kI4d3M*YZQEn=gDV4z1wmoC2W3dpy;Z+-=>>}Fn`JJ|)h7rU``4EIpR(F+ zxadtG!+dxlxxo(?`J55y)>jr@3oKpz!9auUvf%pIm&}eD=n5`(1gCx;(-0%-k(i>s&K#{`g|)8L7G3CU}o@&DyD6e)>XZ z|HqL#)wA|>++H5B;`05{N%gg5XBW0Fj^6v{Nn4w1Dk?IZ_D{%Cx2cMWbvv#)oQfA)rftXzY`y#}OWat#Y+A6(^Ivp+ z>qy(KUyC2vJIzcT^2lyvEnGBGA6hvfukyi}@w?lWeAhX1(~AuMr{`tMmb|?9OtG37 z8?)dWWwR=w;GMLfa#>8PLtgs2=1;mhR;Va{O`eml$NDSc%9`d~jJZI)y4>&Op{%my zWoNJD?20mEi5oUouNjH&U%Btyo4gKWam$&nCsrzcc4|0JM9Zt#|_mkaNXs@Emy^pRA>rqQ!Ab>ZyG!m!dd zs&`r7%_d_|?&9c@8Qi&-TA#Tub$$_b`^fweM^2tW6@ S=092g@hSX*Q8uwWM literal 1417 zcmZuv3rtgI6uuy8tze~>%AR>ow25BCFx6XENCjz&`;IINfZ4v+k>H%PSmWUGoPz?dVgF*m6 z_W(e2#(PnXKXJ=cv6A9=QlZ$2DLvWhRd!9jL*cd} zYU$zjWA`V<*9B@6E=z_+!c2@4SulkgSLNBXF1)L!d+7QPc~x)9on}ZaiQ}&XRauBh zCCb)`Z2Gp7?Jr)ukeajtvnB-<#Kf^dWtPCK%EYx|hoQi~?(WY&y?XWP^R6!>MoeJU z2rTMUiIA1Z<*TKpV(*13UthaEA~Wj{vznC{2dX59MJ>d&B8Nfhw)PEN#%vb8PL?7O zf+`fTsDwBsa_G;T|7v_=m3%2TF!>ha{v>e12)&X^%K6QVK$yd(2J$mb=BoH{zPHQ-| z;qC9o$^rvj54yg5r)G0t_t_8mdx8^VL;b+62vRtCNl4vr$J7)F;w8f5w81DgjTOCr z2PxEeB^XRSTv%3|hZ>rAXaaJTFIh-B<$K!K|8((sZgU4IWzd!H$je=0UliuLE(`|G zRPVCc?)CQfy6$*xjofjBgdVR51|PAbpy8XB`g`9RxqI#Q4ax#qUw<;*bcZspJEw;6 z{P`jL6M4xB#=){q*Y4_tFJFEF&lZz?$C`FIzObD5L zTv|0XTtph(lo;73t_@!~n38t-i8!A_#$%;dA{r};TC|7o6S@%n(7vd;Lv(wKZ;am@ zXxx4AVr041Ndi+%29q(N)oG7$a(T%^B%u7)se1Q&4HtE%@BeP~RJ;Q@q|rtUkYON6n;6EaZ{hAlv#H#f-Tn6ap7(j* z_j$kX-7Tq$7sN!xMj;3iV@_sKdL%Frg+a;*)wdCef3 zNiO6;df{R_RhUB=Y1!O4=xjd$2|Pd~QNPE{3WVPz>*polSenLUXg@^EG074nhiIlP z6*Y4_K(z{;oKk93sNSeh>TshCe&l#Q1# z^MDjN-p+CEV4+fjA){uqR2Tyqzno!d&L>P8WCJXu2uv~+uF}eJgB;h`l{lfo30xz` z^#qO&Ky4h&I13(!s(DZ7YIRKkb+B z3~VW+`5{>wSSVEmZWg9cK;p3Jg;ZBV}o!eJAXhN12YKSKQ*u&`AB+@HneTXpY3urm#^$HjN4Mb^}DD;qav;(z7)A) z)!2y0RrU|}RBn8`J#MVn^vTFOB~xy1c8>k1CMAW`H18I+>7ILZd{@*&b{+rPwUU<2j(qv3u1R6eqFc`w zZRNIqdl1W2zP$F>XS?u4u2Of)X?ayuSAEPY8Ec)>V|V)>-ZmXU-j6_Io4(jf5a?5|18yu&4FVoYfb=#qHg-r{|5xj2u~1d#W~n`GJL1GdmT&O?=mdYt0{Y z%=@*X+OTW0yD+!9trsaBvJg@ItT=ozy6~9(&iy~a=5KqiX5ap}2aV^uh8K616!#Uo z8j4@f=y50TgtF#jc*3ft5_82xuA|{pQiku?9ijY}_BBiTu6F(~3XQ&ASsHVsXU59> zbvYv%+qkr^PYrb+oNjt(RNlCDlP%ktUVmd*Vo^-}(H&*gM>A&DHr^nrnvd7nzueiY zxxV|I_3e?ZGd3WG=}lp2-?U#?P&Pp`Zg1q|j4`*8&V<*?Qg1G8@T?nt-AD-R};Q P{{7a(#g>}+Yc~D`x9a@3 literal 1227 zcmeAS@N?(olHy`uVBq!ia0vp@KrFz)3?zTmvT_3{g=CK)Uj~LMH3o);7N96lsNn?z zL#Y7+!>a@a2CEqi4B`cIb_LonFfcj>_=LCu6#zlQ-sL^#w?Wt)CpYFT?gz5-7WMa> z+g7({nNvatkgF@lU$<*X;-p51vc$f+w&NQb4y-f}_J)Y0otZgl+qQWx%bKEkci`UPr+PToPAPFJ`B%M;j)8}?p>{yhwsK0FU-0a1@ zT2AJ0Sz#p^ucDN!rTxX5XNNWyvT$<%r4)_zf*bQ~VgupI^gQh&J1e6n)QYLA00k`~ z{hTtRA+r5fcK2M^-hO6t)6q3``&R&6Sh9I;?y4!-D<=K_|9_!s@DrfA#F8MtU}-sjYpw}`#oEmjdT5<7{0C- zG2&h~?s-1=x5JX#WWwiv2Y$UPk!O(!+VK0wMQ8Su6SLH~^s4UOj~4FjH21szhD*?msIFF(R&)GN3kj- zq9iD>T%n*SKP@vSRiUJ^AXT9vw}62`V`6ELchOM=p4-J;a*ZdBsU7!}-|*UJx@}$R zq&b?5!bQTA4P`TDW(-lIYuliI^??uq)GbGB=>?un1N{IB%_C$rs1$~v6jy3O|g z8##s|tHc>K{kluDv?U{twiPRH5-ACclbkTm{0T=8!$IF|Ojnnb&E7BG>|C0fa?_&t zN6d?JYF{i58Kz7$Wm5JOGhn=ToA1!_A6^lczIBN)FRCfpX&kh5QjE`xh~-XjJT zNWI{;nC-{nEcKE5g;d;S*ARxA@tf3^*WEf>{wuw=soz#Hccxlj_$z-#duB7<^f2xA zH_nYER$o2TU;Xbb&o@~2?#;6$tF5muww?XB;OZi?&HDARA(zbk8)i!$Fqqy33gP@B zzYxari^^vKIm2}6*Al-pvfS+TC(KZ?jTUkP%UwdC`m~yNwrEYN(E93 zMg~SEx(3F&hL#~l##Tl~RwkC(1_o9J20J2cfGGe;LvDUbW?Cht22&G=hLp;uplqoD nx1l66H?_DV5txwBEHSk*HiGCW;eXr-)WhKE>gTe~DWM4f?t-`} diff --git a/indra/newview/skins/default/textures/icons/hand.png b/indra/newview/skins/default/textures/icons/hand.png index d8ef2e22fa385f8bf190748b86765fad7c4d8661..6effb7c77d33153c57640c236d365ce912517120 100644 GIT binary patch literal 2337 zcmcgueQeZZ9PR{Rfa5bVQH0VdLb6^z?sj+WxXrD%+YUKgwwoKWFuL}=t?aHXZEttu zGeZ#v(V0y?Bp~2FN<<`x!4KH{2uPv?ji4gRj4(zRLP#92z=m(PyW21`Dt~ZEuW#S? z`F%aVx6j*#!uk0rqaPiOAV`Y0z+D9I`3uPx6+Ln&eB;_DT2SHhJl440aYh}>b4};M(F~AnNJ+WBu z$%R!LhRPB|BoeVitQJM9A}EGo2$Cjf8ixp6uagZvipzRh+=CnFf+nekq{yi0k*`$3 zh6{t4_LmS+6K-WaMiV5Ai1I2ySxB>_KA`(ZsgU%GGc@biPrsfDjzx8 z7-nZ3Jn!YWLQM%sLAan7<>#W_JkCxrb~{d6sKLMjNr#lw4HO46rtGYZVaZs=Gt;6> zrU!aLt9ev^p6lMdoo7X(MUQ&Tyoi;%K`?)hkh*uN^X=)yCS$`x=m8X}AN- zR^EpS@7_BD0Xayirc`Ns2sJySmls27WpSPq0MAJv0y)-eBv~&PL4XejjdBA-jj#rB z5`^jHiAE04+P8&$KGrMi1}_W1>vm!Aov}!g$U4OUfEpISNxMkmJZY=MolYu%S60%Z zO`vGtu=8S)1O09z)c`t;zZXMjML$ee0!D<_Ku#58>%Yhm0rMwJDeo_Z_Q@;Pmzb`cD3zjtJrZiMO@LcyrE%Z3U;%jGe0NvOnPA0=kMPj>d!YiPW0aC zK0bTKoz8O$C(BtLkH&=T7&Y+SEMu z_N}fLDt^7$vr*VFeNpy;%dcK(YOBaXyt6x!yUx$tnY#9ssnbK-Z(aX=#*v*<7hHY9 zIF;Sjf;6?g*_PcDxZZvCVRYe9{H3+c9c6nDdzNf?F@&tYl$!78>A6;NG;Qp$mc#F~ zcQ$8!Gxe8)sUIdC?(H~Jl|F$8Ui?kJ+4{#e>!G>qXVLbOZ;KjsBkPl^-$BGs<>lpIW9Q-K7MGS%($?VQ;NWEE z;N#~-D~RZIP3BOV;8%IO$*$U z!s8lCE0<3f6%&<}k&%;=Q&d!xmy;9W69_5GEM7Ln$i=pG?^(O}(75XLos} z$4H2ZDJm)`D=O(&nHsv-W-aMA_H@jc-)$S_n>?e{*uybpR-2B6iIRe%s;a7*vWk(L zeeBE@ElXqHsw`bQ3!AtgV=qU$GTLeLIVYsr9;c<_2!I zu7wGnmFa#>`5qPNF8T2WPF5N!s=B(mdb+v>disWzW`IwOQWv*-4rg_Xa% zb6K)`bFNEGx^rc!dtNj7(3dS*jSnv8(Ugh z{{R2K%Jac}VB%v;@^*JQ-plG04dk$wc>21szhD*?msA!$c&893^xMKd9_+B&*=`UVV!M#d&Uzgk#YS=-p!*)upeIyt+zy19FJdU^Z!`Y|~A2Y3Yr1&4%& zg-1k2MKeUl#Ky%ZBqk-Nq^6~3WHMxCW#{DPYz z*vPPW)27W^wr<Q*tBTl#{CBl9y)yF=+uqJmPqP{E?>~l{}1SI)e_f; zl9a@fRIB8oR3OD*WME{XYhbKvXc=N;Y-MC*Wn!sqU|?lnup`o@07XM?eoAIqC8h>b z6NrYC%BPcn8Z_WGlw{_n7MCRE7NF}fwK6t^=-Ig9E;~?3VtQ&&YGO)d;mK5BDZ;?u>FVdQ&MBb@0G|0;7XSbN diff --git a/indra/newview/skins/default/textures/icons/see_me_online.png b/indra/newview/skins/default/textures/icons/see_me_online.png index 4059035b20cc86ca71c0d33316076bec91b7a450..51d369003c111cb84ddd0701c12ae095e9864f7f 100644 GIT binary patch literal 1843 zcmbVNTWB0r7@jmuFR>{L6%Fxrm^86!X6Le--JNN+xy){|i`^KK)ofugot-(e88b6y zI%hV!$%B}HU`0xhz9>baP)$(^dGN&wMhprH5=6uYp;CO1f&^`SQ{tJ;?l!RzwF|Rz zX3lrM|Ns8~oNvyLjgGXncC=Cy)s{{r#>qY4UxyBm|Hp1^Ddcw8Nu9wIb>A`nYNFn} z)J{M^}Djya=R1ESFP87mDK;ZZ&%SBl}#BjXCMWm1jYCoDpb2VKWPYl;$k*7F4 z?Rk#GvgL9)SPlh|TV#1r6j@GS1%V+52G7}^QekY|S!YNY}0yVXPb4spR4X&vyG@%7;4-+ikz&g{&LwFkf19fA1 zR{&DlOr{ZI&s;345dwS3St6rWkUh~jJLf=l9AZ>*RhXP5X?FT*97%Se;vqMSkXdik zSUqJR%YI{G;KZb1Yp9H$*s%sC6c5H}ffITeF2-=-EYC>-Cvjnhi%J}~4b33U(C2nT zh2AW|g#^;(T~M-XG{sZ?6|AX}j$BJ2nhi@SLe{a1G-y;(l97pA5}0Hc+W9^$%VRFm z4U7Q|yay{@$t5_0z;OQV@K~9xMXz=slabOk_7q!%=|r3+Ee{%oCWTa07kIJ2gbGTG z5%sXj#A1;G6BYQ75aVMpwIJ5lCy-k5H+Fr!_CMD@;~Kr_QI9Mdr`Y)%6 zCHb?y6KzXj|E{t+x5KsSaAJl2u;Ibvq2c1tCf4l|kG`?7_9*f9o9V=0HujbJ$JSPV zbJt7f7lzgrpQe>B^-l0?%epzxcW&^)=JV#w_SLzjl`}_Ek2DvIm5s;2EY;z@m1Ea| zaiHlG_!@K_`F8b{D@%p7$)3XX6o2;M1FOFz9-@wXkQsQP`}K|P@%LXd*Sf%q@?sPCaD@A9AJ^l({l>wI4<;6J oho1cX=&PH}zp~5M+0SlM)U}o24d?6fG+u-n6ww@Fx`?MzhDNV zHJhB}o_sW{nz?ZAw9S55Gd3zWsk6rK`TXNBxAa-9k|`^HZ?Ar?YaEzX5pqExOA@G& zG0EHAg`tC0)&t04FY)wsWq-jeEH0^+Td?2^P^j3`#W6(Ua_^a&Le2pKu7QpoDlHO9 z%t?FN=KTL}dv~Riy;Xj7XleGXbFw9er_^p?_^tAQXO{AVLj|G_j4GJ&c=r8~Vkp0v z$inh5=%jM(r<1SW*6-LX^7>QL1MZEJ7OdL7PP%E^?FHHY<3sIxE}Q(Tay4WwKP@OH z&3#@FXuWEQYeY#(Vo9o1a#1RfVlXl=GSM|K)-|*YF*3F?GO{wU)HX1%GBDT?X;Xlr zAvZrIGp!O+gQ*EbLrUe-Nk9!6a2rZ8b5n~;5_1dC^_W_jm_hV(wVrDR>X8KL3C>R| oDNig)WpGT%PfAtr%uP&B4N6T+sVqF13Q8*sp00i_>zopr0N9E2`Tzg` diff --git a/indra/newview/skins/default/textures/navbar/Favorite_Star_Active.png b/indra/newview/skins/default/textures/navbar/Favorite_Star_Active.png index e27dbe2cadc5f32d71829fa49a2d9fe3addda558..cbb78cd514946fc25aa7f79484aef9a60a57eca4 100644 GIT binary patch literal 2241 zcmbVO2~ZPP7>-z5Jm@G|VeF{OqKs6M-3=rmt5HLO5+ukGFB+9)_XSpx?6SK#pjs_z ztJbp~#cM>Z(CG+_W2;gtR!6P%V8&K!Q3ugcys_F=t9GPsAw+F;+M1cozTNk|@BjY) zfA5=JkdZzntXscs3WXxfl48z+_i*_NeI5Q!s9!P>-n#NBlSPH1dvE#bq*%K?QlaSb zgtbkQCRx)+nsccrhRXvgzl(=xg<|+fKTpwxKtl3BKI=B1clPW<5tcEa6E#-c%9}s| zn^Gcx?2>dFT~bKv8Fb_bWVoM%1TG*^h~MROi=^Lxw(*j1EWgH3qzxh!8c?Gg5Se7n zKunwf5RFQ!q=^JIqSLDgEv{E5#35>&&|$a^BjS}fLE>66UXKKRD2ygB4l>I;IuHv! z8PEbr;z-0hWk$={@T5rq zl*9=(j&pW2Dx*U(Vlv5%NkoQBWZews6JwuQ1I&~J45%7cYm|7R5>K!ZIH|@-JVA-; zNE~m6S~-Sw6h9ADYitBTsx>5`e+~+F4MR!Pzk(T>bZ~-;f;qD;Dj#6HJ0C@Yl_X7^ zlM`TIs4o85_ZE{WL*N{&6HbU(W0DX{vPnzmwOXZGMLY{kVMSPy;-|?46vvY|(XKcq z+OHor8ZsfHDK96m5}1}PQNlDMEwNspf`Sl^2X4SXpmA77jsB7NQyLR#huZQ5%7w_Z zqCFeXoSR8w9bf_rd_b^^g{)h&Gr&Q4oRVDve#s+1oSX9IQG)%YGDON7P|?;9tCh64 zMTv6Lz+yI_a0jSZmLU^#TAiNI5K2m;VU!>*!J$ml<8pfvX^Nr~H2~LitT%JCN8aZh z>zV(#ew@HUpP`(u%p<#xd_c%Rp921n4T=IICyTV536g^C;Gm_^@+Joi8h8y0`HB^2 zr}Y&8NZQfW7wr6Yn8-OKA0+@|KCIS%Ib0ajkIBZ=o(lH&EZgRuF|iIfbVhj?v}E`Y zG$ymQpq$S-?r&KdM`#k|m{hM0rpp%Io$tXtfP2fsB=eK4!JK4HtC z2_xq4P516@__e5|_JZEGY-PCj5_0Vpw(eG~zji_HwJRYpF?SlLHl{}B53G)AY*F@# zc<Mjk;Nn9`CA2+R}WkM7s8P~! z+Qw(#saA^AHuWL{Leqi_MqB({lPj<3Xlcb0Z zMPGkE(s(@lm)WIblM z(6QT%$0_sOvgvCrqkKKf>v93xhhATmb~0x$=9)Z2#4Ddv?M}8%&#{7(uqKphj$a;kg^12M zDR0!Gt^dmi5r;(>p0Ah6XwlZYW;A^F2BongULr|3VJ%W=1f}F;97J~pM~;8 zyu>ZW_yb0M?td+{f*=xz4%44*-ov(G=T491-Tj%99bIW?`c()wDsPrwEuLx@HaRpq znRS4j;Y#1;n)WA|!x$yN(<#7i51KN94xRv74nS5LpiqNQv62Lfl9AaM)XTN$`2wpj zEGG}_s|Rs3SQo)S+~az(%LU;O5Hf}^jzB5}A=eOi6n|*w%&;3;9cRYO-hv4{)`Z+Agj^Aul{pi3zsp(1$g4XVrE`Z}5z9XF zVxBmB%1}%GyTY$5>X}@2!SJhq`jXWdeW|*HcvRC&Jg*{q71Q-CgcuJkPE4*d^ O0000Y+ug@}?MzU$gD6r$4fdUx;r z-tYhW|Nig&`)qAZ)y%?qg*KaQW+>>d!}kZQ>)w0t@7j~w8t`p~7F=i8Z1>H!u4%Tu z-E(cWf~#_*(QFK_5=5lffrMJ1J*{XMZL=*~k=B6N4o#v3w#urPy!762l8_}Y*-#c{ z!kQ1Z$-yoi)_2uJ#IAOcm&g^%iDhX46DZIGL|TcfhLHA>8D0TDTf;O-WFTg{m#nY? z5{=8(sj^430;JNB$iohWupl`9Rd^S z5rpEoLe=IZ6F#3+7!Og}AgdBe84pic1O32+UXo+DGK%p~j5ESA0>=o9lVaQg!%RZM zNRnfnH$%Cy2+Imw8UEe`#k)oVCiqvdBnmO4D*)##E1(t9n%YVdc_#%QiX$Bd#_AkX z$3s3}t&U=H98VZ^RV#^5z~^Flmy6=;>{MV-Hn1g~H!ts>ezh*+9s}Zc z%wu&P>u?C!8fAM!J?zLn#bqLM9t0p-=iEz*)&_?XnH|P9-k}4Nw5c|TNpm&5#jc-( z87O9^fDS8Kv0MM;V9{7VZ8fFIROr8FnVFl?z;bZh6|Kj7JH{{hh7MKS#dX}SuLrLT z*=*CE4EZY}o=@KyIavMSV?`%^EqT0XX{o2J<4sSfod0Q{y22do9a>j9x|k@~@!K<6 zYV<;EXyDag&j8_hxzL`tzsP^+)G+#f&fwW)I~HtAUmibyeqwxZ_7+gGl^q`$k6&~& ze!OIFcm_!P@zBxh@0a$h4_rL(;KYF~Re{g1%C8(Qh=bXN=fp9kYTLQSl@-@^HY}a1 zN4v&8>K+j1pL=xZ#G<`LPy0@8kM(r)5554uY2Noif6W{Hd)$}HH_R_R{@FIYqkp;J zsTZqz{Yy@5dG12>C(lomj}5LkJvKek(d~P?dEVmU?vh^yc8q^lwCTs+@7l9!;gQmk zWMpLH`p!*1FFH2xdhZv}4eYMQBO8LNXW9GTdhuxO*i*~V(cSycZmyiQaNkyCr0DCu zE8#gj&vpkEfa%o6b9c}83?H62^XKU`hrV6sJh-1+L!U|XJkf_9x%AZ!ynJo(yE|VR ZcJF!(G<7GwthD}8LxCFq{*}#}{{oaupbG#1 delta 419 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 literal 1767 zcmZ{j2{hZ;9>@Pl%wQ}X%Oln0MYX1(NP-}$3?WFUCR$;%WFjH9gd{U)ETuZ_)YLM( zA=Ro@)!4>TqUgf2Om&^c7F%uA3{4v^CFz*T`=OV0^!$ABWY8LJ4J{Zr(>~2$004x?^70B|(dhuNzmQ+}#2SCZc+j2clR+>y zG5Nj;V|LB*KyhKvGY6k{ZDpwn;-mbrllH8ZqwSR9aaG%_U1VK-$sTe`Q;Q{5>cVEm zT9$ELm4esG8E&UCyh*j-?Tca%&KFTTE5=LCxpv=Q09p_Y0zzd!ToPJ8k5m z`@-i=kbjuaPTtJRVbu5CJl)h?ei?u8n(-U@oho#Bcw@{tF}%V87fuSrZ0Ps-&up9{hxKaQx<&<|GIS2}hAX2b5XphWq{@*_Lo+8JKJf~WG_+lx7!&v`#hu$$-3JW(V}s&YmYXS?T8 z8pRR9ftV{p=ewrLAFdS5D0A-1Vk#ddRSj{j4hZ|F8=gtqCtlYrtWzd8l6#ivTKI#riUUBi3D3cT@;Z7Hli(I%aBNfKU@;Y-}KLg$$u0decKOPtv|9Q`1|`< zdxaQc!LuP>5()UAg+x*}=xB3%L%9H;W3)9OfUq161~qwp0p6NYn31U&l$Tra3S@4j z1ygxs+Sdq9GMmYYXCQc~90uZ#VsifO5+$@{0ipZ*OJlA^<;c!K=8wXSh)9jzvb`nB z!W&ixx(vwTBJuMuaRrO)(Boh{T3huxbq|TwVJm$kpvhtgNJCNpBRr(6|oY^wd388`GvZh_KnMf645g z9ej%RJ@B==8#(y0HqY5Q)9I%e{o0d!kK&Kw3Vb@mYXn*P*?`zn1G$3ePw7F9J?OsOt{)iN z4%eP^bQ|l05|Jy39Xj_4gqx69KXtV0=F(PPJN)pU2gAkuf)V{*4`Y0&?Dc%m)b#nT zu79f4de^V}8ZE6xB__Y79#BJX{tlc)`N(0AzSI7O7VvDR%5Z8zHYEo_lIh=gAX^>M zh26#rHa$?r7x47*7{{!dv!50H$g{j?q|4GGjtVNNRw1>Hxn@5fV>^5y3lxoIn)mfZ zI-4D?Zhbe;*V2w?9K9$@%$y}mdzKU&e)(YSE2q7eYx8uj-<^H+MFq-VvKsJKG~yvP zsZPpJ0C3qh4@~K94)}+CJZ~y5ipFE$=*bMw02mYoV}rujpwYo-XPi9>hjOq+fir5v zG>7_MKmt38#Z27-9BfebHfWb%j6Dv6!8xKn00r2dQy{SauN!!*1O}H!OW^!3gTtq$WbC?55wwjOorwDv7WLE;%JAUu? z{l4#g?|XSWJ#9incyzc*rHZhnSTo?ezw-3%34gP`S(Xi7Vg8gUl1lZ$0OjeXTE8Jm zrRp`1bL7Z5_Ed@yd>Wb+TtE}_`5{`R8Z$2FrSty z0`j<&5)ovUq&b+9e8$M4jG;&?M9w#%X2l?q zV^2pcf(Q_uMz3awcoIo4Y6v}UB;(@{5+@QcJOLxLYMh{OJ*71w?H?3c6InNvVNGtg z1$!nmPnP`@h6MrvO+c#=L=Q$7jYbS7F_Kh6gjy=*Wjd(lrPvMzE07qG^UIvTBMKw! z5(;G#3YE6G;PZ!Qd8s{2Fko1a_G5$wS6pfZvP=l)FBHA4##sgfUf=_~EI}+0!usdqBEGOO9ecz%qa&6p9Q;DuOa&6>t2M zMFg}ghz>#Uc5GC7hh)TJQ8vbajLhbERtQL=I;{a#S_USR#7UhRH>mM=2Z2*0PT}!t zJb}XTHmF@-Id}2nP*Ue0^c1P3ba1mfL1EUgv`qgam}MxpAo^(NGv}i{0Q2)66bVI= zvIt&5godFyZRc^D#gZ-xZq5rQq>KrPh%L#YCyaW%n$!@Tfhn8>LsI<6IYqISA`I}` zrg(U4&^S67G9j`E4^J*5@Ukd)bA5uq=ekAM(?C&(;0HWlA=o^+BTj8pBuVLD*c9g< zQCTP_)aMatAEHo8&P)J#*;LLAvN#X`qEpJ}c*)5EH(ltJoiYf@g(AcSIMxGX$@#Zh zB)X_;DOz~ko|IyRQZmhjvXB8K6hX_GG5}s#0M6W}86nNdW;~H3%<-f-UY}&eljDtA zvn7GR6B2Q&Et1jqZ0f$$H(hS{IuoJrN01vM?5#D8$-Ba(WRL_mIS->s@ruOy<&<0@6tDr%=Pn@d|}eGpN0d}-aOiYTV6nG9cg z@cN3#4TFeSm$T2PuXhaYA35^Nfs04nT6ASqLFDy88zX0t6AqHYKyrD(?srSLeNzuP zHJ7(?6EEL3QbYP4Ejcvj(!-(Im8EgoXv2A1dBo7!O>=J+)dt>csIT!g+E(_sHF3*# z(+@YzJ$d=|i{i%q(;EAs*~bnH?bCC4?YXq1$=2#0-dVf$M5V zrmX=@Ni|Ep?Rl(Z^~8&dgsiD&hi$BPnQP9bo<#EZH?|bNy1D_>FWkK;#w#t0j2T^Z z)_d>LZDY3~{r9BRHTNsC%?>-Ts~S7f=Z`fFTgY{XUT*Z5&)q1RG-Ul3gRI-W4@>^N zHhpB|H4DVg*u~!IWk}ug)1I^5idS~_N<2Ex^VNkF=MASHxNjEC9Ige-tCWK4mVv}cde`xxqmTCvp#Lx{4+=Ngf*o( zrq6ND@Gx`F$<5E-nWs5*BC_D47|*Y^sxf-&cE{z)^08;`moL%m`0*N*dGNIL{^Dfk zwC3QLITvae?xizZujn3BO)gxLv*zx;tm;F13znPY`r5Y|V`pv}5i>O0(`toLTx8qPcR! literal 2060 zcmb7^eLU0s8pnUbxg+I1)IoY$iPI9c(J;v!^OT2M+uSXLHJc{d*c64v-R`?iq&yrp zmdZmOMkpZ-BkG-#@PJ_j}3T z&tv^sleGWe`RuY4g*Gm6x*?lw9CGw_Q@7mi zNo&x%`^y`~N}%g*zJ-5)#s1Q=z`*#x_|r~R+!oWZ(oT&X6E+jczE-;vBWBw*9&)!> zE;e*?C3cX18WPXlOZ%0~@4R=RrlsIIW`EJf1yWlvq98agci2+QzLEjkKg=O!>Wr;J z?!3Esjnxm~ZtTQ}1Lv<~PwzoihQB139!j(Qc8gMcmT(*+uSv5%dUxf#y29hPVD@bK zwz6bYnlhwpefjj{fPvIzdhK6$8IeEf zPMcLWni-@t;7$al4sI?Bg~|Di&$~5McGH#BMB4VR(}|yFtxwKJ$eh1PPJm;8l031# z0C3hE09Y3Q;44^S$p9b@4gj-Z0D#T|03&+AgTwp5Sv~dl!MlNi!;{PZhfRFLiPYcq z_)&G#urhl>#gnS?#L6pD<>_%1eoP%S^fh0qOqZxahnF}KRfa?rFs6tztq29B91JjjVelJR3y<-f>>2B zsk}R*nI>HNkvO6a8pUqZ{E7+~mw9@Bs75&jgPa}8&R?R@x zqp_Pk)7+=itrK!)_3-h0K}=Eixys&{BEj`1l4{}G`r)~j@ei%iPtoOrVR;=Vc^yfW zJ*SI1b6N*WdnfJP;$t#^U#$E$ewKnIB$M2^Un+ccii9!q}4Dgz~-%bpzQCM>{4z4$Lc( z+uohKC&?2`UuYP+{c^T>O1`qP5|tS612{`(Ce{xJKs2;|(9vD5xmMq3%XU*Mhai(Z zIFVefmWyx~zkC4=D-x}Aw;LH+H(zggLMi8}L&LNlb9Ut@uif6Ww^<)6%oIujg@shCZM*Hp z!HVKO?L5O`-{#tz(9Nc)Td>m@U~ZW;c^Og%dGRhJlVWD7*{`7yJYj@tnGMgT-O#_k z=B~A6(x&sUN@MEA9=eu~(~{uP3wu;NjlPe;mUel^|4489{aNit#uJjS)!R%2O0=SB z9q+uY(P^qktn%p;b8h^jAy_+EYP0N`$i=U(7bvR`b#}M7vSyjGyW-X{jN-tgp`)W< z1om-L43!o0OU%OO#~LRaJ(Ci4?op2$p&{H_C&7%#BWvR^Vis`5*$IokuEVsqIB$37 zgkHtDxSx*6Mx6NiCk@^QD30l zEavoz{zg#6&Ab_{#zfaYOjXD)rCc%IfOg--OmY_N$kosOG2~eDy@4ke2vPH+wTTC~ zn%tz|PdMZ8Bd)Jud4KN`x@f`Xpn~{z*wC|<*86&Xk@t;tM)x@lJ<#xm&7Er0eRP$( z42kqwiEvz=0p|+Y1b7v@gxBV_#A9i7W&cPfHU#I;$k$ceQ zD60bpUDG{sQg}yj76_Pw**;4rQycG~tlX`;inDlG`MII~1bpxDVn!n`5@T;)_(V&>9joc>FHl6CP{%~E~wya|w=D{k6j6}r@Ov7-uIYBJm zTE*4OlAQYVDxN{7t3R!h8d=fal5R#1J6Kk+R@Vhk7}yAo#1X8)%WuYXBQV2>Ofs4j zO9lgggd>rbaHJ&yfk)V*ZQy9QtpyzP@YhDa68;N_riD`}39EpuCEUgm;ebclppi)Q zKKOUwDylsN1a|*<0+Sj|W-y7-^#5g0XgKmaqu&rp1sU^I27GR45{;e^ON}_e1pH{w zKa;)CI0hL?i6xVx5^i%BQ$b?Ke~550gA_}pGpV#w00Zmc0`+opMIjteC`+Uj;z*Uq Q0~7;ZZhn|*m$1}-19|-OJOBUy diff --git a/indra/newview/skins/default/textures/widgets/track_control_sphere.png b/indra/newview/skins/default/textures/widgets/track_control_sphere.png index 60a81d1fea786e785e0476bc7c3ba234831a1e84..adfb51edd2cfd19799cc2392e219a78fd5f7ca25 100644 GIT binary patch literal 9705 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 F{VyaryTSkf literal 7537 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 PnE?e^Rak|zamfDyGGYq~ diff --git a/indra/newview/skins/default/textures/widgets/track_control_sun_back.png b/indra/newview/skins/default/textures/widgets/track_control_sun_back.png index b3191ccc5da32d7fa0d11831a4044f52199a5924..98bae903321d7fc90f951cf19b0bafffd72b0d6a 100644 GIT binary patch literal 2439 zcmcguYj6`)6b>r1fV7o2)WWjmIX2lxp1UPLvgsp3Q%W15NNT&?y=j*wyJ2_Jq-B5t z!tfFb1HuSuDKG*G!@y8RpcH-pJ^&HX0WG70JY--52Pz{fdbf{InEL!-W;VNf?{~lR zopaAUXP4#WX7%Ycw3kk&>*LOL<->bl?TYUK|EHZ@H67l1hO%cUI$iI6+SN_>=H|gV zU0kBzEmR9VIW#8)4J;3yuQH~|?Sr6EBOs4Nl<21JF9+R;{C8a`{o7>cw))CxQ5&Fq0pMl`{{gFX1gu; zW=G3aHAG`rBoZ-1j0QOx=Nsn7; z9B+eqBwp}WJqabvUcy3?M%su!0fkw^vnuk{o2A&q9zb16W8bLy=e{X+{c2 zGBga;89R@=875Db{6YXuDEV1V#GS!d2+Cs7lLn$QFk4VyNU9z?rztklgpDSsHpQb; zqf~k(WI|LK9-d-O5>;6W6f0q|xD*Z;pd>^J0TJ*J>PYX1QX3I;-Aq1B#Lzydu1scw zh(@gV3IJr~a|Az_CV&W#eM*HODn1_g*>FJhsUWI`Wr&Lid>K#`-(M(E*vhVjSZOod zJ#D)ld*p&b3LIfo%7+3fq1^%%fPg9iUvbwaEKb~nJ8cZ%BrH}Jo@um^B*hqQc&3$d zFl2@yq?96EOL!s;9!vOtV$qtR9uMsn6_ph^;C9(jcq9yhz|(#!AV`X}>N(tO)3a6+ zuBVJVr8k@TQZvb#fyqR5tanLVSUdO~>-m4Veu^x>!pjE!Gmln|wTeNvCvJPeEC93H zp8^8XS|n(e(~6%R<+M`|c(i>O=GA|UKpSnO96-{JB=4dWw80d~uSQrIILctO{z(XXj7o(|ixS23$}$x8;@+UsPt4sNietw9#rZAQ=WZ$H);~B_QeQvp;*i2mr&pVsmHkD>E4yzxu=nfd0@ejr zcee~TvMDpS#~t~8l>Y+SuWsnNS<8IQJC9t9<~An2{o;yw^Eccg*S^0MjeCCQF9l84 zjvb$92_`qr4SZ#)STeQw)anAPuQcZM)vmj?%&YVJG&IFud0}K$&x2RAPbGIou4|98 GWZ@rofl*oj literal 1626 zcmb7?c~H|=5Xax|7daKh0D>qIk5UdplYjw(G+Z%>96~sQNQ5L{S}-vQB6vZdD2fEd zQ90xg>WK(QMCFh}KoF5zBSb17AmD`^@c`2wb?Qv}U*Ej_?%RFuGjC^hlRZ7CTAGHM z001pI&4qz@^t`E~5Dn2j$OQlr@tmDKd2BWSrYE9KJhE`{(rqTccfPk%x3xaBt0c2C z&xF`YyF~9c;Fe^>j2_N3zCIJy#km@B(X{m4uXU_iKc)qxkQ2gnk2st2KE<$Qpx=H> zbay7ZyLwEr;iOmD9fg`a$Z_FT)u8vCD*nSdd+v*r96tt-P#&@$1ei5GT?fcc5c`UKH z?y1StmbsyiKlyb9`UM21+GUxUlV|X(A==1jSmVt7iOoN@t%HKxtm*ckn|Gea*lScuKj8&=awnuV9i8Je%&uoRA9JDYgndl zXp_$%rbtl@msUz%LG2>h?Cj5r?j{Ep^IqEviW^>1+>h}axDRXp|sR?cCj)Aw#n z>N728Ild2-g_FltDjYfPH52GPd-AsqopWVbMuxY6+~78(3m7(y;SNBo2>@}40DMML zapM3);Q*M}0RZVN0Q!RLJ6@ZRi_@NNJ`}_&Q~%%ocm}*EhX$&lo*Qs)J~W*MMq8k% zK4`oP>TiG^mcezo@Y_`A%S-T10iL%&9XH|H0=P*EKWl>8%i)@QSeAxh4=z1{syzZ1C86FPhm=a?t@~q(k;?F5hKDzRVAKK?HFYg*wB}NSRclt5k;r6{ z8QB3@WV3m7Ak81Y8HsF`y_r^vz)+|w)der_HxeR&hJeNt0kBYK-XM^fZGa@z#B_Ix z+Bix_-w=h8T#rSVo3TCtVn#?bMj+&e@glewag2bA`FoyikDv3Fm-gcp&4%llLG@;* z*QO7-edc3aorF_1?S~VV8}iCO z?yRZDY#KV!F7?H^+aE{K=)&5R^3Fr|9eP`KR>oTnvxEpH#$WF)$gWwK*#rFUZF0qS0T|hIC*NV&iT8!vjLN|*2?0`_Ejy-i9u{Rn-$w{2L?+l`;TP}Y-P{LaqC9cmTCC; z=Z(a6hDa+8>@zkp>SE&w$D4beJ{1n znXs$9W?#Fsrd(^`5N+9?OOUdE5K{ugoDeaW#1?W92M9O<0gEGG@pvD+Ey)T;!dYA3 z5XJTCCj|Tph~#s4VKMW7H5O-u#c%W>Sdj<>(gxf&AdOfTj{v6Me-QH`xgv2$q~N~{ zk%Y7Q##Ge$C=kYEo%e1ot?GSH-OaI(jUicVYL_&#GjBITc4x+! z*&`J#Ein*GAO)d~7@9w%1_Z_1s-=f5S`1WL&|oaJrLBm>6rxbuBu;1J z$iwrZzen%!wX?h&wQzzQ1eRn}foKG&Z%8T}KLB(z2*RS|!WKS1j-jI9!gknvq)%~! zez9$j3cB}n`1w5pyi>p$wxRV&7CMLmokNq+h@`Pe7nb(R!m%+;U}zem54f-qOnM3Q(KHj`Nh2MjcKIWhb4q^%;~VDF;D12#Uc;iY4tV<3zI;2BWD$i0$&UWMjcE z7uK)q3QG`)M8c9_EV3FVD5uj&kTgNlI7Hyuprmt2T+*s@9y~zfRZ-DJSwanuTu_eb zE(~Uxp%7K_ZY3=%6BLX{atc9NNP|)uDDZil5>q4T-~vy82#5kn*C3Y4W0ihcm$iQR zA6(~`?+O5=_4)EK?wdJKHn976ZI83wJV56{Z6>z$& z`eiwiD^zDLWz_993R8=2-XThYoY1zcvH>1W2QG{zX&X+~;-uA2kt|KJq!lL}EJ
ie@SMT~N4d1WxDv6)f;sp{E z)GKKU;30gs*8=lEWd%q;fa^_lIcfgJ_l~uj4ZxJbDi=i!Z(5)m@UkSdiy`ow2ogXI zXal081q2Y{Vi7%{gQOl)Auf?ANZ{V^8W+z-PwVgVu@Iqi5)Zr{7X}M%5k-NuJ4i<` zzuvtKkc7YMc7uj$OHQ^nvHQD z*lby{?VuaHkR3%tG<^hEjyI0B3*(JF4IqQeG!*aw70B2p`T=yBtLA++dIqM+Aw9vV zpeYR1`Y&gRfcXQ%kqj_kUYI)l|06eDRekH#k}N8*RN~Sw$#4irM{cD7k}Mqt~s)Gd{aq5rK2Mlx;z8G&qH;^Zyud(t(f`k zqWZ+y67$riOBE|Ce{LIeAKSaJ`s;J4mE~P$&pb6VcD35vE7^y4R)qTE!b0hXv_W-91h zB!&-P+BOM_rgx=ACU+b%QV}44dQbi37$CpPhASFG$5%(+-=tTwO)Y{~l z(!-`3ji=X-Jzt0weRQ(2FTVIgRnhkwzc{&Z?9+AUH%!lyJK)Nfn)|NsB^C6mAX`uXhRyOrmTUU~kgY~y0~1xf)xQ#eb4{DK+0r=0nuJn75I z+YB>nfP#!k-tI2^61x~~0y*p@p1!W^FPMeJrC47*hDcma?Y}K_Sb@Xk zqY&?_wzx_E|6g5np={Y*cK1F#9hX%C!RIvDjB=M2z1~}>dwW&6+<`)d=I@?d&e?*h z4;KAf^?t`)`KqKV4uy3;I+T~1>7Nf4%jhg>{~EC%o&5*X<~@y3dsZ^%W+m%SJbgTB zL-5msHov-3FaDqQJMus4iv&*3wr3eHfo@SPag8WRNi0dVN-jzTQVd20Mh3bDra%;8 zXk=wzY-M1oZD3$!V8A2%?Kp~t-29Zxv`UZ$6I}yiT|>(dBV#KgBP&w_h=vJf2OEJJ zG~hOrWag$8mn7yEpzAS%TXIDp@i|bBBuGziep*R+Vo@rCV@iHfs)A>3VtQ&&YGO)d T;mK4`Ofq=7`njxgN@xNAvJJu8 From e7a72f850c6f1cb62ece7c13b28e48aba774b6b1 Mon Sep 17 00:00:00 2001 From: Mnikolenko Productengine Date: Wed, 3 Sep 2025 19:25:33 +0300 Subject: [PATCH 005/248] Update floater title, checkbox and combobox textures --- indra/newview/skins/default/colors.xml | 2 +- .../textures/widgets/Checkbox_Disabled.png | Bin 470 -> 14960 bytes .../default/textures/widgets/Checkbox_Off.png | Bin 480 -> 14961 bytes .../default/textures/widgets/Checkbox_On.png | Bin 635 -> 15341 bytes .../textures/widgets/Checkbox_On_Disabled.png | Bin 621 -> 15333 bytes .../textures/widgets/Checkbox_On_Press.png | Bin 647 -> 15245 bytes .../textures/widgets/Checkbox_Press.png | Bin 515 -> 15313 bytes .../default/textures/widgets/DropDown_Off.png | Bin 678 -> 15125 bytes .../default/textures/widgets/DropDown_On.png | Bin 869 -> 15433 bytes .../textures/widgets/DropDown_Press.png | Bin 702 -> 15322 bytes .../textures/windows/Window_Background.png | Bin 508 -> 15072 bytes .../textures/windows/Window_Foreground.png | Bin 517 -> 15060 bytes 12 files changed, 1 insertion(+), 1 deletion(-) diff --git a/indra/newview/skins/default/colors.xml b/indra/newview/skins/default/colors.xml index 8d4d28a9996..162c194dd48 100644 --- a/indra/newview/skins/default/colors.xml +++ b/indra/newview/skins/default/colors.xml @@ -984,7 +984,7 @@ value="1 0.14 0 1" /> + value="0.26 0.36 0.47 1"/> diff --git a/indra/newview/skins/default/textures/widgets/Checkbox_Disabled.png b/indra/newview/skins/default/textures/widgets/Checkbox_Disabled.png index 8439f82e2932882b37f4fc73ac0d7fc1637f3c46..383ff8f6e392318ee2348007af25723bb0502158 100644 GIT binary patch literal 14960 zcmeI3&u`;I6vqdF1lwidz<~<1lI3M3emVY;#Hp<$RY_V}iIl1h+V;dw>`7uZv5oCC zX%A?{j{{duE42Iz`~yh9h4bFIaE1#vBu-`gBZ>Qx3`M($%UDX{H{W^h*`JyB;)}mJ z*nj`l+G}eFp<8>q%|rV868*gV!gKWd)7$zb{kh@qo`eY9d?o%ogT8sRj*#)#X&*<& ztq)Ag8y2wbbx2_{^yzGbs+$uZTc;!vI;7{gHSv${e-s7Bu8H@`Ev4l*NZ;AL2*}aJ ze%rb@wG3O_tglrkCJito5f&!Hfg75WnwZ2j>3KXXi$XFbI<1LYaYEs^bs#jnfC%M6 zS+W#O6)HwSEtd>ceOJ&FwJ58KtQnH3nx%@V>Oyvi^)-4{4eYLY*xbp|QL85QqsTX9 zc|0B$#>Ijc^kmgA3|Y}+O_S&hDLi*0Jdxb+P8wtyr%6I9aQw*eTp^B&JKiX&iDH~+ zc4YT8^k<3OFk?q4$`kC%YC(~gIoa0C#~%fQ zR$e=qI4j&@C3Q=-Lb^g#daq_9AUN`Zw&xA%=`K5%A`}`8;mv!FYkTAHt*Q)X&zE{0 zh%|9T>YAdJCB={wt*vgDCBxLp?iuF=*-7 zIKtP8lAoK4V_Rm|3x+tVJ44(fvhVh)@_aBibGD((hBxp6dRe5dR^?^GIj>}snR{*+ zVb>yi%{m<@IF4=FrEW)8EM4m8xFS_5C0ptkT`YC24b@WAil$mPf!J#0-4{YPJ!=#f zN*3Ctp^XjI#zmV*9YrZhx>hnItm}$oeJ9U_l3|O1`cg zz^fiGa#fCd{=oSU)*!@ZPqqTrE1@S@0nm>Amlc@rU8|4X9GIX7L ze&jk)UCXk8;hb0eCz-bKBlUz0cELUYX3_T8<2^kzW9olchxQnQz%m)ff9ZzzO z(`1QbPRJb7rOG{dCFPfn(&sw*NGZ>rDHkep*1MkO$^4FgT1Cjmg%Cdb9*15}O+ z0AZUP7n=`IIW7Q%ZE{>}K0xKT01&pxak2RTmE!_H*e1ut<^xoY3jkr892c7pP&qCD zgl%$MY(7BcxBw8g$#Jpy0F~ncK-eb7#pVN4jtc-`n;aLL4^TNS0EBIFTx>o-<+uP4 zw#jj^`2dyU0zlX%$HnFYRE`S(VVfKmn-5SqE&zmWa$IaaK;^gq5Vpy2vH1X%;{rg~ zCdb9*15}O+0AZUP7n=`IIW7Q%ZE{>}K0xKT01&px#I-hmOOv?t)yy${2lLBcZ{MWv zZwl7#VGE&)y9hn_9HGDHJD?AKLujNR^!t5;%!dfQ>V5t3&pUMP>wC?u_T-n&i+_@z oZaiFH-?{tzw{Ot#%gblc+Zy`e@fVLasfqTs_nY6ncmK1$0m+^pa{vGU literal 470 zcmeAS@N?(olHy`uVBq!ia0vp^d_c_4!2%@fWX=8qDTQQ@AYTTCDm4a%h86~fUqGRT z7Yq!g1`G_Z5*Qe)W-u^_7tGleXakgBO7eDhVff$Pe`Y_B$6n&;>&pIuSy)`soKu>E z2Pibv)5S4F;&N`kAs3S)k8AuLi)c>nrUdm{m0aBGAFbTeBOZ99%9=Yd%}1w9TfH%) z|NCTp9+`-X=VtFN+LKeZGWGn!TiPq9hi|jrvOs*2)7Lj^H5;6kvZ(Kttm5>UyDfk@ zf<@%sKhC7?=B61g{JzUR^7Yy@i1fZI@#nVVW%l9*e7 zuE*5M6lzKN@hc5LJ(3_j!TD(=<%vb942~)JNvR5+xryniL8*x;m4zo$L4nWU>FVdQ I&MBb@0MhD}R{#J2 diff --git a/indra/newview/skins/default/textures/widgets/Checkbox_Off.png b/indra/newview/skins/default/textures/widgets/Checkbox_Off.png index cb9a04d84fb56c369365982b6e62a6a309d19cf3..66f12496cbf123ba85685032968e59a01571fc00 100644 GIT binary patch literal 14961 zcmeI3&u`;I6vu}j2PoR*um=zV$?^&bv^f3|JFTt6tCDnS5Ghrg)wZWy$DSls6WiEM zllFirI3aO@3qtTO@CU$w6GEK0^B;hOIB-BnNM-yZiSv>SMZ2rLjHM)g^XB`W{h4_$ zzW9^~nYe}u3j{ENJ zd590s_uBUPiLE>QZF8eKF-U+RjxBC79C(p2sqtxCgPbSBBG08$;*%P`oh0OrTKinx z4>6~eG{Ke>ncLJ$vZm^?{1&H3a#@rmQPBliHq=c+u5kImn;Yb;8aiF$pm8TpN30s( zkK@1)#qoGt8kb9c*b`-4*F{MY6-6L3gy_tRt%=}8H?ttqI1L=xp&P`m?{P_7tK*O2 z8qX(*W=DQs!(f)ki*j~^qByYvQ7%d1Dv@K)G{Gnwq?hK{A|Bu&_Tq@>~`mi zvk)oqti5(Tao5NaPbN#ZLbgIxa<4``#8&KwZQmc5*)H3kBIN3I?u~n{=lJ93&8i4z z&zE{02sf-4n~J1pf}{(Q(w4UjRW}svmQ*$*sSqTa31YN-$L*f2h@q)Qd9xU!FcZcg zrQ=w!b)_i9xrI26ZFK!`XvL;Gw0c+!yk1qD4;E(5Hk48K2YyH{3!8FPTs2%!rJKxX zdQoh7Hf}adGEj0|$H3ZFN71#4ph{&~=-BF(u!S8}s5s?KRl}C-Xx$WIt5uXQg>Lxv zC@GXYv_nG6lHQfD+7&9D z%(RnQz)n?M7@c3%Oqt8vw`poHy&Fd-tLh-@gHTL z1zc3X$W<}v`2+VctU+X*KHLgit%M$K1s2-T6Ip@z-nILd*Taq}PPgrJ;A)GOE#+c8 zP20e7{Z*6yAA{5`*+*7dGo;xqjm^N*4m9E{TWn~FpZ@}NSFTv~KP=`meebVKP} zdDnAeQ^~V|;esmplg!%qA$gv|W<}G=q$R>(sMvQWcyQEkNxzMfE+VVB20B&>j|;+S zvQ$`bh6@0pn+zA75AZTv00`Y=xafR;AOY~5W2~5(fI%`!v%oQO@@ok2Y4AS0EBKbTy#Fb%Wwf8 zbd%wt^8sFl3jm>;3>Tdb@G@Kg2;F43=zM^e;Q~PDCc{PN1H23u075qzE;=9JWw-zk zy2)_S`2a7&1%S{^hKtSzco{ALgl;libUwh#Z~-86lZtC&{+1^8$g7!S@($+Rvu}SS z?{9MU?m-Ko^Vbo&_!yzT$vdDIzalh}5c=%_LdF*ez2tv(|A#wd?yJqlc6;(mC;s}U oiyM+GefsWoqe;fm<>fQz^QX~2fBpIUt;BBb>@~i5`@u*50`hnvd;kCd literal 480 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 diff --git a/indra/newview/skins/default/textures/widgets/Checkbox_On_Disabled.png b/indra/newview/skins/default/textures/widgets/Checkbox_On_Disabled.png index 5759f7de695900c5da4d632292ada667462833c2..9c80670837b03bbc0718ce6df44dfb7f987cbe28 100644 GIT binary patch literal 15333 zcmeI3e~1)S9Ka{7uuIc2)C_UmD=2Dqe(dh-&ak`wxV7%YJ&*IkvjUx+d3!gxJ2TD9 zxqFAdP)quOMMy}$gdie|w1OZ4??O}iqlm(wqOOdB0_leoXqmm4*&nm-_FfkX{qqLy zcE9iY>%GtSz3Y3*jP?WS^>+5&=bE_rAC`Dw|$b(3wWI}6-N-eFJva$&{p*$GS^mO>=cSpk^ zO-+Z_#dB=V>;QvW=ZFQ?j&%1aBbyXa4KK~Kr798(Py&t|s+5YlEmhKCFRlc?yTeR4 zvT_v-gNVlu(AVsDkn+z9WnO07!Qui^3tfDtH zRbfC8lz{Ho(2r~BXAT;UVGkOUq^zqaO$=+2%hhwYoNuYrGPUij+zb&^k+$@-`-V-x z^a9%$vJ|j#Gh9l0tJOPNp;4TsNUmnmxr2%}iJPnO-Mp>fS11M7Ds@;ub_}b}Fp3#} zm-W;ThB`Vzx2@B3)hOGyrx?__QR+q@kd+;f;aNUTvm(v%eOywCi4q^bgN;fo8wlcC zA~AA?suhMO#1P?LmiR<4M!*t{0gsL)<+=iFSO+^$A6O;t%&w3Jnn!DjqLzV0iKv}drYuT%z z-K9o(po$77&>+sqv`~PdlUyP}C&gGYrsjosQt>w$3>|Qv5PFTJ!EP-V12#39|0P9> zFcVUBYHn?Z5%6v`)`AC{M;o>E`l=~gHgLN}I$UcT^+pU$>rcw-K9a1s9XX@8hZ?9U zrfIY>E!0h$Siq?v@Z$&EC(ltH1UjxW_@O+j$%EKN!70lYSUv#H%)j(2KVY*58oBk6 zfOx!vSJW<{2DZHU(kd{uBXlVhK>F(cQURB>pI8}`^#Pz}nA*0j4NR?Qekq&JQ?0{H zJbx+ohg5=R7w#k3J2S9rPZ(=t_U-%KGgut*>=Qf-ANa-vpQ>w6jk>PKy9U*$Ys2#% zU2`(9Z+a6&h67&iuf6|!v=+XYf{YN4N8>359Y#HRvC2i&cG4MN7x^ z0moW0&oQ8=I{Kvwyh3^{&>w{_sPNsGslOag=#KT?bveH@R&+U|BC$vk1PERvxbS=s zEy0BV!HWbJo)4lWxDX(Ck>JAfL9_%H0t7D-TzEc+mf%8w;6;K9&j-;GTnG@nNO0l# zAX4T@FKy5=YwboE(8c(B)IT=5G}!l0Ktm{7oHEICAbhEc#+`3 z^Fg!(7Xkz?5?pvbh?d|&fZ#=f3(p795?lxnyhw22`5;rQ9Sc>{-qkD&yqUIY3g_i?g@< zU0(3&E$v75E*?MPUVS+1UVJ!q{()b%T=??sw$uCOU);O(o8<8^>eS~KzCXt3KO8i# ze)yBa<1_C&^5)iE``>%*rH{tO&Tc%kJNYdC*gL}Fv!}*y{@Pr;r*p-beP1p8?#!fSzAoc7l9R~>&c&3^dp=$yo-uRIZ+@$!;AAGhxref-fsuir9HU2}5Lvfpp~ gY|e}K-@sDCOP1~0Mm@9>E{W<|*`0lT#m1fg08Z<$_y7O^ literal 621 zcmeAS@N?(olHy`uVBq!ia0vp^d_c_4!2%@fWX=8qDTQQ@AYTTCDm4a%h86~fUqGRT z7Yq!g1`G_Z5*Qe)W-u^_7tGleXakgBO7eDhVff$Pe`Y_B$6n&;>&pIuSy)`soKu>E zhk=1n$J50zMB;Mlh5g=6fec4KzORj&A2IDy(+T+xS2{d0*6dWAb#!f+`NEz17cE$; zm@%w zt0poyd~UwQkaA1Zc+;JK6`REr4t}V1yv2ODVhiJvFSD~0kA%$f`juo|IXnDe=9Gii z78@w$95G4yu%Geil(Jo7-@HVDL8)5e8c~vxSdwa$T$Bo=7>o>z40H`lfhfe#$jZRj z%D`0Hz`)ADfJgY-aTE=?`6-!cl^_i!x(3F&hL#~l##Tl~R;C6J4HL``HUc$hz-=hW z%uOvWNz5%k*JEmB3bmyC_>~5r9!Zd%;QX|b^2DN42FH~Aq*MjZ+{EFVdQ&MBb@0Ao+?1ONa4 diff --git a/indra/newview/skins/default/textures/widgets/Checkbox_On_Press.png b/indra/newview/skins/default/textures/widgets/Checkbox_On_Press.png index ba46e91c55f6501948720d51efd62e0f52e976bb..903c61f01bb1a9d4baa54c8a3326d5c5ff7292d7 100644 GIT binary patch literal 15245 zcmeI3Yitx%6vu~$h$VnZ3<#L4i%lf3JCEIIcgEd?wp-Xnx0F()_yL)nx$O?@&MZ4q zx6tt>Z!1>F;Lr#aP z1e|mE2op)xfS4LymI8B@)i=q@7RiF*oE9wer$rbb0Zhq}PQ*1sOb48qxFS5ahH0lG zGsRpKa8_9f9nFyjM~$8W4&KeXWQJoMm4ch)y#mWlb#M&pp;?CJ1Q*MS-b#_JaO4hW zuneC0Q%Z~27@Cnw2d#iJW|~QnrrX=w-R&N?o@%98K@ez$qdCq6XSj@|nkl7SnlULG zBp)XP3^}DHO;y(%R$M8nx0wN_(@Io0a`%-;77}Sjjvb^(r==v#x*58ZNRbPgWLqkp zxim$lK^!E2W*Sh(meeIlZD#pxBv^7MP{Ag%TzvpiW@W-DY@$Pe#TtVsdM)Kg8m z9uH=BSwkM7qo&4j?_5<=^mb#ipGIdFm%11Tgd`ILIfmn1jNoFpCe|l<1(D;YFdmU% zY(cU!kr)wOQCpUxF*rtKd6DkGVu4siIxLO2RU|VF5FY4hl5F-)0yie$mF1J~Qk_)ZC&@3-=pi+Sg;{%GzSLuac zJR5cKa#RsK63_5J&WE4T z@Fu~9=Yx0&E(8ePB)IT=5HG=n0KuDBTxG?#G=T7nVha@bXW(Z@zZ+w%2;jnFkuyUJS3%4sMfX{&D1O|GMT2qaGVtb?J*QtGgHL?${RZ z<+k;=_Do#f&DV||GpFlQz5D##@r@gp=u;IZW;|N4f2wcAt~+KNaeOrU_jOl1o7&bN zKeX%U_Op%m88ydeFIai%t&{tAs+zmpIi>6A`e}ET&zwAR*w;O;Joo%JJHJ1;cOtjv z!}>j&wILH2s(ef5!LMq6p7g`T^B3;lI(6dNtISMYX==k`FttZZ09W=If?A}wm zS9kq*;32MYapzyt2Ul<74~I6)A92&*d)`aT8b0~gSKqDf`K}_oq%+}S`hjv#lSoJp;e6kt< literal 647 zcmeAS@N?(olHy`uVBq!ia0vp^d_c_4!2%@fWX=8qDTQQ@AYTTCDm4a%h86~fUqGRT z7Yq!g1`G_Z5*Qe)W-u^_7tGleXakgBO7eDhVff$Pe`Y_B$6n&;>&pIuSy)`soKu>E zhk=37&C|s(MB;Ml1zT^YM24du{})$o+7%b9V_eiJB_$nYB(Q|z&_dPe8Jne)fAOv5 zU3)RYsg_BWWxGPhinZT)oVUE`eeL`5-t){Cy)Sy6v!`1$F)r))sDAUv9hax8>Vqcr zrS1ustzDPlv1}3FYQ;-J-U55_>YeK!-}1O{V{5m6gb>sDSkrpvn#4usa+P1V=^yqJ z<+NLV*zE25n@6W4Jb(A`j5r(Tx+r;h*^)WEH5-lWWw@u$zL|V4hLugjHu}_c-{MLu z!MUCLU!Rp;{6=f(!3ME^mmWE;%PU>C#Oc|?)As@oZ_Z?7ThMa5eAkxw^&BPpUf;=G zpcV6Qkwep=!^%Y)4_u1~Nb}b@;QX;OD%0Qjd!?JUGb^XIP{NU!_&5hH*Xk70|QyL#5JNM zC9x#cD!C{XNHG{07#Zjqm;zCVp^=q=v6X?Twt<0_fdP;3x8o=pa`RI%(<(t4Omq#5 zbqy^;jEt>}jI2xzAQ~o^9c%<@(16=el9`)YT#}eufUd{X$`ooz`SB|aKs}NmJ;C{D pCFO}lsSJ)O`AMk?p1FzXsX?iUDV2pMQ$eYP!PC{xWt~$(69A)x^lktE diff --git a/indra/newview/skins/default/textures/widgets/Checkbox_Press.png b/indra/newview/skins/default/textures/widgets/Checkbox_Press.png index 5f5a33d878afe13e3fc9ea4dc3a6c01dd8a5cf6c..96dfd7267c4365e16d5c3cf91cbbda6b1a9f47a9 100644 GIT binary patch literal 15313 zcmeI3Ta46H7=SA=5mpeQYt$7@GpOLD)5}a}+Gb{!We3<%XI+*779W&OduF#`rY+MB zGrNh3g2u~>U;+jukoe?-Mni}(#1M(Zkno@}KInrN3>ByAp+6v3o>-A_o7PYFAEHBG4%L%L?FwlZ=rcGCEFs8F22-1p^ z1&&rVY}c?%+Ka0et(u#TM7%`ptGTX<-A-gWO?HqX+fZ$mk8*4;CtYj%*tKfepPH_* zpbRR&bRFo&_w=);EZ1_TtT|G))pI6>HOc4OxqHsHQt6r6ao6sI2%1QHdOC$^8?fWR zv1(NftlbHhvZB}OU8B?~PFEyPGw0kv!y?qww|g=2&)(HQXP=&GyED@xcl6i3&Tl2xs!ZpNsnlYq6&$rRfe3|Y1} zlrn6Utty-r$nYt)*Kkj-tfkew9X(`fz=3seLiK@F^3UuVb+UW3r6?O2Sd^%4=n5}t z0!Zo*y99JbO2*-r$QKz=E9!Dg6*&=TDb_ow(5W*MFOomnog=&e+zh?K=krR=bX*lK zAeZ&$W5D?&fF9H1lFD$&xWs6B95AvZaEvNToKWOT63}A)Zs>OJ%&Zx@mAx6-TdF3- zi%E@7Fnl7JU_ddhF;ZMEGF(C`X;MNEK@2W6m|4huR_Mp72JF^qIb_qK`Cn4>2s10y zh~d?C8UgQBVHx26q$91i(Qd@hw0))g?xU!h*O4=tcc_7$V!K8= z(?Z>h*#(>*f*^j#eeN9fDPZC{LlDZhnmdSNmE5{o1w)hY%=}Bg3IcX}ppknY35dr( zcxB@%YT&3ludV{~J3?1c0kp6FFBR}u2Z^;Q)tm%+hHY)z*1-IV7L>C4Jhj@u?DLoM zZlnr4yKo<={+WSYd)8Pdb6`K=oxyU=w@(Tjyxy9=mQj&dBnbipFA`jMK8Tj!LV(~! zf(y?F(Gpw;5WGlm;rSq1f(rqH7YQyrA4E%VAwcjV!G-68XbCO^2wo((@O%(0!G!?9 ziv$;*527Ww5FmJw;KK7kv;-Fd1TPX?cs_`h;6i}lMS=^@2hkE-2oStTaN+qNT7nA! zf)@!cJRd|$a3MhOBEf~{gJ=mZ1PERvxbS=sEy0BV!HWbJo)4lWxDX(Ck>JAfL9_%H z0t7D-TzEc+mf%8w;6;K9&j-;GTnG@nNO0l#AXfw8xLH`c{YvetU_@_{Xf z@B0XRcHz@=?`>MP|F6@BE^Nqs`{h9Y`2(kRY|brxp>TBXu9JWKRy*{>BVR55b$S1p zJD+J>dH9F(N4`_PS$yQf8&=)3C$(_L%3~XB{{5R@{`~a5!_nC2j~Dm8wdd|bE6;wi zY|R@-M_;@3@%{8*ZNc+j{471S;m>!N@6TMhW8l&trH^gi&E)zsaQakk?P&JhHQS#1 E2XyhH*8l(j literal 515 zcmeAS@N?(olHy`uVBq!ia0vp^d_c_4!2%@fWX=8qDTQQ@AYTTCDm4a%h86~fUqGRT z7Yq!g1`G_Z5*Qe)W-u^_7tGleXakgBO7eDhVff$Pe`Y_B$6n&;>&pIuSy)`soKu>E z2PkyN)5S4F;&Sdp+oD4bJgxSYTr39mD>E&)c+F367M4{H*%cL%;UzTq`B% zFg-1lQ{#-Be4?b+%{OnQL?)GfOMhxMSCyIdbIM%~HDmVHjtTDNHk}PjYMw!ysuxdB zQlBij_`AvZIH%9|gbizW934!z6z+3AEwChSF`MnY`qj6KX6?4?OaCZodeuJO@DO*s zWt4qZ8}B!uZ&XWMBT7;dOH!?pi&B9UgOP!efv$lm5QP{TSs55x8JKDt7+4t?@Cbi9 zj-nwqKP5A*5~RUI*T7iU&@#lx*viPr%G3a&VS?GgMxX`_xD6$lxv9k^iMa*ndQ7cM zp_Y^%ztRBIBMH(IoS#-wo>-L1;Fyx1l&avFo0y&&l$w}QS$HxP6jKbIu6{1-oD!M< DJxr+$ diff --git a/indra/newview/skins/default/textures/widgets/DropDown_Off.png b/indra/newview/skins/default/textures/widgets/DropDown_Off.png index b118e7a7d407dce3c3906a465f46256855f71445..9f6a2313b91e3579ddeb61c6cdc266f93766be41 100644 GIT binary patch literal 15125 zcmeI3U5MON6vtC5RYwa-KUHYcS*ljeQ6@-EhWxYw}BYS7|y3&d- zH|%WY+;jiuB)@ylnY`rX;i1h-Blkooids52kQ;&LDfn4+>&@`LAsv{3r`xQ7Z4O1< zzRde9q7F^3rYP~OK04-(9PDUoi%MhCu2!Q(?m=kU$8ub!2kNSO8tY#v^sk4I=*_vXpe2il|i8QsTu_o-Ye`%V^ zf-VWn&k7%+#RpCQt6o5ar<{e1a+hxmCop-1=tbb zm=m@N`gg-y>FRX%u3l^{&YVb|XWnZEHGLkL=Lux~RtQ!o4ewRT+CXtld({E2BOk4wrRDw$; z#X_PHIwWrk{e-Qu%>-GGy{vWJ?qwK!E6ms}WQ~4s)(^0vtr4-^}VaQPz25S|1^z!R37=;gZ@R^crK2)}q zX0v(S$S4T@Fu~9=Yx0&E(8eP zB)IT=5HG=n0KuCC7oHE|CAbhEc$475^Fh1>7Xk!t5?pvbh?n3(fZ$Dn3(p7f5?lxn zyh(83`5<0`3ju;RvA80w*EE3v-_5MTmoR^q?>i1(;H1@okvx16bUj5qzlWm!nuX`f z6g9z7)UP`zN_qpnAZot0{p(F|?#aPi-)QZ^Z|C{Qsop#H{`lOHMJtw3g4eEtvgH~oc!+8(`&z!_r1Py?8@+gYfEl=Nm#!A z4Be~TQ7L8b{p`=Xubx{WbbWQ{XzjtiU-oaHmi_$6Pm5c3pll(s!nE?C6QNA2p^g#$P#nb;(;pGqVTx-}2G)>I-N0 sb-SCNedf~XH$RNre{Bgx&CV{Sva7h|QQ7K+w?Yl}59N+Mvg3un0kSr88UO$Q literal 678 zcmeAS@N?(olHy`uVBq!ia0vp^RX{Ax!2%@ntR}w(QVPi)LB2q7H3o);76yi2K%s^g z3=E|P3=FRl7#OT(0M!@F*%fF5lweBoc6VX;-`;;_Kaj^>;_2(k{(@OpT+(9Z64AK~ z42-FsE{-7)ho4T}>&5IS(t7@k-xQY{r$m}0dOIex3m8r~HKF{%id3%XYHexnuZl5| z-WyM9Yj|)p~}gd^g%_e%L$rQh}Lj zOMAGDwokJw{k3@3A_eIU=F6g=#BY8(FHh}jU-uMy$(he4NlV>HD)hHXJN@&Xvdgm0o;hF62N=DSsr)x%%f{EX*G%M}!iXG=x9k_+#D#{RcJ;nU|v!FJifDX+R+msz&KDXag8WRNi0dVN-jzTQVd20Mh3bDra%;8Xk=wz zY-M1oZD3$!V8A2%?Kp~t-29Zxv`UZ$6I}yiT|>(dBV#KgBP&w_h=vJf2OEJJG~hOr zWag$8mn7yEpzATUGBtzfannC13)CYC(i5DYR#Ki=l*-_klAn~S;F+74o*I;zm{M7I SG8L4V7(8A5T-G@yGywo5cK;>- diff --git a/indra/newview/skins/default/textures/widgets/DropDown_On.png b/indra/newview/skins/default/textures/widgets/DropDown_On.png index 613a8c2ff6e4321123d4f4d33a165b04d26336da..a498465940371ed3fc72983e9f07ec2837f4693e 100644 GIT binary patch literal 15433 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 BrbGY$ literal 702 zcmeAS@N?(olHy`uVBq!ia0vp^RX{Ax!2%@ntR}w(QVPi)LB2q7H3o);76yi2K%s^g z3=E|P3=FRl7#OT(0M!@F*%fF5lweBoc6VX;-`;;_Kaj^>;_2(k{(@OpT+(9Z64AK~ z42-p&E{-7)ho8<^>&NUU(t3Wb-|pM30vxXym>UxcL_7Ae&kOm=D6oK|o|7Y|R`h-2 z5eBa2g|1T*W-WVj-nJvx+*df|X394owV9Ho`*s?C_jBXmym*Y!X~%jF{~gaAHi+6) zR7b5A(7AQFNp+<{?|nA+Yg<zn>LOd+h?Y|~ zE~lF5FzbJ-do^)K-44cph9isf88v23V~}K+8gPJV!EZ~Q~SUE1u zF#o@VB{)MXW_5Uc_U6rB-@o)&c=My$idPa}OKZ!@zMIOXe!szFsL`41`fE@9u8H{$ z@|LkWo@}}zqQ{kZ@6^o6WjYX=Z#Hj{(*cH(EwSG=+1*zwzqQw8+RH`e`xjZ7curg9 zXMFme!^*f62A_*&T@$7XF7=tX?8FV0^Mj_e6!JHPE_txXK4t+MJ57Xi<# z!{^h&BP?&elj;9<`RXEH-MC3C`fty@t^Vc^>9kcuv$w;ro>z40H`lfhfe#$jZRj%D`0Hz`)ADfJgY-aTE=?`6-!cl^_i! zx(3F&hL#~l##Tl~R;C6J4HL``HUc$hz-=hW%uOvWNz5%k*JEmBY6j8crhiTrs7Df{ tCpbT?q&%@GmBBG3KPgqgGdD3kH7GSPrLyp3DkzaLc)I$ztaD0e0sxSd0?+^e diff --git a/indra/newview/skins/default/textures/windows/Window_Background.png b/indra/newview/skins/default/textures/windows/Window_Background.png index 9864ec0db8591e51cdabb601be2ef2f9af766299..83a09584c1f49a9cea49520b9f9faf9c7469c8a3 100644 GIT binary patch literal 15072 zcmeI3UuYaf9LL8}f=w;98si^C)~yBq?d_k--DTIiYtvlP1iUm&qD{bJ_I4-9lDpk? zcayv1!4~_Xhz}Y;kv~`=AJx`e%0c{_M?N#z-r^ z%);H?Z+`Rr&Fp99_q%!7=SD{k?C89!69BMdcqli9?)RWi`o^v3`|BegccI%hduYl9 zVEe89=LYcFi8}z0KQ$&My~+Heie{B!s%{lvtWvU3ZzSGZu~lszdQ1V%8fJ#Q{QgHQ zW9S+7a3U|{?S43C3@tlwe0gL-Tb|cso!y)5Oji^XpaeaYsg#PQt5h;<5LZFJ{brtJ zf-c^ChVAnQWG3^YOuywoCJ{?;njncxN{)$%9$6G0W+Xw3^P<2@GAD{kPf8J!O!Z>3 zo#KGUOvaC^7OVv?!?ONB^{e_^CA&V5=~mexihM=2c`+vN?L@j(*VqeAF_@aJ z@vsO>(DYoS6Wi+SIm@%$IctL<>+TH)Mr)GK*T-%<-%_dV(5^SIh!9kfwpF?lOE%=k zpldBS8XQgcMcZYoN&ZzPVcDKnN+QoXEEQfDD=o3m-Y(HQAj z-%v`wRkR#5EtnP4e7oj|D%fPou<3fLslnk~7B$2SLs#Ou6qiy-fzu@&a-!Um;tEn+ zN&85heMH@FLW8?6t=GK~{XawcR zRvj1m$(CVj*;cP#_44Fvf}~Yc%`aqG&Cdm>r}?JV#B8o27>wXMMBQs~-Nps5`F zFDua4yV{&;&O$xQ*S2k~VRMTXE@g8*)yhC?{-yo@9|h$u+DB@TGpN|Lv^7Q!`%n5g zSX>DDrz8Pg=%9kGsx<1xrBh^S)Qw9U%EwH@%c9~IOcZO5sQf?4u#AtR^Bl}36Nz{t z&Ew6uV$`U>;$+T1_15*PNE|&^purt&g;Nb-vPl?mRE6PEMNVEp`h~6NT!)U7eEm$> zl9~0|bv=JHp6Gf;#bVJxFd$@;;v)0Gyc8D(gltk=WImXe;=+KCO^S=m2lG-~7!a~a zagq68UWy9?LN+NbG9S!KabZBnCdEbOgLx?~3<%kzxX64kFU5rcA)6EznGfcrxG*4O zlj0)t!Mqd~283)JkWGq<%m?#QTo@3tNpX?+U|xy~141?_E;1j?OL1X9 z$R@=_=7V`DE({3Sq`1g@FfYZ00U?_d7nu*{rMNI4WRv0|^TE6n7Y2lEQe0#{n3v+h zfRIg!i_8b}Qd}4ivPs0%*?3D6n&{QcGI|H|g)845K<{rd+R#`YfaN^^96Juc?|-5D z1ppQV04`1gpu7se?bb_At`DNV&kyJNCMsY3{Mo&oTMl&%e)r4iFS>ShtlzhG>cWTb zZF&93&Xx6xPd{<|5qsO2gP+Hq70&AR_Ve$aJ$mJp5pa@yd-`1YgVh&T_k+h*KDoN@ z%%wLjorC-0ne)H>T72iG^*0lR)wM&bd+tnp`{3F)UtaCn+1=gUaq`%YeC4N8H@|fY mvbwwfOx-=Xaw2)O1H8O-7rcDiA3vaJf#HFX-0A((&-@LQ)LCEv literal 508 zcmeAS@N?(olHy`uVBq!ia0vp^azJdu!2%?2#~u;^QVPi)LB0$ORcZ_j4J`}|zkosw zFBlj~4Hy_+B``2p&0t^#K)c z{y?EUo-U3d9>?EaG~_zuAkg}--aMM)Sb}nfvZHQM!xNTiO=VnVW^!jwNmsPUI9|TF zR8Ztdg4wi8bIy)~wZZi^X>JS;gpH0J*2x!2(o<-tthc>gV&gvJX4CV>H9KT2HJc9R z?V75zc!9wop{H!WmrRdSeOR#cXt#`SqKT#Ctc#O83FX9 zr`L?c>V;3=+O*gDzjEID`R{!TwyXKhmOYcyt-I|8koae-6CrSQ%SU$px9+oKd>3yA z`a`wEHKHUXu_VYy@i1fZI@#nVVW%l9*e7uEz{+$rXXb=RiFY uAU(nPX(i=}MX3w{iJ5sNdVa1U3T4K6#%3#@KT-v%VeoYIb6Mw<&;$VeEU4@N diff --git a/indra/newview/skins/default/textures/windows/Window_Foreground.png b/indra/newview/skins/default/textures/windows/Window_Foreground.png index a86b236504f90cf429c481adcf807b82cdc4aec9..1f4f9040bc39d5272908e84636d5a40b91598dc4 100644 GIT binary patch literal 15060 zcmeI3Pl()99LL{6E4s3@U_mKGLW;$InI!XXH|fl*b!WG`;B1%Ot(_v`W|B9%p)*M~ z$?VK73Q}9D2Nep6F1-jn6a)p)i$&Ce9=x<3M5%c2P(%?tc&QibOEQ15znOhqX~oM6 z%uIgo`+mP)@_Fy~n_TkR-0abj;r+u1p^=&C;yn3%n0#{g?jqkmK7VB&`MJ-TKItKJ z{{z8i2yI??2qEQbbFu7~OV6mfT~BC+UBQV~-66Ay^LWeA^i$a9DtOtn^86o{Kj%5q z$nz&MC8^|0;1zRv!^I05vy1x1DP1x6@xpMfrIG-3>}y=BUb8&4mFL5_Dmf2^MV*N-Zn8=lTxXhd*Jof>jP7J{^S}#&_+7Y(_373usDxB zyW#41a*f=|!9jQLo7LXpY>5;o+g>|vncKJpO5_%9g=mFx7#3Nu983 zwo9%F7v!8cXgKB-ZZCDl@_fzG@l3Hm1`?)es8vI%;4x)PNGqBoD3!D!D0+&Rx`DH@ zk&?4AiQebl7rJQcji5x@p$!sROUjB-NmT?5r!_&sX>wLEG{G2^Q)5*rlOb{^bj-ak z^fA{Y?M zD2Sas+Zou|ibdU~+u6Wy%q#eBjC%M2d5pt_Y$lV+ zX|`U_LQ>?uLLVp$bUfK}%x-av32nz{sbUXYVeLhudBoexkME&zmXGF)^%KxMc95W2~5(fI(C;Q~PDCc{PN z15}0!0HK=<7o87K87=^XZZceSK0sx-01&##aMAeymEi(F=qAHO=L1xR3jm>;3>Tdb zP#G=≷libUr|3xBw8k$#Bv60F~haKj&&_rP1v8?lWi4o*gQGadXdXtaZu3i88Fq$vzee?EavE@4CAkg-({IS}P=4oO|LP3#{El*gciM>2>%D6)3BbS_F>)fev z2fQ3v7SG-qvf-wLBG+%s_QXR`F3pZ&BU zDK_~=d`t2Abw_wNpDNrNS5fL8-LB!W Date: Thu, 4 Sep 2025 21:55:31 +0300 Subject: [PATCH 006/248] Update button, scroll and slider widgets --- indra/newview/skins/default/colors.xml | 2 +- .../skins/default/textures/textures.xml | 1 + .../textures/widgets/MarketplaceBtn_Off.png | Bin 911 -> 15460 bytes .../widgets/MarketplaceBtn_Selected.png | Bin 912 -> 15538 bytes .../textures/widgets/PushButton_Disabled.png | Bin 569 -> 15664 bytes .../textures/widgets/PushButton_Off.png | Bin 579 -> 15660 bytes .../widgets/PushButton_Selected_Press.png | Bin 998 -> 15333 bytes .../textures/widgets/ScrollThumb_Horiz.png | Bin 509 -> 15228 bytes .../textures/widgets/ScrollThumb_Vert.png | Bin 494 -> 15233 bytes .../textures/widgets/SliderThumb_Disabled.png | Bin 592 -> 15444 bytes .../textures/widgets/SliderThumb_Off.png | Bin 579 -> 16378 bytes .../textures/widgets/SliderThumb_Press.png | Bin 582 -> 15307 bytes .../textures/widgets/SliderTrack_Horiz.png | Bin 420 -> 15033 bytes .../textures/widgets/TextField_Highlight.png | Bin 0 -> 15490 bytes 14 files changed, 2 insertions(+), 1 deletion(-) create mode 100644 indra/newview/skins/default/textures/widgets/TextField_Highlight.png diff --git a/indra/newview/skins/default/colors.xml b/indra/newview/skins/default/colors.xml index 162c194dd48..5a74291f655 100644 --- a/indra/newview/skins/default/colors.xml +++ b/indra/newview/skins/default/colors.xml @@ -7,7 +7,7 @@ value="0.3 0.82 1 1" /> + value="0.3 0.82 1 0.13" /> diff --git a/indra/newview/skins/default/textures/textures.xml b/indra/newview/skins/default/textures/textures.xml index 28824ac1f4c..bfc42933006 100644 --- a/indra/newview/skins/default/textures/textures.xml +++ b/indra/newview/skins/default/textures/textures.xml @@ -711,6 +711,7 @@ with the same filename but different name + diff --git a/indra/newview/skins/default/textures/widgets/MarketplaceBtn_Off.png b/indra/newview/skins/default/textures/widgets/MarketplaceBtn_Off.png index de71f763d3e37fbc3b482c4fbd7bb575baa2cfd2..b2767c61747de1f52ee65307657acd999ce77374 100644 GIT binary patch literal 15460 zcmeI3du$X%7{Irp*fvtZ)DQ$^IV6Cv-N(H*ch}M$*s~mvwuWLLu(vzcZhCin-fp>T z6@%pwjEMol%LGF}Q347vVAP-(C`Nq7z#pK5mqrs%!9r|Z)8IxW@7@?Ni(@P^7&B9oHM5pNHbXu*SFtGtBtuKJYg#Oj zU1baM2)Ct&RqSMC~ z8%uf?7L?ee#k3S076|Y@wp?>rtDq+Lm@9f#LIyg_gIWJYdk6(kL;GEsN@EW$L@+Sj)=np#}lzLUYG1vq8bh;JB5p{bQPH;q-2=9Wc&E@bY9tZD?%C5ZY67wOh=ciOyt)*B= zpFGX~5~7ToA)%U8Gq=46crzPq;OW7w#oStTH7TWZU{(#kEnhYYg&1}%Tt2J%h>~np zC&P(tkcO z;5rnk*f)975d)R&axi{N{OE(`7&efmUQ9)fjrG8ZvSn-Q_ P4mdP>UT}Zovi^SnRM+KG delta 888 zcmaD-(a%0XrCuS~BgmJ5p-PQ`p`nF=;THpte!;*{YQVtoDuIE)Y6b&?c)^@qfi^%1 zrX+877l!}s{b%+Ad7K3vk;M!Qe1}1p@p%4<6rdn`iKnkC`wM1aaY@T}i&eRSnk+qC z978;gubq0{J0wu#xc&Ei)_z)h6hZ{Na-&r0{Ti*s8(Wgyxc@hmt!);|y}czX)WyZ+ zbl6r-o|r8fiYi808|0P$ajj&G)o5Nk`PZ|()zN!SE-AcM`{~}!+241x^WXn$`~8kK z!*s){0#7l!(>_6hB|LW|Ucb)q?O@*aXL|Qh_EVZYU%UcWWliQ$&j=Q;e$IXB2~YIa zmMsB^YwM31rcXI1)g)5Dz&1B9p~ur%A%RE3Ky79He@0WQrISoc6TFzdH?Ewz=Cxdu zsNTG&_fj*g|J`OYxiVYm?$fDprI{_uoB!sY*NtdkOSv&+#nO}mqVIy`>daG4udSAF z(VD_^YKP5}i$7O>+n02H)luhMP0KrXk3P1NFaBO6ZQQ)M{%qr<3rAKc#4u)m`8*@p z`MrKl`fQa&2M%{{v2qArTOWS1V7Bw`Q?dft4f2}fbJb!HK zqj#US$G*QX%V*C;?(+Th2A+wk_M1a8>-JxF=jS%q9sW#G{Z#n#rq=boTmE)Sa9M}# zzR&UfOaD*b+qXZ5FKpfMc=MBv$otEB|1OIVsj_0rieK0>UCLf$#+7?hE;uLe-`LM! z;`PJuUc(KSg-bnF$1$`_%gfX+a48b8NYXE;U-j|j^_`pNuJtQQNZ7Z&-@l&w@g3XB z^oq^5^S#?9H~xNo?aJ9n49c16lYh8KW#w@HW!K&q#<2K>^gdwXQY~?fC`m~yNwrEY zN(E93Mg~R(x(22|6k=#(WngS&V5)6kU}a#yBmC_+iiX_$l+3hBkOmW717lr7%Mc@D zDNYcjPmHHYYV5OH)RP>&=?PjG%(NqJ&X lDnmeGW?qS&pKFLhnX#U!o`tz}Lo84cgQu&X%Q~loCIC#)Zz%u( diff --git a/indra/newview/skins/default/textures/widgets/MarketplaceBtn_Selected.png b/indra/newview/skins/default/textures/widgets/MarketplaceBtn_Selected.png index 8bfa3acb42b180278a98e0e2d165760e32587f0e..de50b29f7986eaa345c92dbb607c6d6ed0502803 100644 GIT binary patch literal 15538 zcmeI3eQXrR6~Nbo24cyUqQr%Kxt9Yg7}(p7yY+ducSp>f!A?2bG6rl#N!i<-^R2ks zJ#N>&!)g?qKtxDVwZ%jziPF#yl}HJN28ln24-_kE(+Jwx zz3=gPN<^gmGb`QgzIpTBoB6$&xBJgL-Pg0aq5kfAilQ32yCVJYz6Aaj&7TYZ*RWe# z;O(|_*N{n3jmPX?-R@d4}g{*n>8= z=$4$Lb#qbPNzqRPm`X-VTbiM}Y`=2M7_owGw;iZ-73P&nmjdZ#fgPmCYZkf=It7(@`7?xosj9EgK)UyVLIf+I~v1^Vum8u!qv^qy2 zf&$W-mgc~gG+_FHX^dnP&^ZdHvZ&VVEiGP7PL(HHGwawvPMgKd*5u8crI6210M1nk zXMk)OnE}H{hVrYduZYkU4!f3Y&~(+vnymo_?OjfF*%64y76|byFVL(=v%UeImH0M^ z7niYKiDfIC1I7 zEhj7b6ls2&5H;M)2-T(8x!r<*x3jSpY_4uC=hmsKX*pv8yJ`g8#j;T<#IS4W3OLnA zk`=omhZK8L12w=@wU&p4nrSl=cw-3i{wvI9kC9CP9akChuAE-8J28#8m6bD~V;Jt4 z|5LB>4y!Ft&$YJ%#N%wdq;?ZIFy+yk%fO9op_|J!VgmrY7+#n5Ma<|)S^$zf#hIBgYP5L zt|C4-FUJN|)HEC_8JGx{#Q zBECov1PERvxbS=sEy0BV!HWbJo)4lWxDX(Ck>JAfL9_%H0t7D-TzEc+mf%8w;6;K9 z&j-;GTnG@nNO0l#AX4T@FKy5=YwboE(8c(B)IT=5G}!l0Ktm{ z7oHEICAbhEc#+`3^Fg!(7Xkz?5?pvbh?d|&fZ#=f3(p795?lxnyhw22`5;h|f*;ifN2X;h`u0P&?`kMc~iMP%@;vd~McFA|Laq_Vb|MA#U)Q_s{Eg?K^ex9q+uR4E>80ed#%Wb3b+U%vYDEqbFJi zj)Y%nIN1Ei&fbUr{Y9?zWZUv(>d%|%CpMludUB~&A;_dy*YJf|6e|TbNryWCvkD_9DZAD{oQLjw_muF&OW{U`L93a zPE1`BUpV#3-W`XVAJYF6Sas#EKiJy%9y{W{e&~X`wf8sHopaV-@$8zK`s4Ad#>>p3 zL!ZxEc>TmP*Zw~K?3E_IzG>S%zkKiy$1a>@xqUwy&RjXGe%TQH=={1z-x?KmKk)A1 z$(PQ5w*M|~^NSyRbbgKJn=WeA?b|+_rnp4nj%ky6(7S8?LqiJ#!!HIP{epp^)PRBERRRNp)eHs(@q#(K0&Rd2 zOiAAEE)4(M`_JqL@;D1TB8wRq_zr_GH=O_7}{;;*yr{7OQdtHCcJO zIEHu}Upvh=TR2dpZGN@!$t9VbxxJxVnj%)!D}{*cda>yL;k{*7;I%Bm= zK~re%eZTq>i_|Uczx?lGJ>_bkz@-$wNlu|Dnz1@k=>cQY4VDTe+XSVb7gJyS3l_R| z@`945huaaRIQIghNlV$cSd^JElv!*rN!|1LUP#CaJ~ppCPi}oVyR)X}f5%<<$x|av zURu4-gXiMqE_K5LrZtZqSqr>B@>z0s+|9jz5+6O3e6M!=YyHeDTfa#R83rybhRf5^ zy!A8Y{aSWHd!5{s+?bk{g}2)mDy3a*S#s+0&)%0)_o+X!w15!U_$F9 zo%`B*nP=@uORHa>+s1RX{=!9Tqw969H{W)yzoWUG?-sM$D(8#LBFY@o{u;#BoIZ5# z$GM3U8#gMaax`Ai^1fZYERCmm&3>7-^|RYD`Ltu_TRb`@m%8`w{TrQ8j~w(@&d=Ch zu!yr@r_mfU*CkU6pU+W{n)^G+HM{U!(3ERoMf3MO?OnUH=HT^HA2%%tnUeXZKJs3` zq^hdyzlE>Y%`6d-ermUV-TJ>F3bP6?o#Rz$F`4q0-Q7Nkts^UGA24;PmbgZgq$HN4 zS|t~y0x1R~10w@n15+RhF*LF=Ft#!<)iyA&GBDr~{&pNiLvDUbW?CgkgNd$zv96(I zh>@|Ckx`MAsR2aC1ha#UKph%zD@rnRQ;SOya|_TlnOd2eL-ag|IJy$3M-rqbI6tkV oJh3R1As{g`uSCz!HAJDzSkF|?!rZzc7O059)78&qol`;+0Nvb%7 diff --git a/indra/newview/skins/default/textures/widgets/PushButton_Disabled.png b/indra/newview/skins/default/textures/widgets/PushButton_Disabled.png index e99ec4b14bfb47d67a3d4be9e37c0e5bfecf2c71..64a9a2d8853fead3e4477421159576d7457ec500 100644 GIT binary patch literal 15664 zcmeI3&u`mQ9Ka3b09|)t5))iZCL|{2_;(sxN!qU2XeBbbE@<5W=!^Z5m?d_w-6idX zmT8A^0|^PCY5xHTi6aLp1ZRZA32_-0eh3LR?EnG^p6&c_zDXa2O+u5NrTqB5@2~eh zU%#*IgRifhd;aL`ld~Mh9bH{1uajS%e4cpp5%Rr1ckMOu^H^u)QowOX9*;f`aqr(a z&T)l`Q{4zRDleFp*Ulo_tKn>~-67UQx6tb#>oN}c8g4jlG4snOpJsT+E@m$36{*r$ z#!Y8s$Hy0T&Q-0Q%a&nh7D}^)o=F0ZnPwPvOi}E1yV#dREbTfT+QTp>$2 zF>UpsQy&#)EK;O7aPGM09N-pd61VtNNGenyYc-dBj6%<^dS0uPoMmeRg#7X{|LjG_ zwY_d|vLHh1QK?6Pa2bWTq)3V`NQNM(RoO6g)zp;dB-NCpRFK3H#He_-Q{Ntsp;hI) zsVb&!q+_HkVGOc$Y!sqHMM>MH;@Fm1_xv^rOHLa#u-I`M1#vW(vK*dJ=CarFd@?Ou zk_+Or;i+C_&)SO4=q1;}0jWcfst>7Byk}3N#`x$!(Q-;?yDW-2RP~)#mt~>3>z^q9Ug_a z`*9ULU^>R}i8c&S15 z%s=$2B;dFQj68iy5Iph5YdQB&g8*H*w+iI)bxqaks$i*_8f_s}K$3z4r6$`N%InzD zNJG8H3gk^m8}!xxr2-M_B(c>*ZUfsTaj>Ytz=Kq@!}Y!YT(rrH;e%bYWdDsf!NFx= zvS}8gyC0J@T(bF5+~~-qc4BOFx+L}+QR8fF#rE@xL=JMBOpd;5S`A$<(OuJO=sNOz z$#ue#($5BlQ(n<6T5=O{fjmv%Qcl-Zy&%G2=&|PXaBHLNkei4gYW*t76#GEMRL4sr zM@3CLrWAe0q*ST<{`k6;jFP7c@<1aFpJ*m7X~PT7{rodp(fy1HVzDFu2wh~j=zM^d z;Q~PDBEv=J1GEem074fTE;=8eWw-zky2xR5A0a}I&0HKQv7o88#GF$)%U1YfEe1MkW0zl{@!$s!Iv=2A zxBw8k$Z*m504>7>fY3#Ti_QmV87=^XE;3wnK0wQG0U&gd;iB^aT80Y%p^FR`oe$75 zTmT4NWVq;jfR^C`KN@G7a1-(AE0Hp01&!J#Wg#6M;N>0#o#V^1Nfus z=sWWEFmJ7_S2%9x8IIe%%5lH{MSg$exGjm}e%jgZ<`ji@ERrc;n99Kq=k)?DNH^kL#OX z@1CDIdvy0HVt)IWuP@xZv%Yu!t-Zaa8$X|ZcW>|Z!nIepIquu*#~xnH{_rtL#I2q= LSN`zy=9_;5ZGiE& literal 569 zcmeAS@N?(olHy`uVBq!ia0vp^3P3E*!2%=?@U&)u1d=_1d>I(3)EF2VS{N990fib~ zFff!FFfhDIU|_JC0aRZwXIG#NP=YDR+ueoXe|!I#{XiajiKnkC`wM1aaY@T}i&eRS zLO(oR978NlFP&uQci2IMHGThdmxvRJ9#=RtCRi}4E?RIpGvnpT9Xz(|4;U02Ta~gV z2n!f}d$)K)F~k2H`^7)~r5iMtpP6CwE_GkUV$Lbg#jpQvFI3@M^ZD@e)4@7^>(Y+7 z&o<@bpHgO7ZQD1i`)fp%#tatOBQYIM4lufGZ{*qZ`_;P@_g%Ip9D diff --git a/indra/newview/skins/default/textures/widgets/PushButton_Off.png b/indra/newview/skins/default/textures/widgets/PushButton_Off.png index 29eeed7c78a18f1363c8879b355143694221b165..113c371a4d58c577091299f010ad906e2000444f 100644 GIT binary patch literal 15660 zcmeI3O^Do79Kcg6TG#ea1QjoaDMGDg@;S3joSCwnY25{x06Sf+rar=$0OE6cdX|j^BfNO25#9-IrryhU*ve(D(B7= z>QddS;$?e!-N*CmrxwihbEaPTL8LUO5-XHOT*HSj_RUNqDZD zn~DiU>3I zY0TA5_R|rmoLde<&k)6Kx0~;(dDm}=vaai*q=otu1}_g zD{@I3H$2v>=9(+f89n8gI3RThGW8)%q-)+CG_*Y zO}aH|XKel(%_PN`Fk4bh+fi-T0QjgH^Z1p~(X_U4U-gh5;HYbqbAz@qY{bNLc$DJq zV<0o?$Q3i%)YvMCBctiGpqst5fIB;(lK2_-?Q?XOu|w+&NvPOr`yhea47f~jh%AZz3cNeUu6O13m~w17>G zG}K*I;HV*KgTDH|R3KuVBsQ0k)52Co94u-ua5oigXMJxMMS~Z^ySr$~{u^zAgUiC! zrdf*aehkuZ$>v9Kqa&BvEo15FlGrasjkCQH+fOPIImm4?Ir^?yHFRB~yJpqUHT690 z*kMKKX9L3-ujm#nxrvx3PZPLOEELp2Nrc1DW7h8B_F~N@HxWV9`c;xC_JNAAj!UVd zqGla4ioRn~s?2?VeBDY$$x{V+pb>{pG+Qod!wb%x{FAQePDTZ>SP}q)E;3wnK0wQG z0U&gd;iB^aT80Y%p^FR`oe$75TmT4NWVq;jfR^C`KN@G7a1-(AE0Hp z01&#!aMAeyEyD$X&_#xe&If22E&zlsGF)^%K+A9eAas%8qVoY-h6@0piwqZ?5707P z00>=VxafRpk=rK5W2{4(fI%^!v%oQMTU#c2WS~C z0E8|wTy#D_%Wwf8bdlkr^8s3h3jm>u3>Tdb&@x;A2wkM&nn>Rf#twNgxJ%vu{x-bz zJ9&GUH>c<79Jl@i$DMzT<8E(~-(NXyMdG-dXF1Mzm%N?qzVp&oCyDLSOl@kR_tS6J zKR$R~+F$+N%|GMa|Mr>b4>va6`ryKs^RHjrbNPpxfBkWN<6)_Glf+ K_R;aPul@rUpYyo@ literal 579 zcmeAS@N?(olHy`uVBq!ia0vp^3P3E*!2%=?@U&)u1d=_1d>I(3)EF2VS{N990fib~ zFff!FFfhDIU|_JC0aRZwXIG#NP=YDR+ueoXe|!I#{XiajiKnkC`wM1aaY?K4RV5o4 z7#Nv6T^vI!POqJ`*NZt&!0r6s&Pg26Go1vKHwx5n2r|F?q@$Vhc5P0L$ibkTPh4C| zX1kX5swtiRJ5yx!%lB(8*S8zr?_tzhCKC{7HZlC&52H8p&Ma>~T$d;laqRZ=<k;IDN* z3j(DXPxIO46gD@CR`Qy0SA1`}v9S>tK&mCK5hW>!C8<`)MX5lF!N|bKK-a(&h(ZjF ztPG5;3{15R46F9GN>lm!hbVl@);+c(%dM9XUhc_mUyOZ{cZpv|_$aQ6p|K zKLe5hiSVl zF~wL~Y%ent+UkSVwsKViHn-F55E+iO6?vVkyTHq`Q*9i>x@eZ6Ij@6d`GO*zEwrT$ zyFVBH@@Z0tuL;aZrGr+nz1c9LJWa=9F=x!>RJA6W^?JQD!_ge)fHNF=n_>uYhoa{t zgY?7+0A1ANs3EJ0&5SEFsx3yb-EJmIAF2C_MAL~BJ;e@Eq~k)AW}OV3%}El|KG7B} zoVYYeq(K-&fMV#-kIm{AZB`9cZ&v$BnU?!a4A&$WOy|yey^%=P)VeXf6(UF>&FZPw zwM7A419Y`T6T$RWcq@6??%t3?nZ@Z9$yEBib`Y2QaWj>qTVg9DSI7tNl`q$TV5nN1 zs)qf^T~^(L&{ke0^WBsHez`)G7_W~noQKtM2npJO<;gYh~TR~_r+-7da>o5Hww zhOq=m&O~AaRY?xDp)ojyce#0nwZ^c_L}S3xkpx4yp(xh5mN=5ghg2;h7=Ae-GyyuQ zH2LVvpk-!yL-FNmSk>TV0l&*fXB)P7B{msfspy8Fh@djyhXYPomUyl}3<<0YI7HxP z9FnI%aCki)(IK%M%efffVm$5y#9+|s-Y0ZG6?zZ zXn`q&U!EdQksxwV_Vk3dxc3P?N0VWb6T+4`=GFh*6j{RbNmU{1aBH?%wk+JZi8fXX zmh~R(5yEn!9YqCA2WGJq+k2`l-M`Z9$@EDSEiZ^>BlC-9Eda?!_ZrPyR@yV=Cih*y z8>5_zZ*lKGN30nrxPnTCO3dm%h^~f=n4p2OCb%d5qRf*4dwZafeYDy0!}5Qy2D;Gt z&sN~ZO6VV~0NRfJmleqDU9nkEntO_haw&V)Q%@V{TYoJVCc3X59^{AHPAY31iVZYVQF5-fj5GU&YpUO=4u7C4K=8pc&s7Nf51Ob9K2`)SzL?yToAb6AD!t+5? zf(rqHHwi90A4Da%5FmJy;KK7kRDufuf;R~+JRd|QxDX(Cli^J!SrcJD< z2~t%1JruR_DT?a44$l`Ts)eDbi;F3WUk~38Ro68foa0}>f)atox88<&a!bE zx|HMVcRl}V$HAO+_S>pEhviQI73E)^I`!IurnwKxZya8J|2NAwZ<)AuL&N;*zqqe=?>xO|cXeLQ?Xs)8<<~Q( zcXdt~81EMJ?nk>@w&oqF*fe+Bmrp-_?T?Q)?;E*ehx*w2i;gNG{gsZ+i_X%q6R)l~ zL0?v`tU2`kRpr9jm*;Kl=-9pLHf3ogCAcks$FUzEnSpIXwe>Tr1X&)uP&C0}f87_F@tGemp$(6Q6)?3C6? z`4?LEUKus#gV-bO=clu^KX3iySp4d;NY|{_KkYs;dELm;5vAh~tRJ{`(71s=K0b(g ZYxKUS?3ZTNn=j&4POl2=n6~)IKLN0b+Ohxu literal 998 zcmeAS@N?(olHy`uVBq!ia0vp^3P3E*!3-p0Z|}Vf5=iz4@?~JCQe$9fXklRZ1r%y{ z!N5>zz`*b-fq}tl22g#$oLzx73=E7e0X`wF|Ns97s=)+Oit}+f5?r7%WXy)!{>|zTPQPfrk$}%!CYFijv`@6fvg?J`L zcqT=-$A{Sjc<5M~0HsV_>|A4l19B3B@{(O+L(Dy$+~Y$7bCZDPxW{&O^p4Wt)hH2ZA^^)oUI~#HLQ(|e4Q*Ke7L!}Rm=>Ge4H%8ye-1L z-QC?qWF)oi%uW4V%mdv`{atk(Ek&dyfq_$6TFT4I%goFSbU9ELPy`dOyT?iZ!zH^U z$S;^dq;B>8ovpHGK79N7_1l-T@{J$gzkd1h<*Roeo43Au_UPfmN6+4EfA#3z-A6AU z-hJ`l4jetdcMFJ~-Mxv1I-cIYbyNG;!~6H{KRU*&+P;2wFB7kjh%n!V<<%@eYZ;Tg z-CY$d@4(YSE|rSfx)aZzDhSjxH8JuzJ>(GKD-`Ip zb>67K{?SFq>xiYt()a}>UClmb?5V~wPq^0yD4uuR7}DnD%BOWzDr9XzK)%UBx4F$> zyP3B}|L5?zdr$hxYpWIZ5`7o!%slt({ek02mJ6>|eeU$z{WofTN7;S*>IdKR z-Pw0+o};eM;ONx`F64;4hPS5Fm0sCZCIMX(1w6qNdACdo{`WS=W7czFZ)^S$ri zd%y3!Z{{*@t{gwMXKvpdLTJzOQf-y~>h$x-1H0+>Vdv6*`tx9K>9mi~Lwm!|F7&}i zPatHxZ#UM0wfakj>2|Z&a+@SO==P{JLgmAQ9yZUDKxmS-?Nld4*j6QTDqolD zy#=yvFKv0`m|qPPbA9}Y_yAuU|>Y}0;TG3Dn!tlye=jgw(XSIyg z+RFCZf~5(@rUdvMQMP0l9H9BSx%NY_UUbSooH&7DUlB85-0Gf zpEA?0x9$e6zwU06a;)AqF|A3xKF&RJzTNK3)PAsdks=r(o$2W}HhV-`CBD1inPl-I zUCNr2=2Q%w zx*B;c9V2B4W6+~x;Q;R_O4>FR$1;tU>veHZwY#`Yq@L3*OUYo$a=f981-IjRbXugU zl%-k2GrelAxe@N@dB-F^t%IMc53N#kW{=?Zh)JeziF+)3GtX#STJGr~-zTC&61ZUXROHBOQX zlcPy(qrTe1o=?KAQOS(j#<&qv)A3b~x{ra)up?K^@K6)0EKQ6i(}HgHbOCpUAda7M z-#$lwoj9z{5QmDawh!XFt)P!RGT)|W=3n|%9B|SDMxK2nD4yuxb?m#SfsZfVT?KY_ zgzlySps)Tf6$n|!iOqHFw24)fM%#8Yu(P7YrJOuZqc$*o{>tHv)SzdV?jszX8QQg{ z#*)mj{aSbiI~$RGQI+XMpSb8XbWN+F>uI)YS`A$j&zBuLsH($kU^wL!-tFW2(MkGX zN~(o?K1W+39EKh%_JDNOYBs$e`C%8y7l%GjG1KvM;uzj)qGXX{N-=bdOO<+rj9Oqk zN*_?^v#~UOIG*Z`*;xY&Gvmg53I*doWp z<^!}G7XZQ*IW9IIpyjv#5Vpv1vH1Wk#|40}MUIQj2WUAi0E8`aTx>o-%W(l9Y?0$) z^8s3p3jkq@92c7p&~jV=2wUX1*nEJN;{rg~BFDw%1GF3$0KyhIE;b*a<+uP4w#ad@ z`2a1)1%R+cj*HC)XgMwbge`JhY(7BCaRDG~k>g_X0a}g=0AY(97n={za$EoiTjaRd ze1MkY0zlXz$HnFYv>X=z!WNmh=91SluVDzlPB5 zJM{M^LK`wdzn%-=M5&|F~~$^Tds%Z*Ly>aPdX|=E2wf>-!tKKB=6_Jay}fr+>Qq%9)>!z5V3J*WbJG w`Rz}?J3y}db@iLQ`~P(Rz7L^0ckV~memMA8|JtQ@XePA0c)a%6k#n#91DU>hZ~y=R literal 509 zcmeAS@N?(olHy`uVBq!ia0vp^mO#wM!2%@h^J=7lltQvckS_y6l^O#>Lkk1LFQ8Dv z3kHT#0|tgy2@DKYGZ+}e3+C(!v;j&mC3(BMF#K=tKeHdmV=wXab!C6SEG#Z*&9K%* z9VoQN)5S5w;`H7rhJLJ$JkImenWC&(UhHHP{ceBgxr&EK$KUvzB(53CDX}|hHwj19 zJ)6qT;Io|NKyUd~>B-txyP~CX-Z0h#Cv1Nv;vr)F-SHPg&USHam&~@!La#-Zw7R)1 z72fTqS+?L*fmQ5`Z&SpUIv#8F|35+Hrq>)FwemWb-=_;>kM7c4&N7LuOZUKy)4Nl= zPaporZZ==Y;l{Tg)gg~fJ$<)`o?>Zl6IR(Rti_m7aQXT%VPT8(Yr*pSuXGl@3cYn7 z7!VAqC9V-ADTyViR>?)FK#IZ0z{o(?z!Zo=42`S|jI9hzwG9lc3=DXLza2->kei>9 znN|tXV4`batZQf)Vq|P(WMpM(0MRhP>|i5Mg9hA&lFZ!H;*!MN0(3p5R;HE^JsZ;Z yeF5r`1nCLRPb(=;EJ|f?Ovz75Rq)JBOiv9;O-!jQJedlLBL+`bKbLh*2~7Zi7{mSzAfUcGI#8q+M+n?e>7^#GYi$CbqG? zo9s$J#k)5|1wynEe?Th^J%U7q5aNKu0S-JRkT`)rz>S{D*v`ZGk{uRpB`#wrk8i%$ z%pMBo!nSkSNyCeGS;@-V< zkmHPZ?8W79x%z}*x~(j-+#1eyS{||HxZ=@{hs;$R@-^JBol@qH53gl-+bU(2w5n9~ zX7GwVyXoW8nKPUYYU)`B(I z(M?CBQf4I#Jwp`R?RK`E%esC;lyzMfB}G&efmjH^h7+QW-~@-0AiX#h9GJfCg|_SP zQCw7W*TPaJ6D8_j-F3CRej+F6vLh754)R1fD~aQrEVJ+9t@+J(YL+SDCT?LT42YjR z*3VmULpNA)w@BGnZ<(0Xq+0Fg9y{MwYi#NuJibm4bdiqr3>G&$EH2={UGq(Re4Q-i z@VM27c70Hsp-7Qt%emu@y@gw(N!;SCkW{Eh)@sc77=^CC=(^2vvdiXs2>F>A{(&Xi zvD|j>U{QqDgHjIy;R*_IS&V#AVXK>}#pt9Gr@>63Nb%@!j`RX(GmHvftr~Mq5F)aGxk@}Ao6M)C zp}d8sG(oG^6rmugl7I?W5pd3&D%4ClhxBAO47(3z)(zdu-VGfswXVoGubYaHQ}akL zRkbD{SuP03v{VJxbCRaj&)1&!cQj7^Rl4{nDYP$izN7Xou zpB)|@)Hd#`9`XYmb&XP{*Eaf%n3(pjV%&WUWJVpiY(|F~TSakbbTBRGW{(zddkB*F zDfg{&v{$f0>kLV#*lOz_fm;vT$j8$Sa%TReUnK#DJz(VVM}pvq4_?#WK@9@5zOxE! z?+ERr0-&${FBOPbCyC7!~=FKMJBQBCA~=s2J;bX5gq5(vB%b*D)zo>Jc(-fypR& zKqb${V*lZIq&xO|*UkJhSkcXl3SzM&00>=VxafR zpk=rK5W2{4(fI%^!v%oQMTU#c2WS~C0E8|wTy#D_%Wwf8bdlkr^8s3h3jm>u3>Tdb z&@x;A2wh~j=zM^d;Q~PDBEv=J1GEem074fTE;=8eWw-zky2xR5A0a}I&0HKQv7o88#GF$)%U1YfEe1MkW0zl{@!$s!< zvIv=2AxBw8kNX0cVc-<5`yCd71S0)vK?N7g2e0cA?5~oA-0vxtBQZ z`VI2?3&*WV9QW(l=p9y$yW4&9=}%7(TXU{5z1aEgx3@l?>E$0@ zyR`3_&c&Y^`+t7*$A=Ewe#_K-AMM$H=fOAZa~XN|$b~Onf9m`m`J4G0m&Gd=KKtq_ z{`~FsxBGRv3lgf2bcf+_OFW*?_K-k(Dg}f>0aUazb}1%jilq|j-RZ&f9&jw F{{Z`#dSCzm literal 494 zcmeAS@N?(olHy`uVBq!ia0vp^d_Zi;!2%@L*j@4mQVPi)LB0$ORcZ_j4J`}|zkosw zFBlj~4Hy_+B``2p&0t^qfZuDYt^+K8@Yw!l6U=Hh=mX|H6XBoBN?aYI@Sf&D+J=`4wh6 z{Fqcf$*8mD!y~`xyXwvy78jC_Tb+J(cI5T1!E$yJyQ2G9(`7ZkR^FU2YjfPq32##TI<$=77(Ipr}eY1^GGI7`QE_rpkr}X8edbyp8Le>5Aj=8`1{+cuW+dt-+X~A*lzVv{CMYY5=q9i4;B-JXp zC>2OC7#SED=o**;QHY_Dm4UI9fvL8Eft7&)kMOtSC>nC}Q!>*kK^jbS4UBaSEklfq zt&EJUObs9!CYT*;1ZvQL+fb63n_66wm|K9Z$JENy5~62A`o1qfJ(3_j!TD(=<%vb9 k42~)JNvR5+xryniL8*x;m4zo$L6O4X>FVdQ&MBb@0O`4`wEzGB diff --git a/indra/newview/skins/default/textures/widgets/SliderThumb_Disabled.png b/indra/newview/skins/default/textures/widgets/SliderThumb_Disabled.png index 5cfa3ae4e1164f9110a595c4a31b7e46f33e920a..fb98907be296813e4bf83848f7eb69a29a6b1097 100644 GIT binary patch literal 15444 zcmeI3TZkJ~7=Wj=YP-;~3Sw!&4rzs!I+;smCYdqGy4|$hWzD*7SDLnhJC`%rvB^w2 zGrP$yN^dU~AFQIFsHh-_AQmsRN)=JI_@XF?E%@FCFI4*|DD_Mxm&w`eais-c&Ok2z z`Op9V=Y0QvE-!Ota$^6+fh_|RMQt1#Elk1RP2p$#I{1Bl`08Q!v!OP6$cJr9;b+Z@ zyEkp6s0Rdlx)hX(52=P*O=_mAgJh#xgS{y#JJhIY#!(Q^Iw;#tF7f-tFA}tE<`M^` zB3G=9fLVKV(E|q-C#H?XqlRK8hVld1h6){2L7>r%YQ^!@MlR9xtHS?bGn=5BU4o;z z#BdmpE)^%~5!VB>l$02Q6L>nUBzZ|xc>aD`;P@2FbF82+Jg2Q(3lNuP5uNr0bPgUQra56IelDU=PM$a00EtIR5s?N!w2W_=acK z0^4=y(66Sub3rbV2m^JV*1W2J)gmj3iY4X{(dcjr6< z?45^G+1_vVfo*k@)8i@BtT=Yiuvah(HIZ4f6rv1e;at@b4`_kwO}lO-A64088zDV1 zLhn3iJEmLrcV$_$cQ@5tN1&huATMx&#Bd73iPOBG@)=bWc5^9}<6=&to`{d4YueUA zA0JXi<;A#j-*uxt@gGvCBvIq$^?wgaVbU?M1|30nPW^X zEu>|W%SgPudS@nY8CDuFf(ZnMON%n2X^PHdQoO*WGcu=3N`GfjYwzsiXmRYqk}MY0 zF~<)yh<2>dBxOTV9B)X1WLb=CSvs5-98bm&(~PK?qRvU0m6oh#o%Wh{nYCQEqqkg# zN#HW3CZ>VHSTYb9T@rOhw}cEMr({{;IXPvDM%#7Fe3|QqJsX}QS|!$}otpm=qK}(p zp+@bn>K1xSqFHqZz_H%eZq+q+{F>(ZAl%P#iS~xpIU=I6Y86*=UsN?CJS*}>xZMCV z%l5Q(ht;vnMjh-v30xKBW#%i#sLuiiw`WDJn!Q$b;=5K**E}#>hO7BscGAdUuLbJ4 z|B|>RIq*pl8SbUosG~jshFAno|a5o^6+HyJ2-ni&ELUp4!{M^7WSu zk9ZZXU06q2bIri>WLaA`a@4;RuEEM&v%ey9@PT(h__R#pYSi=)-ZZX8O}mzlI(Cp3 zTG5c^m{oWWiB8G`@X8GGvLvOXEQ>ay7L#@ZR7wRKo|JyLi|}I0237PmJhYNwOwlro zQWd-0Hn+g26<(d;t)1;$+n4Q*oxST;{^`!>R(eHzkst^Vyhw22`5;ed4 zmNrJGiWIeYA4Q!wO;LZ|fWJRe)Eq}qzsyjS`VvLm<39iRrG2pPt7C=X>Bdh_exDoo z>cPQF*KfQ#_|b=h&)hcduV>$y+5XAL^Ycd9#vUbPdsq-_J-!Bd6rKhg`)i}5L z5z70n{@9wQKX~K%%!O^c(%%f+ar>5M=QsTJ-1xOGsnV6Lm+s9B@h=}+I=f^q9l2}& zoyRA((&H!BZ$A6S+wYuy;>V#Y%?dL cYhP2x-`u%}y72l*I8JJ8??mCfJu|2N0i+?k>;M1& literal 592 zcmeAS@N?(olHy`uVBq!ia0vp^d?3uh0wlLOK8*rW3dtTpz6=aiY77hwEes65fI<>&pIuSy)_(@omq!Frd&cPZ!4!iOZ!EHhLWnU~oNOt>5dId+XMr#jZ&)cS<(K zKVavOjg|eo@m*wVougyHX6F-^JRDYp-n#Nc^}M4<*4H^7b*5|oNID>?D0RYP#zZC# zhPJiYwNKmQ_|5e5Jk2_Ys+o2=0*QMtSS5QJ$w7|FJZ+&M;BCHmN)g|;xRQ9 zWm~?rd`qOb@zK=(-ySSla_nEkdcqlx9j`tN z!R%loP=f~ChLX(O)Z&uF+yZnxW>yA<5IqX4D^f)KPqHS1uA0jboFyt=akR{06??L9RL6T diff --git a/indra/newview/skins/default/textures/widgets/SliderThumb_Off.png b/indra/newview/skins/default/textures/widgets/SliderThumb_Off.png index 66cdcbeb94e0cbba238fd64580c648f5788d4c75..231aead65194ef7224ffd75bf2a40ccc53f1fae3 100644 GIT binary patch literal 16378 zcmeI3O^n+_6vqca5iAr{s#FjctW-!K>i8pHYd1-?BrUrVX;-^jxLb#U~DHZ-fYrNKPW;>q-@^K zy!RjbH}htm4}Nq0=ySWL9-l%8?Vg*hFVNpdqVEIu(Z82wuD(cr9`t5U1_(X0H~QX# z-hJ;egbqDnFD-}5jpud4?PRg(Hc7VE@u)XK=J~nqItmGs`mQ+nt6g^+km7>u9WU5otD*L9T zFVv6phok>hGOaN5bV=%VyV-6o>-sB_qG_5WtCFgU)I$t5oDla!C)l5e40P%wFnrq! zZPyVZUEFln!b&C+4FsS5eRVt-$O-!FC`GA+4n9fO~0b`H7-cD!i&_Q^3og(NX9UB=eZFodlAc4E)8|3gh zy_Nmr?mh??$Z&QTq^SE?q0qJ_=tMmeA&{OuAuQ@i!s0cROm&$;(`!D#q3bWXZo8T+ z*ZIL*2(_B<)Ct=$-EQ!7SsL{ou9=|_spF7TRaq^FvL?#;B}LVhX+5t#Bjn7sbSRuVW+H3#&$y1;i{%+ggX01(E$Qd*=kQQBL$z;giScwup1RR7#{` zugM~TYlU6xlbIE|CT@`6iQx8#QRT7}9UE=?ADDvxuixGbC?%_8P8SWah?Sg3ig{VY zMRQs#mhzUISBsj3jlm4x>I@7wqJIVdaN!y)?5q&8Dh=*v&~O)L%y6A`;@?c((Coyt zNFshvwS2cDV9#sY299!2T6fHTl>vLG5V}HYA5M^`H16WPn#8wnW__lv5-v3tJl zjAT31l4}zr}EC@Fe zUl3Z85xRB?A^ieEkGgNaymf^79-phvEcJf;`rA);UlI1yzI(Ow@S^$A8_J$VW!G0P zO?_BD^Yc&Nyz;(?X3uM%-MjDH#oym~Ve55KltIAzIs~t?u(%ZC+n#e_ z3=E7+o-U3d5|>LSZ1g)6z~JhCzuF~-sfjgPB1_gqJmv}a9|mE!aQFJ2xmR2C6$}eE zJ6~RU)XiBbB7^&Fae(l|igOjk)002Aw(IGc2?#$BWRzg|(x1QUdhYgXO-FBMKj@8j z^KoGMyZQIM1$VVyc~8{}%(uFxxi->6<)zHsIG%6*LPcC$*PgtQozX6T`pD#%x%VTd zYqI{jJ&E@!ThXs21-|O(XY;vueAvSi!{1Dql=FxEA+3^6jcGBUC+oZUMR;Gb;l_h#rM_*DpXlk{~_7`DrEPiAAXljw$&`sS2LCiRr09sfj6- Tg(p)%G0ouV>gTe~DWM4f#udnu diff --git a/indra/newview/skins/default/textures/widgets/SliderThumb_Press.png b/indra/newview/skins/default/textures/widgets/SliderThumb_Press.png index 0bf8e43e8182463493adfdf64b36070dfb5b122a..0fb0054bfbc89dee831c3e7d265a71d6407b6570 100644 GIT binary patch literal 15307 zcmeI3Ta46H7=Vi*qALdRR)28oJxdYNmR&alhO4zqCwH_HMGVx-fanXSyUL)+b% z-6aMgDnuR(K1hrY=#wvAFhOIC@sjmrO_Ug84944o@e+-O7a%_9X*-wB*_q=SNPIa> z=JKEacFy;o^S3WOIkt1hnt?k9D2iG$lFyFA-?i@Nrj_vf{Lqj4;m^&r{63qaZdvbs zR!}dzcn3vEXY`3lXRb zhf<*-Hz7S)7^5?$1?X5f#;BaY(+M%m$D$(7KR^o{A7Ocp6-0*TrD#Ip<8<>1r3c_Y z+0shVcsAEe2c=YK%5iEE%hv1la6J+>tuo7tqR4UrD+mmWp&#GVuQp{mrafi$N!eESO$=*ND716;oNu+-Gqvpu&p-rCq&+?DiP;)p$AN85 zTPhfyflJxkYxRy^>J+CdlB?-EchJ!LxVakN&D#oog=Dx^DPsY}F|7&Htfc*2Hr7H& zXEOA?dv!xI>-K#zi&}R|-3bJ;iUZODC&U;|WVq-AFGze+iVF905sBjhL3~RjM#0qd z(rk|yk+{Tl#RyoUG2qeB6h~QBl%Q=Oj;2Z_)2b>?TCXZ)z}Aei%ytF?mhBBCWz33c z!D)dsFSEUddwOL}b=uw0Lxu`$SO+^$A6O;t%x+i8-J>lIQD)tf3Y|JLaU*%7-8q5_z|GJte4!wX7`CIp1&n09 z`RH&y@ram=l@yMN^012}K~!UsT#{#sQBmU*Ar_A-QExYNyLV>R4Bg7!4DBwpBnq0C zNE8{dl+YL<5=}5kO^q?UQsOjK6oiBVTA>5(OF}9AWXm4Ho)=6^}iBg~RidEKq; zECSxG#x8KUd$dzqudmh=%LZ=ONQGK$quq$1Y5S7B?jtFx+mX|%d#HgXvt6T|X`ycV z(gH3IfgeBM-akiu3K+P~;D_?8`UkPil2cbKFjR(T=3n}iAF$g4jokZ4Ks?^TtLWEI z16!H7whAoo2whtRy87z>QURB>pIDtzj55&DY-`)L29{Sezm(nQsnrISoi1)sR!)pQN2QP+KV*Pt48?Rf4sbSEt|vmwI) zFZXWm-;Z{|2UC!a$6}F~%%a1n$C%y#mC39Q??<-VMR?euJs(uj({W!v$AF^g=$9(+ z2JAf zL9_%H0t7D-TzEc+mf%8w;6;K9&j-;GTnG@nh{ZL~dEFEk@Ey}Se3|t0+uy?%Rw-J| zj~6IvZVN>nJx)QNJE^-(jVwjppe`Kh8nhS4Xl#6OD_`1%B2Ta$jb@dnxstxPHaY2lhO2!+SsF<`>WW`L%p7 zv-rmF2ajocPv3YdH?xHqo#pqh{9@tw{G|`S+VsxlSI*sYWbpW#&#z7W{^WtX2IYaX pXJ5|ckFGiy->~uVzh1vgty?u(%ZC+n#e_ z3=E8{o-U3d5|>LSZ1g)6AmMiY?cO9)w(OM?CTNHXv#}>D`9FBKV0QQJ{A2enwx}OC z>pICzEL%&bW!kOV)2tM+6pUP*3+j-S%eHYN;MwzUr}6m zP~+Rt>&B}&lIBlz5kGgWaf`V9l*VuOZEE#rzTC0J*Zb!E>qhmL=6|c0O19*-P>|JVe4D_!}SbjzZ9!pUs|IF3?tPN*NBpo#FA92Mpg#KRtBcp1_o9J20X&wj-zPE%}>cps|0B<(KRsEHM9&dGPW`@vNAP*XqaGj zuo0+118ze}W^QV6Nn&mRx*jtt14D=&g?QI5Ks}NmJ;C{DCFO}lsSJ)O`AMk?p1FzX ZsX?iUDV2pMQ$dl<;OXk;vd$@?2>{^l)2jdg diff --git a/indra/newview/skins/default/textures/widgets/SliderTrack_Horiz.png b/indra/newview/skins/default/textures/widgets/SliderTrack_Horiz.png index 720830f83f13d9a6249ce34c5f3b7c00419ec039..65cfaf4c623f07fd9b735e918b881a03a6ae380e 100644 GIT binary patch literal 15033 zcmeI3O>Epm6vqb^@sXql)I%!}m9+(l(t7=|_9iyF8-;93B6UNQ1T{HPuRY0{?Ape5 zvYSXnlnMk#I3TDvAOR9Wh>vmv2?+^t0MtVdNF1oj38)Zo1R;g7y&ulo%@EWgE@LU# zee>r3-uO53-umJf=jR?hFmlfbLg>KkOl5(5*2&-Pciu++KX?5g`H$}MW>x}(Mu{GEZjk!Il#mZQcovCPBJ!DmXBG z+Y4>i;i9-k&D{t~*=&@kcXjTo>GcvhL5CfoD6|bvkaD6hOk|lojkn=9;-y)pfE&1p zoiHFeX{gStyP+G@-91wF+_1H3XT;8IJ>{q{Xn>4gt#n=vdW7ZFDgrttgD)?D#yjVE{drj$xINV>RR^d z)<6s*mG!)sj**%PW02CZjL_Iul=R$G9Lv;KUB79BWxHvtVZn3Oib8)dHM4i1^l7)@ z`ea$SEER=e!zopK$n;q!2o1-?vz0O#$l10)HM7QJrJ(WSdBx-nsUYzaSk5c5 zCMlwtk0Dm8Y573tife8}h0+OakqCElO|_0Qgfo!|JxKp!VILEu>*26w^B!z9Nf5#E#jwkk9HjmJ8nmw;RiS> zwo6HF75Yq0EzjyA?2UQHXke!~PHUATTy>YzOvNLN~GlpdI}$JJ3J7 zX5DbsuvHei$F@7LzfDWFa(6v-+rVJ`6{FuDozyNlM@C#Tq-P9_^)n~)m!leNY{c`& zWszLuL4{l$Y1$2?D|Bhv4W)hMdBoe%IbTmT5&WVq;jfS2I{KN@G zHyJKEAK+!U01&##aMAeyFT(|Z&`pMm&IfoIE&zmXGF)^%z{_v}Aas-AqVoY>h6@0p zn+zA75AZTv00`Y=xafR;AOY~5W2~5(fI%`!v%oQ zO@@ok2Y4AS0EBKbTy#Fb%Wwf8bd%wt^8sFl3jm>;3>Tdb@G@Kg2;F43=zM^e;Q~PD zCKcC6|1C}IkXJKXc(zHxsc?{9ME%t95R?FSHg<^n>0?2yl&5ZVwC`uQwE`l|>X za$kPpi&JE-HCvflYJXSz>$3PM8qH+hEL=Et;dAk~uQJbH+4a&!2%>(Ukd|C28CpgAYTTCDm4a%h86~fUqGRT z7Yq!g1`G_Z5*Qe)W-u^_7tGleXakgBO7eDhVff$Pe`Y_B$6n&;>&pIuSy)_(@omq! zFrZMfr;B5V#p%1}7V1H-IxRmYAlB1()`61XiJ3b|5+LHsf)2^>OaY9U{Wyh?|m(SH)ms4!g3N z>oK!3Foft)h>Vp00i_ I>zopr0OR diff --git a/indra/newview/skins/default/textures/widgets/TextField_Highlight.png b/indra/newview/skins/default/textures/widgets/TextField_Highlight.png new file mode 100644 index 0000000000000000000000000000000000000000..71c2a5dbc35e1c239a8416f42d89df529fafd209 GIT binary patch literal 15490 zcmeI3du$X%7{I60s2qqIO(YV{c}k+--ahX3uDf0jp@+8Wm8PwsHAdXqonF`8?Vh(= z?!W*(@GS=GBh+UU<69Af#%NU3NTN~vL&Qj|)WpQ7D8(r8f!5i**WUCxVleTa*`&Sw z=9};PW`5tyxAV{3+SPgCalTW10D$8<+7sOXG@(~;%CSeI|6lLE>j3(hnQQO20GM@> z^VbCKe{e1U@~Gb1XZIy9kySGrR5UXMgT-vlu?4Y3#hjuJLEE2#Y29cI?0@~OfM3^I z1IxuEm&~=nLA`x-9`>y6>{V9}sgf306!*o7GIEfGw&E{lGlnG>TLZ3N8NEBrY{2h! zv4>g%i=BY}zGRob&CEl;7!(_6~o?``x;dwb6mHCLj`~>1Y z^cKr&19Erbf^s+{wFU-lJ14Vjp->1GLP0a1W_d}HSWaLCfk8bOYn5RuMaHnsEIFz8 zNkB`@>p5FD4Zq`8NtwfTYarkRsy^j;WpmX)hE-;VD6&N*$MQjrZDgdWRh!&!KI0Be zQ(2gSS!mc6vf~@tPDMtwkvN{**7_LU36MtUBtDsx zI}FQK&;&XX?s#-Go)&39;v;I9;bBT*L_RDqQdE=}L6rEgs44>yMRHd|y?Je9W!IJH zW!KJBC5=R-hximXbn`#Mzs*5uGJ^zRv%eWor)Y+olOn3 z7+cp`8y0S+Pfg(AAt?Fxm`@+0FbEA&Whl9Fdrj}eG6(E}l81}aXwUpZy(&4Zx4=C& z-Vz9pyYVvm5#+#9RvuXf4sQz`SqAFr>i?1fhjl5iI;a?FsKwdJvaK{6UeZdbtlv+S zGB9=j#heeRjP@>CM~b^=P@}pu4!o5 z@3BOmKsTCe=uwmnOS$r#A>A5SYDFhhbU0?Kr{gK*v0A+T%a_`W{!6czFB${`LKZ15 zG9OG!abZBnBE?1KgJ~%)3Vor!L$??281k9 zTx33&mg2&IkVT4%%m>p_To@3tNO6(*U|Na`140%lE;1iXOL1X9$Rfo>=7VV|E({1+ zq`1g@FfGM}0U?VN7nu*HrMNI4WRc<`^TD(f7Y2kZQe0#{n3m$gfRIIsi_8bpQd}4i zvPf}}`CwX#3j;zHDK0V}OiOWLK*%D+MdpKPDJ~2MS){ngd@wD=g#jUpL|neweN$+l zOQr>Mn^c?qQUu*Z^{egONdQ*Q2jJQp0QhYZ{eBC;FbBYQSE5U-o6t>Hb7aMP7ocme zYDZ#mZ*kAQFW&B4&z-R2fVrT*BR1E(V#AiL$3OY;4r}g~FE0sy_2TW%-+bdOH-VcT z)4rL!_~7o7_niAl=NanA=|^p!|LijhMn50ie9y>^J&)hh`A~A(=xaMKZ(GCsux{sE zYi#l|YvO@FJ{&V756#A#ss?$OhJodYIb`~BvwyJvv4&D-apUf-w*XaF=V{|^5lY#?%TX?Y-FgAzjMvbbsy|n z=sR^u%SC(ch5fsR*PIofk={0T{M)HJ_U6~llbT=MxNWE~^Ts!?I%Z=C%-cJD(QPC5 oA1rMAncp>mt`1L5HiHM=cy9FP{p&Y4w}d;Eb|zj}a^>}Z1GRnkuK)l5 literal 0 HcmV?d00001 From 6c00bf01c01608ec6d9d5e66d14f1a37088c0d06 Mon Sep 17 00:00:00 2001 From: Mnikolenko Productengine Date: Fri, 5 Sep 2025 18:12:37 +0300 Subject: [PATCH 007/248] More texture updates --- .../textures/widgets/ComboButton_Disabled.png | Bin 575 -> 15356 bytes .../textures/widgets/ComboButton_Off.png | Bin 583 -> 15127 bytes .../textures/widgets/ComboButton_Selected.png | Bin 630 -> 15216 bytes .../textures/widgets/PushButton_On.png | Bin 835 -> 15296 bytes .../textures/widgets/PushButton_Over.png | Bin 589 -> 15808 bytes 5 files changed, 0 insertions(+), 0 deletions(-) diff --git a/indra/newview/skins/default/textures/widgets/ComboButton_Disabled.png b/indra/newview/skins/default/textures/widgets/ComboButton_Disabled.png index ebeb81334942b88dd20f9c60a14155698709f1ff..5b2bc7b16327f426d6bfb1b5fd25798c4ab49b62 100644 GIT binary patch literal 15356 zcmeI3U2GIZ9Ke@|39Z)P2SOmoWl>Sf-tOMr-gP&3SK3~&C0s3~hE@>S+nsAy?sm7g zd)&1zqCA*tF!6%`1`|V5o)n{qBoe6@K-3o#eGr2rCPpJs(FbBMCOEtIwKu(vHIVo+ zn_ln!^Z%Op{b&BWFFV=a_h?J=@@9&nT6%jD1MvG^_*uGWA^bo6ePIdwYBGC(=;wuy$n$G`0gex{JjVt^hUcYFMB>A~@iqWICZAvU#C=~pKpx?-iu)HXWEEiw{0R~zy*0^rVMMk$)mx5H{ zB!H#lG}G1$-RH!WQ%2s7(X^AOdX?9eHLHnqtIQ5kWQ(%N@_vqORKR>kZlkTZ~=kgM1~Uv`JfaOB_Y(x1tpI21Swe} zF_MO=rN?K*2uT6>CwOCcEYTS7=%}(S&nt@8))Plnq_mOC%644K$|Ha^^^quB8}wLK zH(2wOb*sbM^$EHH_zocjo zW>%^m&8h7;0^X^{W-wMiTC1(wS4}x*0jF!k=t|qDHezU6y`paSkz~c`$Z^Fv)Ig20 zb)&Uup>Epj0?rRXDZa;j?i__tpyN72DU@q9cM!`++XXoXI!54``ImlG3Rv%fMs9p0 zARhPNWwaZpfhF&{u?o!Z2;E2pkiPoARKQ_fO00~^`Up_tY-QV42Ig0^QYq`tQ>6{e zK7Uc?Mk>Lx3-^)io*CG+XN}b|m+Xg}GnmP{_K^SwFZjd-ud=IGjk*rwUA=15wdVP_ zuG#TGIU6$U@pA6=rTful_+Sd+VL=EAQ5GFWJ^HmG$P6Vkct5h7E)sy5Tpv`?&~ez~ z81y=N6lKR!sXUL6ZVN1p!Ut6NY|K_4j%RhpYVW$4KWZzwnNg8gBnbipFA`jMK8Tj! zLV(~!f(y?F(Gpw;5WGlm;rSq1f(rqH7YQyrA4E%VAwcjV!G-68XbCO^2wo((@O%(0 z!G!?9iv$;*527Ww5FmJw;KK7kv;-Fd1TPX?cs_`h;6i}lMS=^@2hkE-2oStTaN+qN zT7nA!f)@!cJRd|$a3MhOBEf~{gJ=mZ1PERvxbS=sEy0BV!HWbJo)4lWxDX(Ck>JAf zL9_%H0t7D-TzEc+mf%8w;6;K9&j-;GTnG@nNO0l#AXHX2=ve&xGeQ6P$@Z~3pLn}SO)vd@-Tu~l=u2H!R@$E|x&P>gFLk!ki{3rC z{N-bXZ(28=xWLZ5aV_2SRS&zGJJXcOcZ=K^%-p*-v8^$Un0vk9ayvX;uq6&Ve0tU;q#M!o$@s`HFf-U zJ7_ub=aCn;7eBvi(RON0c*nML=GX_@R$W-QqUp!xJ=2#yw$|b$|n6oR;1}MRl?u(+f-r!)r- zQ0Skhi(`nz>8XTs7Pp|N8@H-C@)dWsunWW`DSwkn z@)4}H-rqZExG2-Q5?ss}FP_cH`!#_0_Sp1f+{&)L8 zWVhif(}%CWA2VUux4}Q!bNb}poA>|Aa(b-Bd{Sxc)eS~G$q{Q`drol4xw62iIV+g= z;5FX3p6$5;F+msSq&`^G@wZg3&f|Y!SXYS4ro%yZXR=pc<4d0>_I!QVr^Ly-Hs78; zn?HEDhWj(_zYMz@x_5HF;AsPfgldUvL`h0wNvc(HQ7VvPFfuSQ&^0gxq7XwPD+6OI z15<4S11kdq9^r4tQ8eV{r(~v8f;5=u8W`&uT80=ITNxQynHoSeOfWmx2-Khfx1l66 zH?_DVF}DC+kExX@)ROY!R~mqNBtd$D^V3So6N^$A98>a>QWZRN6Vp?JQWH}u3s0tk PVwu6y)z4*}Q$iB}L~GEz diff --git a/indra/newview/skins/default/textures/widgets/ComboButton_Off.png b/indra/newview/skins/default/textures/widgets/ComboButton_Off.png index 4f573cf6fa62c6e0fa04433e480a4c377298a5c2..7199470307ae3e5fad85b336b954e1655515ab0c 100644 GIT binary patch literal 15127 zcmeI3U5MON6vrbi+jhIvO4Uw%F{D+t*i1fVvbza0Q?@(X?rNv5+bP{D=w^~TJFzoK zOtPKXMMNtWR;!|-7SR_)@Ii$_#RtV!p%tVmT2Lt!?1K;5Lh*xQ3wFH8d}Z&79|JK>^&G59s9@*nk z)XFvf=Q`@u*CG@pe`RDRyotlJ#cFyj|YO{MaS!Xt^XtMQ^h_sda1ipzqqi57Vw#tA$p%B&zL@qR_W1GEj-FS>(_8E5pp|3_o@Xl@S1y;MCWsVm)QDor^)}1juwZfY2`dW}i zoHTGX$FM!aGHE}qnzN?8B*XZLnn(SDJjnid;ptIU&k(okY6U)Y#KbF}O5c z<3JIVfa$qVCv?==1V*_p+ zxYo3zf#H4dR@QgAd(X(X7H3{0-?QMggNm_$%=gq}!B(iPPy*hoGUNc&vz)AD6;ric zHr7B$4-L`1yA4yf%I?Mlht6&-bt@1^s~$*+yeP4}%<@uJh$%5yk>YpqF@@(tL25IR z7#T}9@-rP`NO46F!!bfL(HO9Fbk$QA6(u}36i3&TyycWsFJ+X}DZtt0RDx>_hGsT5 zlrm%$EeBo}NC^q9({M-?Y%*okbUoG7z-T%J2cm|dD}YyJc|g!uKCkt$1M#@b%6+QN z=713E*Tn%z>Wc*sGnufwEp*z_ru{;xht^?eP2gh#K+LnUE~~5t;u4z^`z1Cm#3>}iUg}%ozV3Sjep*jB5|JxKD!nCCtFC|X6;{6?12{8|8df}1zmx~!(ME;HH}aB-At@k8>3bCe6f z#1&L6R4{AdAg-17%Blkfr{JFWhcd4PoUcG5Cpf?77mfd54P15K)vdtdO6clVU|u`= zUsj;CceR3QP60i|HMVVIU~!99Tgv(M)aWqn^_TE}e-v1|a385b&A?{YHrC2qn?K># zU~xK_-!Jm;fDbD0s7u3cRJsQ*4ZBfkOS#K5yp&kah75;P{*Pp>jqildb0F0xNiiwG zp~I+R%&36kMB0G;*7duH2r~s5)X`D6CnSXZwcZMmg`T{E@~e%)=Q{XE$u*xT z+bXl!yRPMz)*W5Ts7Nf51Ob9K2`)Sz#7l4?K=3BPh3A8K2`&T(-Xys2d=M|eg#f{u z1Q(tU;w88cAb6AD!t+7A1Q!AXZxUR1K8Tm#LV(~+f(y?F@e*7J5WGon;rSq5f(rqH zHwi90AH+*=AwcjZ!G-68cnK~92;L;P@O%(2!G!?9n*v&umA4wZutHtt&NOlC~Ee0ihAq`in>&V z=btHRny08=CMile1m6#}UU=~MRyg<5(ez-payq9MCh49l{2B25+JoC-(Z$EYK4=1ySe_VfRbJy}srTpq+7Y4t6`K6wo zgYfUCm64uEWW|$R`*3eH-(aGy8KNZ`;s&F}dYP t?)4MH&qbb$|n6oR;1}MRl?u(+hf%q608 z85kJZJY5_^EKX0IwAahoQJ{7I&7LN)m2X^+sJ*b}xVEo_bIFzsTQ_X}Zn&oCY1Hi> zTw+R&AC_M}7UQ_HJYA<}M`z>icbU`X_8&eoQ`9fRo;O+VudjdkncFWwr!%BvqJuWiaGl*?c0}hnTfpZzCI@7$Y+{>psMnmc zX8S~@=CkWnjP~{Ovf3hTQy=%(P071`}NaV_ieb5F=wNBO@zQ1BiwR zW(OOA8Z_WGlw{_n7MCRE7NF}fwK6q>=yB6OCkxag3DOgspH@e&JS diff --git a/indra/newview/skins/default/textures/widgets/ComboButton_Selected.png b/indra/newview/skins/default/textures/widgets/ComboButton_Selected.png index 1a834bfbbc7bdb5c853200759d245e54b77ea492..715b401ce5c3d05e8ce5ef75d312665aa42fad4e 100644 GIT binary patch literal 15216 zcmeI3e{2(F7{_lq`B6in0fxV#O$l*?wRhK_>)Do!b+APW%NWr8A?$khwmoR?O7BX$ ziDZ$8At8~#A1GNuL?EI>hY^%O_%S011|?#m32_WCL?H(M&}bHo`rh@|?Opde1IB;e zOSblTpZEJb?|t6)d3yicj?NX!W?7!FP!u(*qdnXOKO5lRyczZI|DhZCx$t9VroBg{ zsE23ke|6Np!N(}de_85|YSGAYPEgVgUQ}YhQAlUtY>EmjE@XINBhaidkdWk{?Wa>` zZB|JP+SYm^OeE6^l2Utr7Od)D(Jl0E6#SxXamW%Va4{i z(>ALyMcWv(wde`0(MYGYRmlRY$KkOHjFYwc{0`RR_Ooo0)yc3fnq_FG-_Ej}+sCn9 zYw5CuEbv<(E5^C5@X}H`Xa#LaP0MgJozLeTd6z@UCTQ00_tT7%b~^2FhF$HGHNIe% z)%nFBM}`1Q`Dp~Ny>_Q(!_92B9Th&n(IxcYo=DUw#^Vh329BG z+TE7{bQe&STvh;Wo8hg@uXXpD6t8a1xJbHZ(zSzvG>J_26lKOyDDF@I-YeId1-zzY zyA>rBDxR{=GD2%>tF>{hB#TO3T^OLz+10JC1_EJT10g5l^w=4{o$++DF3#oWJnlt| zi(?p5km5`vMnn;%c;AE=ZjSMAtlu2NG!u;hOGo52eo9fyb4_tXfr~5IG_QrEG@k%; zMot9i>Y!<6@JVnXO9U!uiYDq0k_ZPatdtRfEbCGLAu&}#vR0eakMby*c#l7MI8AIiKKaJ&MI9H8}{pOXHAJy7}0 z_qYR7DxrJX0i+%MFFQ~@yF!we6F>~nZ~MmG z{EDOSxeh*3(v@e*36)vtUH9`#^^WdmR3sKjf&jsr1Q(tU;w88cAb6AD!t+7A1Q!AX zZxUR1K8Tm#LV(~+f(y?F@e*7J5WGon;rSq5f(rqHHwi90AH+*=AwcjZ!G-68cnK~9 z2;L;P@O%(2!G!?9n*HAj4NP^Y9(ah7oQ6zQ1V|+PfkY z)xUtE2DVYu*kADTHbvzain`NFQQYhB{ZM81`cIcqRNa#u;g;^g)t!5S&p+7m$oA1U zUf6T}_Cq&P>H70mu6;55+4?;fhKGko`3DvrZE8B&b@0)quAaumR(9eu_jJLA8B zO*g6Nk*1eUJbvr!@lEfa-aftgE$0??pW8C0aaWfT4PBhk`_Ao;Pv^o*uAE(R>Z$&26AEZ_b1y1n1c{_{o3QkOhDx;1wRBBeUoR)pVM();q?&$Of^ literal 630 zcmeAS@N?(olHy`uVBq!ia0vp^Vn8g;!2%?gJ}egnQVPi)LB0$ORcZ_j4J`}|zkosw zFBlj~4Hy_+B``2p%>b$|n6oR;1}MRl?u(+hf%q608 z85kH%JzX3_EKc`M-0Q_0DA0O-ueH;a6h(ZyAg zgqUV|F=d_MpZ(^{MuR*jrRwi<@_tx+eqPYK!RSlD`H9&)-=9qsTXfFGs8%Az>+jxQ zp`OeK1EYT1^`29aljV6FDd@H0|C}3&{Yxi>rGH#vadS^%*k)P9t5=w~XPsWes=(H& zq|(YLFv+AXVG_%c6;~A2m@q90NVEJ?w54y(m+%ct0<&g5<-T|A`orCE`xahgurCib zKX>;{+K=MRyI1+&y~B8Krulm9?ZWQv$ICXweSOCB;h67sp$$`Wt}`<7%(mZIdFvM! zgTszJi671}urM^e2|84N?8dZ*<}+1~FNptP^!BAf*2mRLrrw?9)~a!4`EU92&-*XE zZ<)OJSbq52?#ATBXJjH0cz!c(EPL={YJGGsFicfTTq8IB diff --git a/indra/newview/skins/default/textures/widgets/PushButton_On.png b/indra/newview/skins/default/textures/widgets/PushButton_On.png index 65d92a9d82fb5a746c8c8e19af0fcfb1db6c35c6..db70f75dd6f8791f69294614c50fe1c3db15a9f9 100644 GIT binary patch literal 15296 zcmeI3U8odQ9KgqqBsVWfDvE>*dl9mnosZqwxijppT<>c4l53aihWAq7ot-(mcXD@T zo0)a@-j^(k=q(H)OGHfxq6ER06v`J1M52d?D6j&1Fbt)aFbF#{v%52UcJJwyLN8}v zKmO*F&HMLn|4 z`z)j0JHCmcly{Bdv^!ncqi9wwq3Tu%BwDpPw5F)cj#gdO4g!}hfr?>fu!6uq3&xo@UA4uS&TtT<6DJQG z%{J<;VVSfSS1nl$Hye+8iMm&NUA1~Qk?FMAL5gfkt+RZBV+T3uTGyxEu&e&mbd3d7 zPy?pxKtFz`;CySffvFvL*CB|YjdY-=Q=G2@b_zIF z!`8sALvSg>gI4bv<*+zCkvz?!a|bPB5jRg0xcOTls89y3RT;B^>RNWuvZ}dYmrZsM z(qm)v6Z;KQx0=qj42xQar49puyy}9SzzHJ5$qbh)^0Fc(m6Y%lmsB_|5+txhViYXh zD9`uC5Q}_L5hR5hiN=UnqA}pn(N$MnQk1A|B#y2rWy`LqZqBHw6~NZbN`?&wBbMC_ zrHols%ZAeexnzbNG(6BNZ)pv0M~|8sa9|yrNPS?H{4={#t@Ms|6jdV!i;~a{UExQ7 zu4{UU;WQO6yp#frtnv~ABtBIFBO1p8DZ_dv6*`48@gn)7y*Z)_z|GJre4(IBn2xK$ z1x)1q`516M=`=`6fD@TgniCk1OmU1X^Jzv%a-dWykBoqF+TRVm?%~YZp*z{zp}nP+ z%91GPyvQVlQi&0zl*GuI4na>CW^Ox~% zqzXK{a387unc*{R-&mMAu%GtMV71}fO9BTk_{0UTwrf<4y3XKTqiWPO^nA`V+?>$P zh73o%yt{pHKiUT$OhGO!ib*lUqQj`iq|pM^>AV5&M~>G;k}#9+gDM6(&V-Hv?7yL7 zMA3E(N)>s8^jlys3LjA6voYI!IPU9?-QM*e|AZ@gkWrCXBnbipFA`jMK8Tj!LV(~! zf(y?F(Gpw;5WGlm;rSq1f(rqH7YQyrA4E%VAwcjV!G-68XbCO^2wo((@O%(0!G!?9 ziv$;*527Ww5FmJw;KK7kv;-Fd1TPX?cs_`h;6i}lMS=^@2hkE-2oStTaN+qNT7nA! zf)@!cJRd|$a3MhOBEf~{gJ=mZ1PERvxbS=sEy0BV!HWbJo)4lWxDX(Ck>JAfL9_%H z0t7D-TzEc+mf%8w;6;K9&j-;GTnG@nNO0l#AXnm^R_dq=~h+ zhvAE;v^G9fps0nd6m|FrMcusze{WJ$gQKWlXT5h=;ft=;(F0d@L)+66`O#wQ`&-|h z8d^TOe&yH4R;*tgyY|cDo6o(r?)?p^^M#MU+r0LNm4%aQFHl<=@{vnFjc;1Ndc&<_ zJBF@3^TnF2uiUu$`ZpiUCO*`LjpJ{>aOtfr)VZz85@$}_cqeh@ynFY+#n`$psa4$J zWou@s6`M|eBwnB{Zo5AD$*HqvX1@AV{_(^gM}K?cukuFi*0!6{mB%ihzPx?;omF>! jzy9)PaC-Odt)TWi|K!y_uRaP_LQxaD_U6y+oPG6g^Iwx3 literal 835 zcmeAS@N?(olHy`uVBq!ia0vp^3P3E*!3-p0Z|}Vf5=iz4@?~JCQe$9fXklRZ1r%y{ z!N5>zz`*b-fq}tl22g#$oLzx7K#8{jJ|V9E|NjRvF@dS0ZCP(i>w;-DQ@eq(%*@P% zz0GA)I`jLQb9)=}`kH|3g5GAJI1>|7;l!4lo`&r1dLX-?zd5t3Hm|QSqoW2WlG;|8 z)m59)T9MvSo!C^G)?OLkSd!dY5mR3jQJE7^oElY|A6%XpS(6`BmJwN<7g(AeQJoh6 zB&%`*O47nBbNq`_!zy$9ic z%$Vfu?!wT)D(eB{u$OrHy0X7u78aMZDqmHy5h%35)5S4F<9zLb zY8x0>85r;ge>;w%AvZrIGp!P&!9>@1&;TyJjV(FhUX>GFY!J)cep~8 z@Lw>cMy0OsvRpbS)w>2vGbyobI-Pc>J#IbK&+>slfaL^M5Ey8|7{duu&M*mMksTx- zCkzZFr6o;GPtaCexlbQ7>s>A@QQ^p~E1oPQN*FnIkRqFrlPvG%*m6#)Qt(L*refKt zsR|2XAPy3y0sZ*0e#rsd)Qtgsl9UDYq={ioB9TJwvh$6{%ceHW<{^k6hqSDx(LJ05 zY!@)}!IT1;hu~5cm0P{3MT^BLiDYReojb^Alek$L+bw%4*cA%GwMtDXAe(xsTi0VD z`z-6sBcz*}=(|>H2~|%UcL!P2x>)LBAP|;K5E3}S%WwgP^K|n8$?K6s;U3N-ahxNF zZHdH)=&BYSE{);s<^{>?lRS0K7!FG`2HZNTY|2xL;3|I%lQ6E^P?4E6u`%6djikKFH zMRBW|D)F4c_4#-&)5irwMvjU;Mh*nLOceMPMHPH9FZhD2wNs%}aVA!z>}Y8Y=K^pu zvneD+-EsV~)@nZtcT=#G>IyR{s1*!(-1c8W4#CZuZBtlADE;H_$`0_#ghi?z-6 z)ufyjo!48$RnmmZ1N6oaH0uB9e&-_EbvICZSppnaO35X}V@nYIl)WDF3uC4;Ux~S+8 zqaH@_h#rO);g`$_G9&cyswmfafg-|&dX*KZlQ=QoSO1p^Sgh^D%7C2c2Wp7TFDgH9 zJr!+geeXXPZQ{l7`YxKi|4N%+{<1K!X$Gyk9|<;GxcTL5ql1^)31h|6#kTLU8fR=U zYws60c);6ac;sB2YSeWN-qoo_U5lRgCNwi7?G za7im%aIWQ_;)JAfL9_%H z0t7D-TzEc+mf%8w;6*I1%Hli1AOT+tPQy2Vzn@=Yy@pIHtz8j{8o7g_HgBP*%YVV& zpDAjPqo}jJ6eaC|Zzt1q^~>A#EuY>{-F$N6w)ykkZwxP_V~RXh zeQ{{h@AqAqHMBshSlP3;`PeTf_Mf_Q_k!_5-&CJJ9z1bt;LT0+GvgZ@Ph7cp_LfTz zZ+K+dM_Vh7KDwoH#^&Ac9`wBN{DC81tTi@ne`{Zj`1rZg0|$;(C}S*`n5(I0?fg$)feWYFn%l##H}*dCH_X#ER{#J2 literal 589 zcmeAS@N?(olHy`uVBq!ia0vp^3P3E*!2%=?@U&)u1d=_1d>I(3)EF2VS{N990fib~ zFff!FFfhDIU|_JC0aRZwXIG#NP=YDR+ueoXe|!I#{XiajiKnkC`wM1aaY?K4RV5o4 z7#MjxT^vI!PA{Fb){i+*pmqOF>)B=wVT}rmECF(iGRrvE)y|Bv;kwt%?vSiCYl1?d zL`3Jq{Mnc0T6Zkv{C4l$lT*d#Y}5M~M8#zSCYtG9X1)#*AA=KPDcVH+j{)-p5CR4lYU+Y;XOvZb|1H45)a6*ea+$UP@8+FVj0W*O%rUIwryUJHd8a}`=aNfoQwW{Rrt)Y zT5iqv<_Vhr?AuLsTUg)C6#KA&C)CzlP`%dmS=ine8CKSox8IAt{FJu2%0yIu-S>6p z?w8;0HL2L}>g%Vvpl;`c$woir&P~#Pq|ekiLB^t6R|FVTswJ)wB`Jv|saDBFsX&Us z$iT=z*T58rLJWtN!R%loP=f~ChLX(O)Z&uF+yZnxrdFmF5Itf7TOELUBtd$D^V3So6N^$A98>a> fQWZRN6Vp?JQWH}u3s0tk;+( Date: Mon, 8 Sep 2025 19:12:05 +0300 Subject: [PATCH 008/248] More texture updates #2 --- indra/newview/skins/default/colors.xml | 2 +- .../textures/widgets/RadioButton_Disabled.png | Bin 606 -> 15444 bytes .../textures/widgets/RadioButton_Off.png | Bin 628 -> 16378 bytes .../textures/widgets/RadioButton_On.png | Bin 679 -> 16857 bytes .../widgets/RadioButton_On_Disabled.png | Bin 652 -> 15907 bytes .../textures/widgets/RadioButton_On_Press.png | Bin 688 -> 15781 bytes .../textures/widgets/RadioButton_Press.png | Bin 666 -> 15307 bytes .../widgets/SegmentedBtn_Middle_Disabled.png | Bin 454 -> 15261 bytes .../widgets/SegmentedBtn_Middle_Selected.png | Bin 524 -> 15265 bytes .../SegmentedBtn_Middle_Selected_Disabled.png | Bin 613 -> 15279 bytes .../SegmentedBtn_Middle_Selected_Press.png | Bin 728 -> 15359 bytes .../default/xui/en/panel_navigation_bar.xml | 4 ++-- .../xui/en/panel_preferences_graphics1.xml | 14 +++++++------- .../xui/en/panel_preferences_sound.xml | 2 +- 14 files changed, 11 insertions(+), 11 deletions(-) diff --git a/indra/newview/skins/default/colors.xml b/indra/newview/skins/default/colors.xml index 5a74291f655..970b5a51dee 100644 --- a/indra/newview/skins/default/colors.xml +++ b/indra/newview/skins/default/colors.xml @@ -377,7 +377,7 @@ reference="Black_50" /> + reference="white" /> diff --git a/indra/newview/skins/default/textures/widgets/RadioButton_Disabled.png b/indra/newview/skins/default/textures/widgets/RadioButton_Disabled.png index 32ec25fe0e2edffffed0f88044c38972dd417723..fb98907be296813e4bf83848f7eb69a29a6b1097 100644 GIT binary patch literal 15444 zcmeI3TZkJ~7=Wj=YP-;~3Sw!&4rzs!I+;smCYdqGy4|$hWzD*7SDLnhJC`%rvB^w2 zGrP$yN^dU~AFQIFsHh-_AQmsRN)=JI_@XF?E%@FCFI4*|DD_Mxm&w`eais-c&Ok2z z`Op9V=Y0QvE-!Ota$^6+fh_|RMQt1#Elk1RP2p$#I{1Bl`08Q!v!OP6$cJr9;b+Z@ zyEkp6s0Rdlx)hX(52=P*O=_mAgJh#xgS{y#JJhIY#!(Q^Iw;#tF7f-tFA}tE<`M^` zB3G=9fLVKV(E|q-C#H?XqlRK8hVld1h6){2L7>r%YQ^!@MlR9xtHS?bGn=5BU4o;z z#BdmpE)^%~5!VB>l$02Q6L>nUBzZ|xc>aD`;P@2FbF82+Jg2Q(3lNuP5uNr0bPgUQra56IelDU=PM$a00EtIR5s?N!w2W_=acK z0^4=y(66Sub3rbV2m^JV*1W2J)gmj3iY4X{(dcjr6< z?45^G+1_vVfo*k@)8i@BtT=Yiuvah(HIZ4f6rv1e;at@b4`_kwO}lO-A64088zDV1 zLhn3iJEmLrcV$_$cQ@5tN1&huATMx&#Bd73iPOBG@)=bWc5^9}<6=&to`{d4YueUA zA0JXi<;A#j-*uxt@gGvCBvIq$^?wgaVbU?M1|30nPW^X zEu>|W%SgPudS@nY8CDuFf(ZnMON%n2X^PHdQoO*WGcu=3N`GfjYwzsiXmRYqk}MY0 zF~<)yh<2>dBxOTV9B)X1WLb=CSvs5-98bm&(~PK?qRvU0m6oh#o%Wh{nYCQEqqkg# zN#HW3CZ>VHSTYb9T@rOhw}cEMr({{;IXPvDM%#7Fe3|QqJsX}QS|!$}otpm=qK}(p zp+@bn>K1xSqFHqZz_H%eZq+q+{F>(ZAl%P#iS~xpIU=I6Y86*=UsN?CJS*}>xZMCV z%l5Q(ht;vnMjh-v30xKBW#%i#sLuiiw`WDJn!Q$b;=5K**E}#>hO7BscGAdUuLbJ4 z|B|>RIq*pl8SbUosG~jshFAno|a5o^6+HyJ2-ni&ELUp4!{M^7WSu zk9ZZXU06q2bIri>WLaA`a@4;RuEEM&v%ey9@PT(h__R#pYSi=)-ZZX8O}mzlI(Cp3 zTG5c^m{oWWiB8G`@X8GGvLvOXEQ>ay7L#@ZR7wRKo|JyLi|}I0237PmJhYNwOwlro zQWd-0Hn+g26<(d;t)1;$+n4Q*oxST;{^`!>R(eHzkst^Vyhw22`5;ed4 zmNrJGiWIeYA4Q!wO;LZ|fWJRe)Eq}qzsyjS`VvLm<39iRrG2pPt7C=X>Bdh_exDoo z>cPQF*KfQ#_|b=h&)hcduV>$y+5XAL^Ycd9#vUbPdsq-_J-!Bd6rKhg`)i}5L z5z70n{@9wQKX~K%%!O^c(%%f+ar>5M=QsTJ-1xOGsnV6Lm+s9B@h=}+I=f^q9l2}& zoyRA((&H!BZ$A6S+wYuy;>V#Y%?dL cYhP2x-`u%}y72l*I8JJ8??mCfJu|2N0i+?k>;M1& literal 606 zcmeAS@N?(olHy`uVBq!ia0vp^d_c_4!2%@fWX=8qDTQQ@AYTTCDm4a%h86~fUqGRT z7Yq!g1`G_Z5*Qe)W-u^_7tGleXakgBO7eDhVff$Pe`Y_B$6n&;>&pIuSy)`ss(e++ zMg|5(Sx*KddGCH6W{O#*x>1O2*{4tXPOb?mTMQO|^X7fJmPtD7sM57fBD}5K+Om6j zSyMbEyuK`}jtujebL?llsql2sy*`z-Tg>0RWA7B3!@ibhXZ4Cpzi+EQJvi^pzAcm7 zRwXkp?TL+hvnS3zSerlL{N&ZoR(uq6h{zRNez|*&)Rpfo#}Y0yI19)e5Rcf^vrooP z_AM~%R7+eVN>UO_QmvAUQh^kMk%5tcu7N2Kg%}!H85mm`m}(msSQ!}b2!A_{q9Hdw zB{QuOq`^ejz*yJNGQ`N(%E-vd)BvJkg4w}Fpau=N4JDbmsl_FUxdrHYOsz~UAbP|E zwmJayNP_eP=ckpFCl;kLIHu$$r7C#lCZ?wbr6#6S7M@H6B?1OdS3j3^P6i8pHYd1-?BrUrVX;-^jxLb#U~DHZ-fYrNKPW;>q-@^K zy!RjbH}htm4}Nq0=ySWL9-l%8?Vg*hFVNpdqVEIu(Z82wuD(cr9`t5U1_(X0H~QX# z-hJ;egbqDnFD-}5jpud4?PRg(Hc7VE@u)XK=J~nqItmGs`mQ+nt6g^+km7>u9WU5otD*L9T zFVv6phok>hGOaN5bV=%VyV-6o>-sB_qG_5WtCFgU)I$t5oDla!C)l5e40P%wFnrq! zZPyVZUEFln!b&C+4FsS5eRVt-$O-!FC`GA+4n9fO~0b`H7-cD!i&_Q^3og(NX9UB=eZFodlAc4E)8|3gh zy_Nmr?mh??$Z&QTq^SE?q0qJ_=tMmeA&{OuAuQ@i!s0cROm&$;(`!D#q3bWXZo8T+ z*ZIL*2(_B<)Ct=$-EQ!7SsL{ou9=|_spF7TRaq^FvL?#;B}LVhX+5t#Bjn7sbSRuVW+H3#&$y1;i{%+ggX01(E$Qd*=kQQBL$z;giScwup1RR7#{` zugM~TYlU6xlbIE|CT@`6iQx8#QRT7}9UE=?ADDvxuixGbC?%_8P8SWah?Sg3ig{VY zMRQs#mhzUISBsj3jlm4x>I@7wqJIVdaN!y)?5q&8Dh=*v&~O)L%y6A`;@?c((Coyt zNFshvwS2cDV9#sY299!2T6fHTl>vLG5V}HYA5M^`H16WPn#8wnW__lv5-v3tJl zjAT31l4}zr}EC@Fe zUl3Z85xRB?A^ieEkGgNaymf^79-phvEcJf;`rA);UlI1yzI(Ow@S^$A8_J$VW!G0P zO?_BD^Yc&Nyz;(?X3uM%-MjDH#oym~Ve55KltIAzIs~t&pIuSy)`ss(e++ zMg|5(V^0^y5Q)pNecs+oi4v{z^K0gMYfYKCEN@v$LGT0?$AtY0OaHI)wO`_@AmO-G zYu6!;MZrd8l7G{lWd{aS%zJwHp-d`60PnUBD;b^V?J#9#U<|1Kdid?xu#JxnS?sId zUl)+RjGrkh|MiOn``#VBS;5v3mmswFQO=LR=%D>d^R3SP5a(T{v{FCw>gN4t_RBHEAKQF+)dBUBi=3Ax zHHsWs5qC=e)|{?KP8p){ZN(nq4G;JHNZR`D(1XzElxO_i;j(ONci;K^#ieQ2Yn{%6 z4AX?NC)w-^J+GfPg|R%{{zhzG*r%m7K3^mJo1Q%l?T?UT_}jI2xzAQ~o^9c%<@ z(16=el9`)YT#}eufUd{X%G3g)M@(R=15l47NKbHnT1k0gQ7VIDN`6wRf@f}GdTLN= WVoGJ<$y89%VDNPHb6Mw<&;$T{Xy~E< diff --git a/indra/newview/skins/default/textures/widgets/RadioButton_On.png b/indra/newview/skins/default/textures/widgets/RadioButton_On.png index e6bf0db1575ed55feed14fa11c320a8a8efc9bcf..066872ff82ea660cdbf73c491b6557bb5005120e 100644 GIT binary patch literal 16857 zcmeI4TZr6L7{?=6sN1ekL|VLHm|Cr9COMhRC1GajI@5NSI(6M0+g%ZCCOO#+ok?Pn z-I-kwS_|G#5fv(>_#}Ojf>oa?S_NN;}{dx3rmoq-=G0eJq zg6|#7k)xX!=E<{Wb;h5mJgsPUBdO|k4JKO+2YEA0ep|~?wf)d%YjDoA3W-Z6zfQ2G zUP$asSA>dFg7fD1vJ0n|cUQIL{hF*NwiQS6Ed>cQps%v6M&0t1Rv{7UD##9s`2-uf z`1=cqv7kYArZUNvY!|ZWWSY|i5wKY~3DS}bz!R(}fD{h|UX(ci6e+8K4BP%BiX+I% zySkxFm3Oq8L;n>L^Sc8&=#-(S zxu)Zrw#5dzYRz8o3yDO~5dO5UtKr~=EU(QDQRG{y!-J&24+_#X9OEpw^{{KY#=|;n zK+E?~92gkq%-g>0&D%qo#MMI^Mq^T`;I;?$x6v5bwC8VML{O38()Z@X37 zt{0=}I@uWuwp3!b?lmplZhDX9`CjktoaqX|vg*U4D2QoJkU2rB0#N}uMG_wuQi>qN zL?X`~jf$l7ILBvMNY^{8BSH@8kb7} zQOM>pLM<(Kq+{WI($Bai+AY<3%qQsm^)@j;rmv}S(?e5pDK=%%#0~euY53C0(oRL) z4EHrhbv+oY+CrkUZ1F~j_qiY@T>Xlw1v_F<3)TYE^Zbg^Zntn`JIw4KKr+gaek^== z8_juWU2Q={QlZyy5zjXKrs~46IW#A(vCJdEl@Yzlc|JHi>gIni2A;aOx)A_bBdg~! z8kbQ)ih~(R;M9zs<1$&v5F{}p8>-eB;Ts)+6yA&e7yR9ctIey{9Mp?^=ZZQ7w{XNX z+ggO~^{gATI#rY^LDwr9uH9f&$Ell|8mvKn(bC(w2Hrzi-)3X`aD+UjaSN|ihpu@& z^E1{G*Au>C<7}(zH<~#{or{GJQny!|JVvbykmxn%Sz=Zc&_c&36eI@4MM4StP+S-Vi9vCZP{KYG7e+y1 zP+TOGun)zBQIHrE7YQZoLvdjgBnHJrLJ9j&To?t3L2;2#!afuiMnPgwTqKmR550a#i|ADbtTsMX zVVLDD40GTR!(9Fc{hnu-1%Y8M>|+?^Lx$OCzxU#IJCN_vM0u>*I_tlCa`b?(eht6j zGxph^ro|1lw_ab`y7m0@8Dae~;q>7zzdiBt3Ak-D^Y=S1{5iVm@{gaFUF*%p+h3hN zIJ)NEJ-Ej>DW<>60{oO^%fn_b6$WAFdyhmRjz_sNz$ubo<3 kxUlmgckV)C*CpnGSJ@9Lj~qIRI>AhA-(5cb)V^2#1;xo(!~g&Q literal 679 zcmeAS@N?(olHy`uVBq!ia0vp^d_c_4!2%@fWX=8qDTQQ@AYTTCDm4a%h86~fUqGRT z7Yq!g1`G_Z5*Qe)W-u^_7tGleXakgBO7eDhVff$Pe`Y_B$6n&;>&pIuSy)`ss(e++ zMg|7PG*1`D5Q)pK=gwvc2TC+N{62e*PueXOA6a4bmr0jARx+|WFH{KGByeX(!P~n# zKXS#CDe7^xb|oz3Ui~-H$8pw?886Q-Nk3PkCvvKq@x3xvLrH}CLf$`*ro6A>OJGPb zuKSp>Hol)p;<>#(f8W!|@0uBJ#?*hdsgrp2w1UypIOb)`ZtbRb(l57cYk%8TzfnU} zp?s#vpTz2Iy3f^ayih%R>&~wFVg}uu&DXr2Ngq?4xN}=2=lbf!j5RiY3X&X^9}At| z>h#}@Terj{qBs2U#RV6f@=dICJInN&y zD5bh?KKjMyQTW&C{nPT_TQL0i^!QcL@z?UcmsWn&_^Q{xa_*A9i%&&y8 zcYpq*=0DRVYF0@sI8fxx_(A;Tl?7W%|D;s|BSE#qHKHUXu_V zYy@i1fZI@#nVVW%l9*e7uE*5M)B>VMOkk@6P>&=?PjG%(NqJ&XDuZK6ep0G}XKrG8 ZYEWuoN@d~6R8VSS@O1TaS?83{1OPq^3rPR~ diff --git a/indra/newview/skins/default/textures/widgets/RadioButton_On_Disabled.png b/indra/newview/skins/default/textures/widgets/RadioButton_On_Disabled.png index 72aae43618b09e48cef2c24576a121021e18b69f..43af5bec2fc40cd529b6c4b703208f58ef60d631 100644 GIT binary patch literal 15907 zcmeI3TZkJ~7=WjE!7j8BqVd7s}W8?04dX1*r`5s`{8Q4?F7m+p6^;U{N-wxeS24<~7BK-ZUZ-hgZ zkqEDs(|o!(04J=$oh3NBbM2VEbGxn@;of9dyrQ81dFX;rC7&xeS|t&##?{boZ$ z>_WfdCBxK4Qmbm|kdz2dxNcG7xN^DNQ;zi5r7S0?s><;qCyFexV4dlL3o2~E>Gp%v z7HxUkdi5j2Uy7I+FqJmRnhbVFtP~?Ojo@?i1=nbFZWGPpj znxS(r2lKGtI>=9G>sOqxUE7(kJEUx=J0?aoNv9jR+s-$iZ=2e2S56@WHKc7low4a6 zC6cGte8{0ha2gv+Z2c z-(|yfgrR|f(5>sOf?=1PWpNI-ZkDG$x3e5Yr@aIUmt@J`lvW z#A2jv!!oB^W5mW#0AAE2IT#~giN`>fjsaXSrzk<&KpaEYOuLi^ZqmwwEaZxXY@BNj z1}qyJN*l0qb_q=jCWScHZn&*i%GM{n9o<*Zp@Zt+1nPsTRJ~^VLAG_YuE<$QRFodW zGBnu~qPk!xECiCy##G5*K}Hl*|AON$k8WnNDj%1;+&l?NF*p%0i@KFeb=K#9$Q(=&T4Ofdw&@XQQ%iLS8pPBoe9a z(^mH;vs&nS_F8DK2z<-{QWUDJsX&R%$Wn&Qm|~1oB8nmlJW49*_0R$LS)uPLS?C-A zxqwZ*G=C>Wn=rFd4O-r=n{M3_)m=9VceIW+cU`sP7eUE^UO!8O>kX}OMEKjPwz;Z( zQ3JYnRwQ+=-9RJGwTw2W)$ok_2G;BX&JDpV_s%)W6R<$)S$?RhRp%g%ZMtPpf_+(Z zHUC8?^#itg;E~&35?7=K4w(9v6%ce;lueUWOf!R81G=PRx)fz4)sQm049uu()+-z+ zAihLzF#)!%r-mHU1gYNf16G}bwDKgMWpk-Ob9(v&C}g3LhjEW#s{(W5 zDGS}+I9}@)q?!+|XzRG4lVdVor!L$??281k9Tx33&mg2&I zkVPV{uIAgzuz+4!E~9soe^_<&2zswMqz{gy8D{5FhS|NBVSf1oeSgI;lRU$Gy_I3K zLkzRXess&3RmgT`DAhMs`8ap(*d15(UH`yE`@+(R?2={It|;GfYLU3LJ2o>lwdv=< z*Y`X<|EV>%_iuaa^sz&mH$Qgxvm)1fc-PBI_Rd`1V(owAlaD4(@9RDOO8MlPv2V5M zhaTj9%CEjgNcW$~+KKp)JGb5Z?uCh?$8Y=QwKrdwcNXkkv~=dc*>3JxVfm%s-kE>j zFpSgVKp5ITM c|Mf=Z%r5@D8=e!wXa&sB%C)KI`?v1-6Eea~H~;_u literal 652 zcmeAS@N?(olHy`uVBq!ia0vp^d_c_4!2%@fWX=8qDTQQ@AYTTCDm4a%h86~fUqGRT z7Yq!g1`G_Z5*Qe)W-u^_7tGleXakgBO7eDhVff$Pe`Y_B$6n&;>&pIuSy)`ss(e++ zMg|5(Z%-G;5Q)p7J!i9o10@{Jm%sOYJ7K0#v+<>49zB{tT)R%V6-;IS!1=4euF+e3 z9m{sE*q_}|Q&KLy^m*Iz<=*d|8XC6gl@B_Y6eP<}dNz7XWxZvPY3Sio^Y6Op_cGzB zeXjkS)8@9!>_$~JUurTF$~fyjHI%{-b9e{gFQ3*Hv8P(lW7pbGq5lJ z=l}LRzyCb{nfWl!_bq#LR>yrE6h+PI?Me2--#eYp^l9+>VAuCgz@Hh#o;4Ol&AiL` z+(vDGeI7+cQ+j&99!M>fRkILKG&2JNl|m6(L*1fEQBjA1?aP3iZp8e*eR$OG)3um? zwUA;{#RM4Ad&Wv&<=C>cIyS6IntxHeBU+JRfC8`;U!{;YEV&Z%yK!as-x+57KG(z^ zj`_Qsgua1PpD$sSfKLbrw94|FPm}_j5Ry1psi8ERw}e%bykDa<0OHl zmh_^nn}*Mct7Oa(JLdO0i5f?3U4>#Jkzv)?L5fU8DKcDuW!gDuYQv{EQp&qi(^LlJ zK>--H1^u|Te#IfvHmxCZl9Ubgq={ioQmIDnw(~6%+NQSb#p@t~8q&6&R(iAun0{cH zBPA6qUI&-b*>3f=o^2MVC6c3=bnc*{PvYiis&4M7P_0lDu2oKyfMT1av}xw!)w8Ux zj?kA#_#RrV8=6_R9*#1ob+gpXKp?5uAkMSAK(i9fhSD4_a}hbjKf(rOmh}XwS|Tx0 zrlw~{TVq7hoG1&D9OS$)JeFt-xOFteR<0|G*VYq9Q{}8#DkyebFDN;{6pdVzX%2cU z8z+>UF!N>!P7B1jDAR7Ztyj`iN1QXd%TR#@>tK261FPij*={A*I$Brc^*Ag_K+`o@ z(zvXe6#>m_fTvk86s8qL%FvM@$FpK2%w_~B$~Zd}IyGnFL~=)4b9fhko1s(qR7&nO zEL(vK=uNuw(cyfuLMFrt5>IQ9V1!n+5TKQyBGRlXabaH6!XZs?&xTg_=FDoL>)C6e zouy_aUXw&ILrYmvqxoP+q$8Rt(43NGHC5tyQ33VP9`^~MmzQ+dt(CmTrcU$Uq-Yan zLaH9!sqH8N-l@h)@Koz)v$k$uEh;4oI9(&=ueXgxBZj7pBkFb^Sy7#i99Nx94YVlJ zGTNLL>ZZ3T;B`^1#`m~So})Yj3|wcZhH|YY4`P{FyR4KzR}Su(f9O}$fUO>Au?jDQ!%C=L;Tx?$Ff6l; z-u%B*z+qiYtPUwg4rpwDD&-$2nOUJP&TqE+`_YZI*Z?ukt^>fHUv zu;IeZuegm4UTPl(bPSB<(hJy#jJ9p`J= zkYSIPbBk8JiC77rCO|wa2tjy>M2At2KD`3+14$j;L|9Ji=U`88eNaVP$2F5VdK5Ls zYNwkj75$e{kys=N0t7D-TzEc+mf%8w;6;K9 z&j-;GTnG@nNO0l#AX4T@FKy5=YwboE(8c(B)IT=5G}!l0Ktm{ z7oHEICAbhEc#+`3^Fg!(7Xkz?5?pvbh?d|&fZ#=f3(p795?lxnyhw22`5;|2kfP*m6gAg;Y3=wDXnU$R*_E!GwLgnJ zHg(0E@jt%VoQNOm?mx5XxqGJ0-tg|Rw-0oP+^_zfdv~uo_Qi?6=;QO*!F%_oE^Pbw zy-Me6)89Nl=gLXxN+~h*(&5A_cXxlj>-<@cKmK5R;p)e`J9i8l`%dgW7oWFd%RBGi zF&=u-o;|)-{AK9kCu`q$QOQl)df?0Tr^gOYd25EzZ-lpL`!^h1v8V9C)8((XzkKoP zsSCS*IK7q6gWr#gojJMj?57LPU5y;F=iV>Oc=ghuA9u=urJEOacWylV!rsA6%Rkz+ hWzXfWu3ZjNN0*E9zngjFcDOpKck#01zV5+i{sziZGY0?w literal 688 zcmeAS@N?(olHy`uVBq!ia0vp^d_c_4!2%@fWX=8qDTQQ@AYTTCDm4a%h86~fUqGRT z7Yq!g1`G_Z5*Qe)W-u^_7tGleXakgBO7eDhVff$Pe`Y_B$6n&;>&pIuSy)`ss(e++ zMg|7Pd`}n05Q)pSC(mXH2g*2nEPj7y=IoRtZ|R=5D^jx@cddxL;&gz$BVc#Q)vftz zBJm2+2iFR$cpxsKb3jM1~%F$@w6Tetsu zbk2D1vuTPme%=54Jxk+wg2UU=_@n-%IsaeDKgj)9@bkbL?I$-@q@?b@y7`jT_Q(iF zQL(jal=n`pElrfVeKuBlOa0d6+jwMlEQoj!bZyq|pW6yo#%;QOalS(JPRk0W{QY|@ zyN|eat4`0lZt8ZvEyt1sq@Bdv}U~H(CxJHzuB$lLFB^RXv zDF!10BLiInQy>a4G_o=iLQaMuAya!k+GGL zk(H?dM8gELgN;B98gLs*GILXlOA>Pn(Dj&FnOZ>fhzV?U0P2wh=?TtHD=AMbN@Z|N h$xljE@XSq2PYp^l)44$rjF6*2UngE>x3c>&Y diff --git a/indra/newview/skins/default/textures/widgets/RadioButton_Press.png b/indra/newview/skins/default/textures/widgets/RadioButton_Press.png index 0025256045c456d7d057b0fc900572ebaa01ad79..0fb0054bfbc89dee831c3e7d265a71d6407b6570 100644 GIT binary patch literal 15307 zcmeI3Ta46H7=Vi*qALdRR)28oJxdYNmR&alhO4zqCwH_HMGVx-fanXSyUL)+b% z-6aMgDnuR(K1hrY=#wvAFhOIC@sjmrO_Ug84944o@e+-O7a%_9X*-wB*_q=SNPIa> z=JKEacFy;o^S3WOIkt1hnt?k9D2iG$lFyFA-?i@Nrj_vf{Lqj4;m^&r{63qaZdvbs zR!}dzcn3vEXY`3lXRb zhf<*-Hz7S)7^5?$1?X5f#;BaY(+M%m$D$(7KR^o{A7Ocp6-0*TrD#Ip<8<>1r3c_Y z+0shVcsAEe2c=YK%5iEE%hv1la6J+>tuo7tqR4UrD+mmWp&#GVuQp{mrafi$N!eESO$=*ND716;oNu+-Gqvpu&p-rCq&+?DiP;)p$AN85 zTPhfyflJxkYxRy^>J+CdlB?-EchJ!LxVakN&D#oog=Dx^DPsY}F|7&Htfc*2Hr7H& zXEOA?dv!xI>-K#zi&}R|-3bJ;iUZODC&U;|WVq-AFGze+iVF905sBjhL3~RjM#0qd z(rk|yk+{Tl#RyoUG2qeB6h~QBl%Q=Oj;2Z_)2b>?TCXZ)z}Aei%ytF?mhBBCWz33c z!D)dsFSEUddwOL}b=uw0Lxu`$SO+^$A6O;t%x+i8-J>lIQD)tf3Y|JLaU*%7-8q5_z|GJte4!wX7`CIp1&n09 z`RH&y@ram=l@yMN^012}K~!UsT#{#sQBmU*Ar_A-QExYNyLV>R4Bg7!4DBwpBnq0C zNE8{dl+YL<5=}5kO^q?UQsOjK6oiBVTA>5(OF}9AWXm4Ho)=6^}iBg~RidEKq; zECSxG#x8KUd$dzqudmh=%LZ=ONQGK$quq$1Y5S7B?jtFx+mX|%d#HgXvt6T|X`ycV z(gH3IfgeBM-akiu3K+P~;D_?8`UkPil2cbKFjR(T=3n}iAF$g4jokZ4Ks?^TtLWEI z16!H7whAoo2whtRy87z>QURB>pIDtzj55&DY-`)L29{Sezm(nQsnrISoi1)sR!)pQN2QP+KV*Pt48?Rf4sbSEt|vmwI) zFZXWm-;Z{|2UC!a$6}F~%%a1n$C%y#mC39Q??<-VMR?euJs(uj({W!v$AF^g=$9(+ z2JAf zL9_%H0t7D-TzEc+mf%8w;6;K9&j-;GTnG@nh{ZL~dEFEk@Ey}Se3|t0+uy?%Rw-J| zj~6IvZVN>nJx)QNJE^-(jVwjppe`Kh8nhS4Xl#6OD_`1%B2Ta$jb@dnxstxPHaY2lhO2!+SsF<`>WW`L%p7 zv-rmF2ajocPv3YdH?xHqo#pqh{9@tw{G|`S+VsxlSI*sYWbpW#&#z7W{^WtX2IYaX pXJ5|ckFGiy->~uVzh1vgty&pIuSy)`snqjSr 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 diff --git a/indra/newview/skins/default/textures/widgets/SegmentedBtn_Middle_Selected.png b/indra/newview/skins/default/textures/widgets/SegmentedBtn_Middle_Selected.png index d2342f6538c85b2d33f6f9f34083c7cdf6ce4dc1..ca5f84a08864f3d3118a85ebc539cc14384095c7 100644 GIT binary patch literal 15265 zcmeI3J&fE$6o8GA0xm=p6oE9DjrbFIJ>#F6CvEg)ClnV`+9nbDs*|m-B z%kEu8Kor*@gaiT_8Wg2KbQB1sfrge2DJ2Co)D#fL_WpQheZ!$dq8Us3^XAQa&-1-E z&(rvD`|_)&*UqjC}_S=Mm|%FP@Sl z`&YNK8}GJXx3NDeBggNO@?;dy*^*R0KM4@NL1MW}`mWa~{qf!1lI%K-(p9q!+Q9}H zxSIzdxpHv1gAZijYerb2`KNj zx8)5#B(hmH6$~^eSFJKM4GY3oWDP)Fg+SFT1wz}X+OQ%|uTpc3{;P*h&)#WWnueoN zqcn))z*g1qcw8RqWk2kz(6THQXsV_ubcPb`doh|QUUV*VGV{|S5f0rTc70Dy{GzVE z7dJ|!B+&etu4@#`19{Pu9i^yFP@uvxP>YNlJhut<2{MA(6iqVsh~&UCOzl)yHmc zk(?z@iRQ?AClmJwvqY1brKON%s7}{vZ-fNJe%SH-VKb|;?HNLOV?%!Ns_QxaIC`nB zva=VdUN|Bx6qBX~G*bbV0%{#twE?tE@G{VC0CG;UnT(IN@3_7F0v}MfwOZasZYJx4 zZXE~3=vZFzb8~(iZ1?KPRUS(d5vNEKs8 zt01UV>T0r6snOz2riCyapE*0T9x znN!!Z=u_7TH-qRE%`||5wH{OeFbu_V9H<_|oX&w&s@gY=XO*z~doUF+V!SctAW}o5@_IvyOHW`Mr3ILbBec8}MJ6U*>Sx zg7sXyB_2u+B6Rb?GH|>t^k5lSYSRBp1`^g;U_3xxpEyl*R<^T&<0UOi0lj!?R1=p$fdY!Nw|znkpA;a)nwssVb@;~TxErg=4MdW~F03#Q@=pTwH65cUOr=UsxT}H&eft zzI}$i)hgr7owg($JSR!-zAs6C-lxC6NzxvWq~EX87h*r9Z_WB2z5U}QI=8abTJKDL z={ke!^3&e{aPqYe?;IZ9dK}zwJ3rt4>dV`QAKXHJo!T+s-)Ek^_dKkHT4`v<2nbl?C0 literal 524 zcmeAS@N?(olHy`uVBq!ia0vp^Qa~)u!2%@r-<>`iNGT+H1o<*BRH-pAG_)`<`~nI! zykKA`HDF+PmB7GYH3O)=V9u^U8=wSJlDE4H!~gdFGy8!&_7YEDSN0do!s1d4v%3Es z01BP z2R)sg!rrmu4s$2RhTNT8H=`$Aj%>SB&-a$J#PIB$ox|DY9IV+J%HqNh#6&jF}M5~L?MKdq!Zu_%?nF(p4KRlzeiF+DXXH8G{K@MJ0| P${0Ld{an^LB{Ts5=9;@b diff --git a/indra/newview/skins/default/textures/widgets/SegmentedBtn_Middle_Selected_Disabled.png b/indra/newview/skins/default/textures/widgets/SegmentedBtn_Middle_Selected_Disabled.png index 6223ad8dfec162be0b90291e8911a8b972357442..9b1531a11e74eb65cacb62889f550a26f6674a54 100644 GIT binary patch literal 15279 zcmeI3&2QsG6u=ED5Oi4ygkVumRu%+kar_axuB{}iZquceHcQnl+Af#P*q$V26WiEs zllH{NVa4Zx6G9w7NQe_RP6%=04?yCC_6P?!z?oBd{z&3X+@WY!;xd-n_|2R5-pud4 zdG^KcZeM%(+|u$A$8qPjHd{OJy9|HlA9)!5KlSsi$KmJEVDo0gac7@Q{vO~y{p=Zz zGkCarqmueH;XWA_D||X7zTK#-B?0-p z_BOxnhnUx@nqW(c%K25U*Z)>u8FcFDuy7-rmCCr3ZGw<<`Uf1L#J!*w65gg zKx$O_aU7VUI2w(rqgvGud!lR@hA1hbq6jcUhz`9NjRh~dkU5$7Y2nBY-5_>-k5Bv} z%ioV1l}Zw5dgc2X2Gc-Zl(Peh;ur;@T$RK!BgdZF1pDD2U7BNycz}o4izBd;OYMTb zANx_?KOy8)ePUq9NxMCbUAo@kurzcOZyW%E9BHX#w0js}aR*2KerV&31K7%ivfamS zcb1$vPl@Klwd1jSf?1-;%+gZGGE|4Xn(HA(u^;aG{-Bvv+4ck>zrN1DaKrT+e-yn~ z7s=VPRL>mY7K(9GkrYjk3_)7mm332+O-;He)l5k$ILT%bKH9$Hb`MK@)WC;Y^ih~e z`hcV3pctLXOL1<&k7Ju%KOCaC=?+m3i-Fgxi?hMP%xOWH>;AwGVOh9YtBYmBrB*H9 z-cKre&9iX?d58-6fh?tG_A=_tk4_W=w+Tt9I<8~NtJraD#}XtPVL{eaEEq`E1+2@e zg;#A!#(G^$PAVA9R+1M&K0a|~b#+Z~WKF0kmL+JqstbngfGFv*WFSqK9oS=;vut#J z!9^Oh?Iu;!ZktrUx=}+bhB|RwFkf)}O6WrCM}xwg z3C;f!qQuQYs7*I1l*9QfriF4HzcD{LE0nZJ2Plki(t;Y5Ne`NK^{f)|dPrNDiR`4k zH|?ZDV5ct5jn0-ewXA0o+{FZ*4#9%?$uUNK?9tjx<|>_avXjW~#v>HswH_S6e`$W1 z!+8tRbNP|DFFALhxG*-0oXy`$&fs7_ov$krT=4n^S8iHVlcqQ6rbRVrI`YF_HernZ@IX+qG>g)E|SBf#kM=fgT0mu54R}kBFai`Ln=xQZx#&U zQIiHs4GW6gFiTb8eKc)>*(kj2!i%;zebZj(j?>Iv+yIa1lW0BEv=JLueT;0tj7XxafQc zEyG0sp^FR`oe!a9xCkJ0k>R5AA+!t^0fa6xTy#E!mf<3R&_#xe&WF%4Tm%rh$Z*m5 z5L$+d074fTE;=7V%Wx4u=pw^K=R;^2E&>Q$WVq;j2ra`!0HKQv7o88GWw;0+bdlkr z^C7eh7XgGWGF)^%gqGnVfY3#Ti_VA8GF$`@y2xza0K3E;W zm#Jr;z4JbN)ymtOJ8h0TdXD4Xe23%yK8D}lIc{I#xIa4ZLF^~+)vW*Vtsk$z+}2iW zZFl^O<#amz&gW-3sMF~LA6?YH`gY^$WATGuKKgzv!y^-BKA#fMIUw;0B4- z_NtOeZON?_MH5?-n#&6Mn-iK!^81?N8j5pz>SO8(v%BjeYYUQ_$^wd0Q`;(o%QI72 zD}%~1Qd%kkOVfd50FZ1h4=70ks_`#QO=>FhD^5*pDh;j3`VR(XAr=Ba>orP({DK=! z96xg4$o?by5A8d&_t4%0yCHDj&V4)f?by2=3U`WlED+@d>S0Xsc6U+NtN z!R%loP=f~ChLX(O)Z&uF+yZnxW|6H_V+Po{#>0)wZkpUXO@geCyaF5eIU diff --git a/indra/newview/skins/default/textures/widgets/SegmentedBtn_Middle_Selected_Press.png b/indra/newview/skins/default/textures/widgets/SegmentedBtn_Middle_Selected_Press.png index 101d5a0930b154a325c2dec1d4613fe56289bc0b..28f5bf37f76c233ffcd57f819d50c76c43164836 100644 GIT binary patch literal 15359 zcmeI3U5Fc16oAJfwMGhCZE-CKF-57^$^2v{$&5+LcC&33n!10|t%BXj%uROKWM-V1 zZL$k3MNy~}L1{rmA8Mf@XdjDMP^o`K@u47sVxP32^h>wMp4w}@ltUL{%(h#hc|76-`jpTJOqF4w@QZ`ihAH7 z?{g3J_B+EAC12BLX5HEHepxjeNkua&AlYhIa5hEdcDF1=T>x&p0&2REPpn-0ED_hW zeBz*3X3N$nnAc0oHke*MFrzLnsFIf0U5MpcGIY=Yt`cuG>V_k?@(JIs4F7w>Od{@2 zaToH55iekTwmcCZHEj?VlOnCMJQvSMNlp|bj@uRISuVwJEW=AQ$H_uQ=F;)-N)%%7 zU(VL5@>Fqe7!FGL#JuZTGQ%{R&15r`H0>J0Ns`2{Jj3%eoIyKFhO4w_!`TryY5OSx zN40g!)lDPr`Bf_BqMJ`7yg;2R+*iZu1TvhE9i+pP`KEHlVRQ#&@+qFwiwrl}05 zg9b2M2ikE1?W}pzHJy2LjgTGnnt@?X%H>Y%f$MEF28MRru_F*ch;*Q(GqYp?W(qjw zqOF3lBXBD_2JPO}tKH=Ec=9xBt{t@WHOxFsVCI)Xkf9vht2}B0#Wn32)2tVQDw}8{ zjE|1ScOKLY&1^bP<`{H#H`QH7ps2W@z_Ywavl7i_XSj@<;$>cVicQHZ8*viMM0}J@ zO|LEu@{y6*bks*=Ch7wo9ZhkSb$N--jrh@2xoX-C#VzO!r3M(wsO6aMU}R>epyW}r zZrX5JppeQjgN6rM6-{-~tLPC!1rE%E6Uh(El7D9RD7D_vwxX^VU{aEruE~5V#q*U) zg|6~hkro9ZOH1i=nig5D3P4Jb6tR+Hypsxzx+@6_AslZztEAOTC8K3&p$gKpDhUd$ zuxa>}&15r*%0qQ_u(M#acfnB_xb1pXR4&WohT|%b#(2@+oDMf937JZolLT60xip=w z3KFeUG>sNH7F2kU6;(mQ&|j?tV42CmHn zuKZbRJ8{ga+f-~YQiBKZUz%Uwu-5|hJorf5l^i(Akvq%4`i{^YW+2+6|CbDStb@Sn zykgXVR$$s?+a6e7(t=d>o~L#j=s$ls@2)JvvkU7;@y`sGWBSIrk%RfO-WjYf`tvh9 z3orQi2CvXGszyx@;Z37z)U<2)tf9LFK8%J8N36U@hv4Qm4WDvBAuWn2F~^|8sKtcd z0`=LV4sULb*G2erXoD&S8Xk%m!rQ4I%r}fELc<_ck>^pr1qP$=X%{|dGo2^xzV6uR zU3c?OcSm>AE8>d;L4e>zf(y?F(Gpw;5WGlm;rSq1f(rqH7YQyrA4E%VAwcjV!G-68 zXbCO^2wo((@O%(0!G!?9iv$;*527Ww5FmJw;KK7kv;-Fd1TPX?cs_`h;6i}lMS=^@ z2hkE-2oStTaN+qNT7nA!f)@!cJRd|$a3MhOBEf~{gJ=mZ1PERvxbS=sEy0BV!HWbJ zo)4lWxDX(Ck>JAfL9_%H0t7D-TzEc+mf%8w;6;K9&j-;GTnG@nNO0l#AX4T@FEshto!aNFyITTP55T&$fx^h_*QFNElrgvYWZ=BI{q?6t=@*ee^AsS zOHtS7;0v*D!MA43HxGZc7tTF3UL2We{rt<1Tx#M6J@e&wgnf4%lsX~W0U))U8XTw9)gzWCe5qc8k9`}+GOQ~3VI&~wKo zR^D6Pd*#yQdlRdl9NT_k)4BT|J2m{lsbSrI_oFMrXD{!3?c~s{#=fnOOoHO+$y+Bc wJgT3VT)BDm=4$Eaw`Z?A4_-f$`2A_>s*zp!=0faCxISup>_GASp1GI)0qhs8#{d8T literal 728 zcmeAS@N?(olHy`uVBq!ia0vp^Qa~)u!3-poxYjEHDTQQ@AYTTCDm4a%h86~fUqGRT z7Yq!g1`G_Z5*Qe)W&qU}%-I!a1C-bj;1l8sq{XBq71UK#bTqZh49z{9?1OzQy_|hg zq9aPP97BC0N;1>hs~m#8LyOXrTPy5>yg~|7lbXwH13iNZQWBaIyCW+KmNhofsJ4vP3)O+N=T zhB3+8-Nnj}^9U%g*h@TpUD;nS3yVuJ%t2Yt_U!G)fLEmIZI<2XW8bZCb=2qyS$e3`mJC8MMh$W^HJFY z88(5(ls_ypPJPuVe`e}|_M=5hb;LK^%b9vss_bDLXSslE-zmkW%Rd**@fV2CKV{mc zvR6BkssGK&6#f(4(}SK&eHmLfCB#Dz9v@1v*Z(#5JNMC9x#cD!C{X zNHG{07#Zjqm;zCVp^=q=v6X?Twt<0_fdP;3x8o=pa`RI%(<(t4Omq#5bqy^;jEt>} zjI2xzAQ~o^9R&K9K?80>NoH From d224e0a232e9e155830d5c8dcc7fbe39b045f27d Mon Sep 17 00:00:00 2001 From: Mnikolenko Productengine Date: Tue, 9 Sep 2025 18:17:22 +0300 Subject: [PATCH 009/248] More texture updates #3; change selected font color to black --- indra/llui/lllineeditor.cpp | 3 +-- indra/newview/llcolorswatch.cpp | 18 ++++++++++----- indra/newview/llpanelface.cpp | 2 +- indra/newview/skins/default/colors.xml | 21 ++++++++++-------- .../textures/build/Object_Cone_Selected.png | Bin 576 -> 2394 bytes .../textures/build/Object_Cube_Selected.png | Bin 477 -> 2278 bytes .../build/Object_Cylinder_Selected.png | Bin 443 -> 2273 bytes .../textures/build/Object_Grass_Selected.png | Bin 757 -> 2538 bytes .../build/Object_Hemi_Cone_Selected.png | Bin 531 -> 2357 bytes .../build/Object_Hemi_Cylinder_Selected.png | Bin 463 -> 2292 bytes .../build/Object_Hemi_Sphere_Selected.png | Bin 696 -> 2530 bytes .../textures/build/Object_Prism_Selected.png | Bin 485 -> 2419 bytes .../build/Object_Pyramid_Selected.png | Bin 594 -> 2389 bytes .../textures/build/Object_Ring_Selected.png | Bin 738 -> 2560 bytes .../textures/build/Object_Sphere_Selected.png | Bin 1003 -> 2799 bytes .../build/Object_Tetrahedron_Selected.png | Bin 558 -> 2394 bytes .../textures/build/Object_Torus_Selected.png | Bin 825 -> 2645 bytes .../textures/build/Object_Tree_Selected.png | Bin 839 -> 2794 bytes .../textures/build/Object_Tube_Selected.png | Bin 552 -> 2506 bytes .../default/textures/locked_image_dark.png | Bin 0 -> 18122 bytes .../default/textures/square_selection.png | Bin 0 -> 18061 bytes .../skins/default/textures/textures.xml | 3 +++ .../textures/widgets/ComboButton_UpOff.png | Bin 553 -> 16654 bytes .../widgets/ComboButton_UpSelected.png | Bin 603 -> 16828 bytes .../textures/widgets/DropDown_Disabled.png | Bin 669 -> 15771 bytes .../textures/widgets/PushButton_Press.png | Bin 614 -> 15657 bytes .../textures/widgets/Stepper_Down_Off.png | Bin 477 -> 15325 bytes .../textures/widgets/Stepper_Down_Press.png | Bin 502 -> 15389 bytes .../textures/widgets/Stepper_Up_Off.png | Bin 482 -> 15315 bytes .../textures/widgets/Stepper_Up_Press.png | Bin 521 -> 15543 bytes .../xui/en/widgets/folder_view_item.xml | 2 +- .../en/widgets/inbox_folder_view_folder.xml | 2 +- .../xui/en/widgets/inbox_folder_view_item.xml | 2 +- .../xui/en/widgets/simple_text_editor.xml | 2 +- 34 files changed, 34 insertions(+), 21 deletions(-) create mode 100644 indra/newview/skins/default/textures/locked_image_dark.png create mode 100644 indra/newview/skins/default/textures/square_selection.png diff --git a/indra/llui/lllineeditor.cpp b/indra/llui/lllineeditor.cpp index b534c8d4e82..350c1e6996e 100644 --- a/indra/llui/lllineeditor.cpp +++ b/indra/llui/lllineeditor.cpp @@ -1954,12 +1954,11 @@ void LLLineEditor::draw() width = llmin(width, mTextRightEdge - ll_round(rendered_pixels_right)); gl_rect_2d(ll_round(rendered_pixels_right), cursor_top, ll_round(rendered_pixels_right)+width, cursor_bottom, color); - LLColor4 tmp_color( 1.f - text_color.mV[0], 1.f - text_color.mV[1], 1.f - text_color.mV[2], alpha ); rendered_text += mFontBufferSelection.render( mGLFont, mText, mScrollHPos + rendered_text, rendered_pixels_right, text_bottom, - tmp_color, + LLColor4::black, LLFontGL::LEFT, LLFontGL::BOTTOM, 0, LLFontGL::NO_SHADOW, diff --git a/indra/newview/llcolorswatch.cpp b/indra/newview/llcolorswatch.cpp index 97d23457789..ce236dec660 100644 --- a/indra/newview/llcolorswatch.cpp +++ b/indra/newview/llcolorswatch.cpp @@ -200,13 +200,14 @@ void LLColorSwatchCtrl::draw() F32 alpha = getTransparencyType() == TT_ACTIVE ? 1.0f : getCurrentTransparency(); mBorder->setKeyboardFocusHighlight(hasFocus()); - // Draw border - LLRect border( 0, getRect().getHeight(), getRect().getWidth(), mLabelHeight ); - gl_rect_2d( border, mBorderColor.get(), false ); - LLRect interior = border; + LLRect gl_border(0, getRect().getHeight(), getRect().getWidth(), mLabelHeight); + LLColor4 gl_border_color = mBorderColor.get(); + LLRect interior = gl_border; interior.stretch( -1 ); + bool show_border_ctrl = true; + // Check state if ( mValid ) { @@ -239,7 +240,9 @@ void LLColorSwatchCtrl::draw() { if (mFallbackImage.notNull()) { - mFallbackImage->draw(interior.mLeft, interior.mBottom, interior.getWidth(), interior.getHeight(), LLColor4::white % alpha); + mFallbackImage->draw(interior.mLeft - 1, interior.mBottom - 1, mFallbackImage->getWidth(), mFallbackImage->getHeight(), LLColor4::white % alpha); + gl_border_color = LLUIColorTable::instance().getColor("ColorSwatchBorderColorGray").get(); + show_border_ctrl = false; } else { @@ -250,6 +253,11 @@ void LLColorSwatchCtrl::draw() } } + mBorder->setVisible(show_border_ctrl); + + // Draw border + gl_rect_2d(gl_border, gl_border_color, false); + LLUICtrl::draw(); } diff --git a/indra/newview/llpanelface.cpp b/indra/newview/llpanelface.cpp index 3ab48f69c81..d7ffb88e35c 100644 --- a/indra/newview/llpanelface.cpp +++ b/indra/newview/llpanelface.cpp @@ -1904,7 +1904,7 @@ void LLPanelFace::updateUI(bool force_set_values /*false*/) if (mColorSwatch) { mColorSwatch->setEnabled( false ); - mColorSwatch->setFallbackImage(LLUI::getUIImage("locked_image.j2c") ); + mColorSwatch->setFallbackImage(LLUI::getUIImage("locked_image") ); mColorSwatch->setValid(false); } diff --git a/indra/newview/skins/default/colors.xml b/indra/newview/skins/default/colors.xml index 970b5a51dee..c5f16cc342b 100644 --- a/indra/newview/skins/default/colors.xml +++ b/indra/newview/skins/default/colors.xml @@ -10,7 +10,7 @@ value="0.3 0.82 1 0.13" /> + value="0.3 0.82 1 0.35" /> @@ -359,7 +359,7 @@ reference="Black" /> + reference="EmphasisColor" /> @@ -453,9 +453,6 @@ - @@ -862,19 +859,25 @@ + + - - + Q+I%3N5^!}*wA@6iYCNyo57=&-<`DkgP$z580uws-aJN{iEJ z+~THD5saIts4ULSXQIYrMmNMwNAQJ@A@M=7`HJy1rVmUuhQ4jD5q7}P$pb?0_P#X^uYLDM)y;7XOKvQb=AGP@Y;K;dK|qzaOVYK*K$3aeHO zD(!S37)sEJN<2(3U__J+5tNS9T#5mCE`bY$O%Qo0qKxgf2H05@STUNUjW}t>NrQ_b8Jc8B15Rc!B-sgd zO1$8$>JGI)w2Lw_6wMg3dO%^-@T|)ICz$6LuOtUq=(7-HeSipwJ`7DnlCenvNrr}@ zI(_%|4x6n+mb^j$PAH}M6H!N=%|uyDCY;t$-GK#y0z*>uw{x`7MZu~h86$L5b8b{- z)G}cbWI~HQvjL~hv`HeESq3YBQvt7of>0?0M8HE}?u4!w#c2$T5r(WMjg4_bZ9bU| zq8hE@E(4q-@{kll)35EVBMylgn2x>XQW!!pEq!a{&|_o_l+D|?7YL?7k~ zj(dvem8F|6v9vm!j6+mZR^))gZpC07=>&miSdKQCCov9)InYGwlx2?Sk4$lj1m^i55L*l3dBBYk#L3ZuvXZI1L&uxc2*JVET z)wxE0T5ekZ-|nred$Rk&jNSD&KN-C0;yGbQq7fSc*qU}UZ(VkL(wC>pQEM?w9&)I6n3QFHjP8@n| z_x|h64Y`?o{gU?_w~&wK+-+$%^y#Ub$2BF!NP8ubJr3Nwbh~Be_e}-Yha(3Ul=0ra zW6tT08=h`xx_;DqWaT#_chZOKPso~KCA&}S(`(n0H5+Xa zcJ8r09$YbH-pZuKSYxZPYH#(V=GFOIzSx%0w63`01K*}|ZQBahUYOa6Nh5}=pW%KG z9=Z6mZ~EB6AN0po1!ujx?PTpie$nNA4{kgikND3Lui*y^#btdF_j+mI-Ezy-p#_eN zvrgy6=9IjK4GRy99DQk8&E|(~%kCum-yZnZCS<{|T6AlM{y1s9RCjodloY-5^yZvb zpPdQ!@6%Qp{c%Tidt2Qr4enj_>CG1(n~=-JEf)L66-O_Aef=l@tq;u~KbyU8|NRbM zsc*#3j)g1wFRq?{xvl-r(}&xNm)E1`mi~Hb=?VYq`H_sPho7X@7GAj#VMb2VzJ45e LMfP12XD#{*+QLXW delta 531 zcmV+u0_^?T62JtIBnkm@Qb$4nuFf3kks%j<00(qQO+^RV0s;^z1|GYYtN;K3(n&-? zR5;6})4gj`Q5eVZ?{iMBk~PEKbQ3c4pD>eyYg2G42t^ze6<;Z0>6AsxAQ`G{!Iyx7 zDB^3WU{jg=xmOWe%9z@^WtzB8OtRa7AoEndH0JH2Pn87c~e^jjTU z63^}le7n~0W5Wc1s^U}uP($J3Vs&9;Ft*fzeCOJ~)|D_P6Ibut@-u_4);^Y;P-?fT zDB9j2#DnZZch?SAX3Z8XYB>B`-I>ex{5Y2$s_3B`V`c6b1U9*>8Dk=5F+lkZSt zE5*z6)$%~FzVhZ~=QBwYvXc<)IUw+)))$<6@x*W8PBCJsp>S!TI^6>X5?7GqnMhZQ zNjj(67Y#hQmOLW^F#BL`Y+K^V^c0bS)9qVAKFUcY1w(Ncl2rd$?W9h3g+ot%CR5NL z8%CrjS@Qq7VF>|o{7AtYC#KF@W4#A=SK6U* zJPd;nh!A;*5)uvg;FY107z3jMfr!bXQ6m4yNPI;SP+2lzjPrM0TZe!Wnq2R9_xt=l z-_Q5;``xCd#^)*~J~0tNkcvn{xEbE3+SddJ{NJ)^Mg_c;X$@@#f=rrXUt^Fx?^Ghl z_^DE?)ohI}WO!9}vVzJ1XGYc_8bRjPW;B-X04B!0^xs3ZiiC7vi5)j}X4 zHLTV_%j(7$zq*6>3s~(ubZ&-$1TrvLG$SV!gUJN294`aM_G1AAgH2=e(HC+&y=5T%97JLd| z3DeXVf=H*+&a}&^>T!bd`~3t-6EuxO1a5RHCY!+(qq@Kl1_rN7nklIYYBRE&nlb|z zR6624FVSgMHC5~`^h3H1Tg z#p$~Yz|cmcMH~0kBFjY+hFP}?x{(jaebGj&Qv*aZFw~UJgSu5vX0`2&#)NdhnyMaC z)np-2O$EtlC}bz527P*oqzG!-m_2F@2(u;#U^Gd4aIyv`-7$(}Xp$k_IO$_Zas(Px z1xf524fR8GjPfuP&3L?bL1EPhtjYc_Sl}5^)nyj?EXiyf5SkLl&|)N+keXC=Xc($< zjeZ{qg_?9#l#+15Xnt-18mS9;DZkf?(@ttMut73lNIL&f$DANW>shW zbLt@zx`&nRW+ah0Rn?_3NgylxEc37G$E!PYK!ZvjM}tD zdkf%IMOY|_V6grv4VOo@Ukp5gP{FnNN%iq1~i$yiMr5{m!KDc~>RpJ01LIh^}L)hE(NNR|G zXDv53YHKgR;dx;Xiw6~aC?0h{fz&!Y$mSe==>~#~$wb1zSj`1qI92jR2hksWB6 z;+^JbF5gf!aC`W1a^F>Ja;$`1^G5bpM;2);Sy^>^sIPXz(!L+q%J3&^&pUdD{#<|M zX7|zZE^GMohg%aR!TxKT2TM37e}-`Z6>*kf5cCKK|C zU*vCYX3w0wMNB#9nC%$5xo7(PU4Zy#;rHF2&Mh66T~vRu-dz86MQPQUKdkuh_Amc> zv2;@F2idmEZ`JIvTy)u!)6akP`}G;;dS?z_c!pcL(b=;t_}#k0p4zHQldku^+P9_; bgj zIz;w(VH!H4SP%r0(vrXvWjM>Fv-!SYv1}xnf;FaK76frbiNHJMxTPGMbD8V|0FYwY zNCp(=TtNy0MB%un4C`vmwx-pwcxpT`3XQ6N!d%}&)wWWt*G5hS0LOFTcrFsL5&Q=3 zK&ZEy0Du^PZ_TK1FVr1rqaW%vSx zvE2*zf|Q}61!C)XSug!KupM~O*T{|_nCJ!-frjRb!;>XFA9=C6vs)_Yfl5{zYqo_j a=rbR-E3$3p*8ti800001f_7~Vo@%W0KH&cbAhB81sFcJ>;&LfI{JQA)rS5AwkhtKnz9&5s?re62IBY<&?0=>|D?Lyw7`l z?>Ak|b7l=4Ga5Q+%A3vILd2%q8xQK4b6 z3jB-b1h~cRoRdeVy^PeR7)THUI*X)YqNFh?7nN0AIfZ+D?}hC^houNiU6 zDnP7e8^)0|h1i{D(ndHbdI~}jq#Y;hIBCHMk|Au2#fjv8DD%UV=^1a;x{ zJq}=MeZGQ^hiZw%3NAFgJ^{nXCFG%KEs$0K-U2i^u5zG00cF-0(I|{t1*|Ts0a+IF zg=)@AM%-?rFb?FUHbLU$q&BI@26$KVDtWdq7_{Ex(bLvdU zgfxX-2b{jZofct=fV#jByMWUHZ-$}}SpgE@A-Ha8K2JF+nxV=2soYEu>Wips3^Ay+ zpdWCu#LpJOpj7}#pa!*eLDGUe2(xif59%PL$5n_6#RZWMK30jwChieZr~<)Qi2H>+ zmZ>PFOo@Fy#w%$$D{;W(KZ@jP77(nLcn6RbDV>q30SkNeUmD{$;FCK z&11~7jFMdCa}&o87Uix)0m-Z~hUJXu;X*lM*#HR=Jh(Bs zv!%iBuUh6^(U{M};of0f7B($-Q`q)^1gTZHshztvVWY`Z67hQK0*)`QtS1|fO|Lp} z?qFkR-)CKW&xhLD%C~+{fug5S$H2}5%f}!6Y0LcX`K8tM&yKJk*?JzW^1K=wvt)u` zzItlgnvuTat<`r{j_Es?Japh@-=Y&eXDYkMvOTL$eKK+2yS@QpYt8e>3)@c*@9e#} z<%=?QM~s+$2ssy#1o@Fn;6G?QceH!Gh7Lo0qYxYc5>df9sWRd#-aXV=cHXV{_|vgFdI#-pxKWnykJ$Xj?jgf&b(hp$?md!LtsQ9e?6{ub_zAy? zza0AE$7d=!>Rd|`75<$!nYZ3JQ|TzZJK*Fp^TyUybtM;;|Mu7PagjHd{NA{aR4?sc zx4yT@efng1Xiv}H#MDy*6p-KmGbj Zu7Cdi->&Y-JB*JIZ~Yw4t{DqE{{ZqptYR5OTRXub zU>OJ~CYVh&vzhGNYo#o^D<*20(+zj-H_dPaQc`Qw^CU%u1y)#~7@Y}5TQD9a<7{hx zt^5?<6>-QZapDx#F+n7usU0?=u#8>^wYZ-Y0|1gJSdE8Tqn=NI7dO`>k|2;@kL zN&@T+`%Cy`1|zea0KK7)L13oFjJ0UJy?mW@blCMhIC5B=Ux1SGN31jO(0=bgIZ6is zpl5vajE}6&AeYHPNd>JG0Dzfc!!bN~W8eitgyaAKDzdM?d)jwddIsGf) zpECnz;9o#Vd?y&)sRf3S4(AE*aC7%HYk5^VZcf}>gznsk%SSs0x2cW&nd;?f$tmoS rK#`Ov#9F%Lo8TECT~)XDkK?-^kSK{rgMoK~00000NkvXXu0mjfu_maI diff --git a/indra/newview/skins/default/textures/build/Object_Grass_Selected.png b/indra/newview/skins/default/textures/build/Object_Grass_Selected.png index 3ebd5ea7a1c7059fd82e165ec2a6b99639118a58..90844abe941d56bece0563113b367a26a15eab31 100644 GIT binary patch literal 2538 zcmbVO3vkn991mkS93nWzZaBf1A)=Dz(bpO*qqgf-Sz&C0Z8~LX^0f_XlbEDy2Xf+c z-0*<&98>uj~Xtp=gc* z%H~Wh=jPOMHXh5Lgx(cnAVC;tEE)@kM3srzv0h#Vj`i0BhW0|VT07>@4WgCa64WUv z05uydI7gXi)M_(O7ScwWCZIG)SqaigP)3}j7}CNRZD{<5L2C-{XG&e}xGnf($AX$B zGXxQhMh#J;K~e$)WwY4`k|t;xhX`D)7d1A9i)wCy!39)K5oAq}L{w*FeNsfTV^C?I z3t>4)E2{A@!GIAlRwgI|sk_t*)hm)pqiezY#Ax$`GWk|9Q>XmrG zU*8{UgXnU~%uqCAz8DIthG#YQf5AM*_$4LGLZ5{&8vukX1~4=kNyaIKBn29V>Wuy0 zdz{V^Me++FIH8sn-i>++oEFMvvEa0U>JKauR2Y)_zn!Da5$Q z`DO!7n^mZ=syeF-=AY95Z-8=8Nd_X|A<{815urGViJ@VQ>k;~!$H`PfWdVf^qdKoz zT?RNwdVVe*}98VB!f>f#;fzD zH?3YT;}KPj6*=H>*)dp020`E%&T92@ESHA^&P3v7+GNCiMzasMnpmrmWz8m&#gbU> zlDLT8Es6C!T<_zo79(r4;a01e#YteY;&~>E88_$oEi7xIcpFP6)=yIexLdKItLD-7 zFul!~c(&uaOc{7EJ_-qFZ)Y(qr|%ecjMG~M@L2pcOvt|?aAh9!(ME#+k|wI-68+N$ zQzgF^WfkBEz-V1bixQX9-&+j-rT)tD_iy#ds_Ng;SE)W8TrS9p0RRsn0@M8=^zFJY zHN-!&);rg4Yfr%8d7%%J2Nirs9(6#3)CxSv#?;;4g&-*pd0dY2ypG*7?7>V&=F0lH za|<8Oyr<~ptc<4RmYPM_HEUfBjW^^tN?zFCbZ_vvmMmeygbUWOS%=$OY`AH-$vwEK zG2b!#^Y^hvH0#vY&yH%B>W=R37(KHhCV$fXPS3kNZ9Q!(zWCJk>%rf};@#Ij*7iCQ zie`Ms;RDzG5S+&E?szz5$$tMSjtB1xIAh99c|wG&Tk&@gk#LkvCSpj zSf@Mf{1VPJF=OPx?~UC(Z$7YUPGs!9cEj|O-VOUkjFCNW%)7-nYe%!$F~4E$q=JS= z(2QLxse8BY%bwkq-tf@jl|L$2&aFe<={Q}?MomI=CZ;rcT$Dsi$=DBD5(!6@x zxyf{>V$Zl-^YmvHR}DY2>9ryAexnCYS^ss)j3cAI+&pQpd%yw1$w85P%y?7rZ5cO@ z2#?9z6Lzo49=YzxQA6D$-N&2ekA8J_9W`S0 znoVUp2BvRZz1aRz{(<_3U#Y+TMCWIr+&!D3OM@yhnK-&^(YkGsDL?<%h~(6qYmAJ( zkWbv){XuAZw65#X1Lwq+b>4uNIdx&BrD>bB>uhb-SD&h_5jC9M{rqq0g0?Atc1?A+ zcA_bd&@;a+J@(NSX6+%*2S;Q%xc8->ZyZ#2?C7gCx7E%+^W>@1(d94fJ+u8ivvy}r zWoPPYa0Fnl{S2k delta 714 zcmV;*0yX{W6ZHj+XflMXHp4k}Kq zuX*_2r5AK)-lHHm6pBNuA_(f>@P>jo2%6mElGN0ylY*I&+?-#&d%o`;_#dw%by0bL zuYUnHo(Ej{Ye26YRnN0O0z0W2sy?@SE=^K5{u|)17;YV~-E-6Jo=Z#Ew~&QuUjonR zEac{|er!T*q7ir30fXGmdu7*b*G;t=@p70kmW4bhp{+)|tezL`o||5$PB^Td*VT6l z&}xqK!;E8D$fYE8(L^Ke206F0keSYZ{9GMCJ-56vS}iu=kQlEv06X(@^#U@J2V4i3 zjN-EfTk}Bf08BLE`v6JTovQS2ml#WxUQa8)*G=*+NnI4=cHRp+N&^DV(>x$5O;XQ- z7n&7?+r)SSFxz!gChXUu@Lm=&(`t_N1J84>oG1Wy0dnOUfEx2&8LlQl;AN73x+n{| z6y}VrnPS4W*{+*X<58|0sBUvjrSaN?8i2u`(y%P#L69@kYQ)Rh?zzXU=14!t>E;1v z#M?uJfzn|yRtuHq%6KHH8#iIU7^_Lwoid>oc&-Ad7)$M*OVxN}Ld~lj7h~0gxB&JG z1AaIxY&Btv7=14^#aL}M;$;ATos8nkz^Ag=UKtgm@0EjVQSdC9P)kx5VSMqzJ`?r= zpH0{;#@nBRebOt##m7Tpd^BNa;bdKm6^t)lnN;I_QM*};6|W46v9dAPITsNI5C%-x zY(lLwKUXhJP~&}}s?6XZu)Wy9lMTaRB8qR6$EZ~2RW7Wx&G_h*eJ0d3e?HR!FMm00 w)YB<|wIVJ@D$5_rH8mCs=MR+8`DfGnJHX5}OqM0YnE(I)07*qoM6N<$f;%Tp!~g&Q diff --git a/indra/newview/skins/default/textures/build/Object_Hemi_Cone_Selected.png b/indra/newview/skins/default/textures/build/Object_Hemi_Cone_Selected.png index 3bdc4d1fd5bd66813ef3a50bdcf5dfd262ea3800..66e1c45567f013c9c578e8851c1ad3031a621d91 100644 GIT binary patch literal 2357 zcmbVOZBP_t96u!xP_)ufVKlb|niTf-U*|h}W~n-HG{< z-~ac2d!B8rUNk=~H6vA{(WF(BTWjEbih3m{!T&c~XQshhiobk`tkI00tX^X@?`@r~ z(TqcQd!15etE5@cr)42nc^AoFk{4<~gPLDGbg)|rs#4~5nw&PCT)%c8d6 zlNt3Wil4^uU@)i+>a?Qd#z~XOgcB4_Q5ZyEa-*OyAxw}nV+>Xxvl8!Dcu_!9M#d=y z6f+8yj=13S$7uyQ8YUPpJjD2MQcI{VMSvU|$N2-2H)5P)ao`0$ASg1#l5woxBPyco z5${7CpT5HY46V%;w{cG`K408~tdurDH=+T#Ct9{Q`T<@8WHBJIptJ$X%v8Pc(-sLZ ziYVDd(Hl!tbxbm1v8aj3N1k2G3!E5~XOCI~tc(K8C`C{PjL63by`3azil7NSM&!{1 zF#@%T9Perz4K+cuoixxSMH}vf!m8mIh527F$I>oQ@-fh7-p9BB?ibuB5|1Qp5xt@W z4MTOh(eEoPmTF0K@m@F~*UT?LDoQOz(quGZl$IO~EaznylE&N4Q3g8+tCAe??3v7v zsh|wfAXUy60IRGh2R?piTUi3+;gF z+!EtMRBqW(3s_O$DtQ-po(Dl7Iplg?kR2RwF#)gQP(VltND$`?@LtaGU@0=waEFq3 z5(rxN=w3xqY_ri7f~+tC3o5K;6xNiM=Q$eaj0RU8qsJJQF<^P59$@(#tP{PqpaFCfJ39NVPfuzz{7bkLL2k|NE)k> zd-T!>Ocq^AkdZ*K8%FD4+7-W_{zySQNd3d*?{4++${O9?kElKxT-L(~ZU7G?998|n z)vbFZHTZwC7MUBh&Bx&I>`;gCLkm8{k3AqjY6%`{+RKN}Xf$IER#=Pe`N!G8aJVob zdGgqW4ck)cmw%QszJ2bA8B>$c?paCi_FStv-?HWO)sI=U=aVzzv}bR!uCs%^hj%@3 z`Vg@mP5A1m{kb>VTfca`C*1wr`SMLI%^h0`!a6E-I6N-JU9y)$FCFNs%)PL3VrI#V z&YZt82H)=pn27%T;!g)A&3^h7NBU2Piq>W&xG-@0Yhae?1vKv8`y`+nXQj zId*k`)P38zc>1v&d(1npwQb67xiD*2QuW~Qs|TK(Nl@gf-~Sovt$!J$?r7;s?`SKg zJ5GJwcJj4VU4=uryDImselC4-!o`=$-eT$|ByR8S@@OyJ8rU<{b8g<&8~sU3rjg}Dny_id=Yu5M;r%IO+kZZGpMO++}+~s{74*y*4OLF4D!M*SI-H+e*e0Lv^@><{9Db0OfE%%#$ zmq`mWPpT(prvR|jYo4ZoZ65CWROH(p^5w-^=~2L6NB@S*laDubkdf-6fToy*AV)@Z zKTGXr*H*laDk6<#Phi`_8p$k47+pIWF5KM1&Wv|lhmq1$+vk@*J!O;NvnCc%4# z(Xvr+Svr9~|NkwSAb;0kYD*_DP+N|F*%F`w>at7#e;oY&Oh_)?CDLXY1Frws9txE2 zRV0pMbURnmVHpDkVzU6U?pNJJ&(Kukc>?%#YhyT6z6IiTMuMQzP=L$97GEuVs3d`* z*bE?0>6TWK`1Fcn^=bdunW2haM9~S784}jPd(vX1KJ7QUem3t$i=ULz?1ULnEnzqi z@Z0i~U+ep)ycrpNrfsYMxa{2JTUdz3m$E;e`fw<|csV%`;<;z2DA5q2d1L1pnu9Hy c=yjl6193I4@qa(Bm;e9(07*qoM6N<$f(+E>DgXcg diff --git a/indra/newview/skins/default/textures/build/Object_Hemi_Cylinder_Selected.png b/indra/newview/skins/default/textures/build/Object_Hemi_Cylinder_Selected.png index 0912442e29334aa59d295183e8cd256a03e9e174..48ae5969a11c65af85949703056d7afe2f00c08d 100644 GIT binary patch literal 2292 zcmbVOZEO=|94{^m#Vs+87(l`Eh6}>3_p-j-L7k)BXqAp-YsN@wx~F%~bw}H~a>CVl|?U~~ZzJEsZ6kq|x@X8?y82!WW9sGw}KKG(IS;1EL7>)k!i z@A>_I|F`F9rmb~#_1uMXEf!0)-{);d_j%^^WF`82KeMPB-JVi?>vfCe=^FEzW!ZON zzQri7WERIH!Huu82dIGR zfjyFMvj#ghw+8vmF`gCh##gbGX$}!2paHOSA};G(+KuOVIrMA}lQ@=#7%?~AWE#Y} z0&SQ_(I95GItZS&F_@FJ(hiDcZ1osJ(N2(H!OA8d$9G!I3ph5V>}5OTiX; zbK^aRp>iadN~Nr+2CJe)Nt$I@l43}PArOMldu0Qp30bc#GI*iRYm#b6ij0|zAfhA< zH;$A}yO2;zw6b0Z6ABoa1}aHgDbuAqP~b~AHL1n(#s!{)ahQOzp(89^!m2%rq3Auz z1E@>W_ZUE-4FpOyX4H~MluYPG^Csj*As{oN^2R z7F3jYF;Q(r$(YAuCdP#=T_?$clG0x(TLZnofNq?j7&}3^2+9_uDUP8y%0^I5j-sZa z0Y#9+-f}35&_UYH(F|ut$u5JUsu6$z9tswCPE@o6Kt4+e5QU^FM{%qaNzS9h6%83i z>Ke+&{T@%7rifA;P3Y~bS7H8UkAr3%4uY}LZJJ%t zf|#(ikqwYH!akUg!k*qZiWAhr9jFv|0}5883{zAnLjkR5T2TyEfzQTKD0XH9?(%uK z5E2>HKms%Q^-u@o6PXd!Eo0{nlB3)IS^wtZW0@ZY zkDvd5eJlFQ$QvJlfyEcM<)-?V-N=qQ)rBKph~fEj`UhX%S~)c}F+Q4kzOQjx?)UIB z-<^te|F-ie2tBcCdGGO&46|!#MV8i&&bthvm#%d4-J&=Yn}4oy=&yMFnW_sf)K{Gu zJbmKUr7Oc{v$@Qnllzub?D=MF-FSHF&MC~X;gZj`do0)Y=ko7A+4)%nJC*I9=02b>;`{NeVO*d$z{fmwfkpT ZZr|K^?eNf^e)E5czq!?WY*qKpe*v+m7n1-0 delta 418 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 diff --git a/indra/newview/skins/default/textures/build/Object_Pyramid_Selected.png b/indra/newview/skins/default/textures/build/Object_Pyramid_Selected.png index d36bfa55d44667ae5f90912be2ca55e222da7953..446951d992d7e73f2587090566bc20a2e4172895 100644 GIT binary patch literal 2389 zcmbVOeM}Q)96soVPDMvpCSaVmV~Q+Z@1q~IhZV2|VWG&NQ^}Zky?fi9w0Gy-Ra)j3 z;B;ieXv{L$9BN$l*WzR|F75-&j1Ff+vpBO12QoAM*s_nfWoksb_n@sfKW1!lz4z{Y z-skuHzTWrRtE-l!Ps^ExAV_*exvK`=pVF_XY4E?JeQr9uJt3FZsR%MXQ@>J>clKl< z$dtK)XO*_fUCD4#$jI`N7Z@WU8KMznaZyBOxkjL&Uf>r*2lmJ3eHbe64s4~xO}b?# z2nglP3aD+a@^Hjz_I?Cz|e7s*66@Wbc5(B zcQxvi6o6WcR-B{EG+JOcQdZJVn-`%pNfi)e0YRB?l43|JW3r?19|o-{ypO4ImBnqr zCkGbLG?^iYrluxilgTJ4euA>w?F2~^G>t<9u0}V46WOpv~f=@p-|F(H0K{tCD0a)(OQ6 zawGP_GRTB3_pSw;)=(W)*pR?C)WRa*G{767CRCDv2zZDsDNKYZ&SYWCao=weWU;RO@-*W5YqMUIP&=tU#PMECl)b2MJNx^>^q< z=73~Ou;KJ{-PZ9SqDdZ&=hy9KDnwOdMGjQB92hJpqag6G27I)aHQRBXqHVar1S6NnBWOo5Xq^t~Z+~i^=38@d6WUW{cHK;;hxn;aouhO__W? zla1sP>z6A6+_u=@BlGB+nci05^buPduKcf10 zaJc|0`T;zR2u$~f(D&_$)DZv8+W6e0Jw5@42ZugPo>=f9dFBBTQY-L8`>iyfAV|tk zg{#D4JI$>@Q_c?zzV9qg&+OTDW~h15ua}FCv~4|4WpdwN3~fKLiCh=F@z>s#m^JSSfnAr}187VFBgKOVJb_nOqLc}LD>)VdQ*Jg zCsVrLF3FC~p8oPoL;I!S;n)nRZ^QOO*`3!q-rIORyJYpvf&S}=BPG+&8yh<=|9vvk zws%+iNMR;)_Hgt^We{mM>5M delta 550 zcmV+>0@?l564C^aBnkm@Qb$4nuFf3kks%j<00(qQO+^RV0s;^*419Iw>i_@&)J;KB5Cq*Mse{gLW>AoV)Ye5* zYC;u3kUTpjDRs4rli;8ZB2J1(sLA`d4w_KgGMVL2*) zDy-6Ui!Bvw4$HHmz^e6H*0W_jz@!hKJaK62RrBS4Rp{HYiI8+ACh@e)U%h)XJ2LP| z(_IV|M*y^ClS!qMoiVjG60q8EbH2ruov}>H!L!Mimdg3qK;PmyLUL#9Kq?JDN6T`o zrmSwbk3x&ndk!c?tG!LjZ%@z8<%6w%_2%oL6;>KW2Hm2nPoNwPp99o|gI2QaRTbSZTP0z~Wq#*>onR05FjBv^?Ac ztk!E;-{yYQuh^~d?=;L5@0APx00T?bjF5>6Oz1Ht#}hr@({iUbHkGDZ^lcV@h-smL z@2#JIqzlgMT;7pty_W50`Luh0qu4L6!ufAPW(W%w+H zuL1(7I2UwfE5o<(wmB>NF4TrwK$s4N86zAArn+0FpX@~2lvWmQtVmp$)rOlha4b}u o0URS7ef#nKm&ME1PXYV}!Ihj5YM|f)4*&oF07*qoM6N<$f{%(5U;qFB diff --git a/indra/newview/skins/default/textures/build/Object_Ring_Selected.png b/indra/newview/skins/default/textures/build/Object_Ring_Selected.png index 962f6efb93acc7f8fa6bc0d104f872d88e177c53..a23e6dba5073eae4652d9a3ab903e3524d831052 100644 GIT binary patch literal 2560 zcmbVO32+lt7!GxyP$-9jVx_Wdk)g_Fj~q>wrr0LEH0c=xwb*WUU(#)p-DP*vqy@)X zJYcY>$W>r)Iu*pBpo~*NQH#oGX3UU(@k`i<}U1ENoqXgb3YS+jS@V{|caw5EqlJf3Xbh^0CJix~bHne|FJBsj}4V`Cl5iZFND*3!R z8I;x)xY@dD*2dFDP`_h7R!3aIC$?QDgw3R@=}_%^))0RfO0@ z86YOT8DmK!g``>aq?xc%##snOkZCxPhLZ-2AZfx(8>~p=heB&I=cP*=IT2g%$%a;{ zszl>>C=}9%40=)a;iT1S#R&?hC=4PnrB+axFeWG|Q3eN4SechpUK9|Gk@1K@)rLZ) zgDwQ57_Fd0!UO|`hZzYc^@Qfq0FYy2I4LOm2aIzp4*Vbh1XY1pGKQ5ZMO9QP#cNQ< zrY|!9L+f(IY+O}KAP_U5sM$5pjYvSQidNjU62MDE7!}x1il9swVZjKanB*tMJYInzsr}12%H$?tRT8wxJg9g^O4vF( z2Qndro+`kqWlA+KC}kY*GC{vurh>2CSFvK`rFO2NX&$j>7KokcUOwqw{(R%;c&p^?`x9alu)`aBq<4OIe28m*11^v@tn z5xr`NkwK;pM(cW76u*}Kfm-+{_1BlbE7iw}YG_OUPxX=DvXzYB1Mm>SQOzG*+pY&w zga18i19L;R_9z^l7uqm(P{D`TQ3nJ_EyIJXW#QQmbh@~e`HoDt<)a+P3vh203k0ZlJX%Dze{;sHbu)UNUXUI{7fc8PPtEjamyRpB zr+U|=z`^)ABN5N7r&^e`0m9I zJyE~2{rI-+sbd?1bMLHQ+uy#$8QOkB`CDlZZ(O&gA^+4}&XZ4yx6U2gG}m%t!4oYV z8A%nLi;$|Uwzgqi2`PK!qzm1ieYc!0Yuy+3La^@cl^Yguf$R;)gq^zD@1}$LAFNsD z*f!m=t(!Z4*}baG-hHX@gRd@}2rX~z|MvH8bkr9sPV8H`q0#fyy~QVrS1f#0<>m#3 z`wI{3|8mU7P4Ul7DzP1}nY_6529s(kpVT;dcU)Z3rge*YJT1BU$ASr1qUr8)2Zmi* zy(`f0S-QtxT(JM>DK2MB^UBug&Jigt-x2$r4tmC8&GkR*7}tL@Rg_FN@7$8$nL91@ z`{Q$3xX;_-CQd2bn=bucv90I%)X&Gb4%;ri(y?IE`Wyl&E?haMWq!uj-!WQDnjqc0}+8IPP zOQFnY5pFfw7DTj)%!N*v4mhUH_-5XF_uUqy=%nVlesDMU{P;NM+;cAc6Plcz>7JZ_ zo#{P}R~!hKo9Wk*8=>Glf=FdthP;;{uVrW^u3f&8I}|wfA~W3B&@iZ!O6bT(%V>DPhBJiun#5; zc}w$A7_;=NWjLWFI<+Ld;|a6|8P(9x5~jAgPSt48VG^Kr-%dE|n$`twkMC^@X$Tgi2yp*#K;n zw$Y)+0>s_v%*#ND9)M_74b2THEGYrl+%CG(uqX`6z=jdD8$pv1?2gq|X`A)p762+R zuapd#0D1tny%JwmveZSQq?{ywb9YbeS84KffEV}_%Pt#k5ijr$hk0S= z(AAsyKUObLVsLMdj+DVwftga;3=Q?&${qSS+?&euYe|n0oD40|R+)_=2+h1Sys@;I d*a7{=`U$X@6-o}uYBB%-002ovPDHLkV1k#aL}&m2 diff --git a/indra/newview/skins/default/textures/build/Object_Sphere_Selected.png b/indra/newview/skins/default/textures/build/Object_Sphere_Selected.png index 715d597144e2e42d6a73bba378e0a12664274ae8..daf39a658c4239e991d4207a4de2c4d21210b2c8 100644 GIT binary patch literal 2799 zcmbVO3se(V8jeRr3$jO#uquiU!MdO(nVGx?C_;h|GzcM8Kv*1RZpc8Ai8BKUU=gbn zRBF-MwJJ-+XYHwW`>^Yy;;Xt9rBtoeqFXD}2egX1t7uzwZy;o8YrAf9&SdV){qFaF z|LfjanwpXr=pW)Q5{Uv0NqQ5!2YIfce(?Y0rJ;fF_KY(rlNX5sMtZIRqIGqnMWP`g zj5$NdFwP_>)-EM!HV;VMb|*xOMA5NsCrK3o0m%dTj3Y+eweNr!Vdxm~9HkL8I(5Lx zB$aX?y)?y4l@?N3S{(Zv6741+fgK1W;))wh$)$bgwP= z6eG3@f|HQRTrQW?C6}^Xz6{f9wK5c!;kX1MBz%cOAl(uNAKu5H2Ry|wPJv+^h=-BP zV~d0sF;v>?g5Bw(b@1LW!GOu!q*I1TQIAVKK$`O5oJE|i$2d*NfDPDzL*OA6^I@G< zR$zH6`zzGG>7N*Yp*0$PHlC=(Zugnsg@j`0hBqKjMDyknCy95n0VBm1oZdQt!}VjRVl5>z8W6=n=2aFjq5 z5>!o~XfM>r(u}2~KU53RW=u(7IH7>!eo$C7G%1k(6HHTth2`ud^qH}f`9S7$xITs+0GBZ_w#dIo871-~?|sU)}*>kmv~co>qB|2l^&%^0jo zlu)XA6;BFxYon$^CS+D#0icB3bf*03`rg3MC<|6F2}3p>a`tQSuTg2|4z2 zA{~(p)#Y=f9q|zJ+3A2{9rR4b0%kM71-NX!ka6(YG_a6GHX&O8ZlQ>SxV$39MrZ$q z4xTLji40!`P(toa*8l5IPjZb$!rV0L^zp;O( zdT($kE9uAw@F_6~ns@nPz)&bKz)IBb1? z_@T=V-M4c|!|>M6H{Ui|zIvyu>tA(Ia?DVb zt-07ezN@_J+JcrnYYtW1zR~u|-6bV!l+`VYTZ__)oA6cRowH3FcGiys&2X+j7bYWQq=BFF~qc-#I&QEir_v5LbnT~g!Sh{%E zv4+y%=*07tCG{6R5&n=h_Ixsaf72enxoQ6OQ!YCzTO`eO56h#LKhh=6UKsnRL%-?v zDKsc&RC0a5qVTkg7mqxUi2tiuipuEg+)`Ig*clNW6f=jx7jWyBr*_$0j}Z>hE6*WNq{Ab15sX`>$Fvy*j)uE9`jC#N>u~YigEMf4*#Fsq=Y4V<-Tjz*X6{kar?}VIvA-(Lq4dUrH^uY^S77cy( zhY5pU>KM6p=R0&|Q?qKj{eC_2kiFsDRj{*tWmB!tr<@x!hVQrI*_3a0& z&yUNWUG0COCi6Ajb7hUKhLEuF&lY6A9DtJtJJw1|1NF3jf;=dB{;Q+aITvi~wye83 zwR_4B$G%-UqyC#yx!;C;WdG9_Eu-fm$+ba?BO*?lFSMokkx`X*i$AcZ4cIR$;oA3g zY~Q!Q@%?wL?#$?|Uoef&TsBtcOaPyCPP`}H@Tedx2Hg7a%wOlI|2{AD@weUIMAYN4 zv#u8ZQ+4iU><>HkjCf<>rWu1rHN75RQMs`oJxzSE_PXw3Qn!CxUi%U7=H3TQ%>lXP zWI*evaYg?gqcXYoglrAmyDsA1SfS|bO53*c2Lp<4US57>A@ShB?7HCU>kF@qs%&Z; zGGX;cpPYELEMQbh&ZX{STi?BP;!J5%U1swY^XO}V?=3nV5Ix4Qb^VG@#~V^(Yaf@L bYaCcne5Lc8>(bYrPf|ldihgJOychoi+l2&b delta 962 zcmV;z13moj73&9(Bnkm@Qb$4nuFf3kks%j<00(qQO+^RV0s;^+CXC~J{r~_2eMv+? zR5;6hl+TY8MHI(BRbACRy}QE>yW^n1#wZ>}gGc`W^+e*qXar6MI1m!TMS^mG#ANrN zAs&bk4F~sNOi;qv+a}zM@oc;q5+o5>mfe}2{#EtLL(g=COn8@iRjK;a_tks#6m#r< z!u9omGwQ5p^|mMu&epY7q{{r-OBR3l{NwXm^UkVg7tY<-*i>nJVzt{#`%BAc-E7&* zCv1;**`170O3{syKMyUfoWJzZ>8-iI3)j~Nej&bl_`r+9wUq&}u_&boArL~qiN}jD zsS5u1`!BMxAU2l6Y47TllV>;DC}vK7y+BSWM$ ziLt!7c7%SnN9Ahn=TFu*Zr!}{6!6@QjmtfEQH0hS6E(ik22dz}6k2JN z0tmd&-4DR-WK0(7ZveDt&aABru#uUnX;i5HbVSEGv{FbAw983Wa$MRIbK*kM|x4(*6{gf@|+6>WZ?i0Z8K*6?kB}Ci&%2F&U13ipezG=GIv` zXr-VjR7@BZ z6aLxVW+xl9HMz31jCJ9E>Qmk3>aA~odobR4D}=ye(rKDQoDk^<5utDuc~vql@;0+d zDPHRJS<-gv@&~8i1u!#UPbcrG?#kVVlf7Y97G!0?^DH)&ez*4&Y;J@7^3LYwc9osT zsv^y+a_;|K>MXFFF6PFC?>_tR^e4~l*Z^Ps{Qba1>au8#WxgIQh7eFnk=i)d67EHw kA0r7jFCIVh@Y%Ef0oAY6I3iCn>i_@%07*qoM6N<$f^p{GcmMzZ diff --git a/indra/newview/skins/default/textures/build/Object_Tetrahedron_Selected.png b/indra/newview/skins/default/textures/build/Object_Tetrahedron_Selected.png index b2ea680f23b470fc312da01824c9d0e2064ed85c..28175f107e60e7457593142db78afb4b8950e799 100644 GIT binary patch literal 2394 zcmbVO4Qvxt9Pfz27*3-jVIm9Xjf^5(@1tM4+sZQ9u@={DY-P+)*{*l5>uv2_xx201 zCNNR5fewYqGz;OwAdasglF0}nejt!w#3d*YLV}<&(PZI6A)>)|TUUyJ5Sm=?-M!!Y z{eSQsHfE*!hy8(~V2ht|VR8x^$gx z%rwDMsaCp+7)}ZqSYGl0Lo^hIXq_%MFB)dKI-nvxP$P&oba4Mc6cKnEI^XOj++jNi z2+k%Mls6T7xTZRe=Fz;FNN$vY1Rlj>C) z3Y8AK5DLd>MI{y{7%)7_hH=tBXf6!_c`l9%*UP~n<2;9hAP50bRUnp(W5WSSm6U*V zAL{t@9R^@%-R`)Jduj=V;wBWepaHrO3&=guil;FQ@G_uC^)d$v8lcQf&6_Y|mjSCv zvPY7FBZ(>rHC>uVGVGwDzKpxL76ck8zW2}l3*x;Axs!yWe8#z z>XvxH-;u6($M_{V#6q8i5L*NAuvmj4@klauDJaR% zFjQwueDAW`OJ&I~1mT2IRyYfB71%8#ZLwgKflLHC1qFtr@wRi6*+asrBp9=GSaDWn zl+KwAnUE4+E#TBD4^U+`0C-svtIA;^a4O&pP!}SFfe3hr&(9eNRgBHdXpz(Wzs+W6 zyij6|%!Uw+UGbI!P7?Vd!4E0~5CO7RsS`xS%L6}KA5^_6h^qB6#QExlAn$#U7=>-P zLrXjt1Y^8Q%Y(=gJR8cj+s(K{MP)?}xEwYV7MDQ~c*e@oJZt7SjP%h)%uDV7^q?~u59t%XL`^Kd=In@K90BQe&`@>n)&GGesFnhoiA!fNqzCK|-o zm&gL#!r0&=^Jp8J)_Y8>1Y%oHIam}M1qEcN-58eBwhDTR38g27huI2 z08b_y)%?M=J$yJd_LWbV(;&j(kt{ zv7PVay!ch=_#=avdtJ3J^g73E>g`Crq;DJ8*fEgx{yF52$It(w@1rXnk4;$ZTa2{n z8E1RPYtF6RlRrQ0N-@m*uIt*uK}^5Gb>>F)f^RPzp>HW7!aec#_IaaL8FsXOSn=nU z16NA-ojdwv#nrT)&$hlb``sT(sIyB)$(7eL$9m^F(5|YAtCcgIzfSnEDycOsN14>= zAK$&HrR>_=Wc#4A_*S~U8b6wcSD)X1c-Jdm7qun@zysoy*eSZk}Fx!Ck1(?T7adT{FWl%#Dl z=H>omog#g3t!PhbADy#0^F&{72$I`g?wQ(pY1N*~Nf%CZrSB-qz4g?M{=&ZXg_ezn zQl87}KfZ6u*1|Uzeriu<`{|GRme%Md^?N1<>bkclKYd+K8sB)@=D;W~k+$&pikrGa|LnTnd~)%C_Vwc`D0cMBs$TXlct0}2 delta 513 zcmV+c0{;El60QW0Bnkm@Qb$4nuFf3kks%j<00(qQO+^RV0s;^-6kRVIKL7v$z)3_w zR5;7Mlf5qkaTv$Hzn5$8+N08htyqLaCkcbGF&J1a3>}CdA_f~%+r)rG8bl-BI|&27 zusC9p;14jHL}J$J-Th4DuD#YF@r=*QC(rYJo(K4En_f*d&224D`pu`cf>YUayr9y5 zhnD8%r9(p`{sf%LrV|B~+<~)LSk*L><0yZ5*7Pgj#9Dg3pb{YgtsxW!07!zU$%*(e zaAGYzUks3x1T+AMgzCOxHbwWrm00l&9N)+o#Q;e;eGx6}Dlj=_Yw1ZoH(3l)VKQ_( zgN!otw#6%}B;Eog**e@e_~O}NL8T9Wc~Xm*((^;BUQDsDLVGA z#f~SCS@P7Ys3D}++^EHnJT$~m1(2IESDqYH6sStz+e0pK?B)#-cLB3A3op#VqkFr$ zzh5KJN*w1EXTvRd;R1$q-~TQNV*A(P#08`_wtu2ug`O1sc|*jB(>b=8d9o;MV&R~Q zuGV%Rt>KN?xTO-uBZ+}^0N}1ewxnTElB}<#p9jQgWk4K2LDFknYU7^TIHk7Cd3}iM z^_(`E%e?lqbw(A&eM72t2mp;ieNU4d^j$9cg*fd4rc98|$iJ&N00000NkvXXu0mjf DI0*3L diff --git a/indra/newview/skins/default/textures/build/Object_Torus_Selected.png b/indra/newview/skins/default/textures/build/Object_Torus_Selected.png index 1fc22686eb996e7aa4298ab2d8cfa935785066e9..049ca64f0580de034479a1bd35d8b09af3aa4f12 100644 GIT binary patch literal 2645 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 HQOUmm0%rQ# delta 797 zcmV+&1LFMZ6~_jUBnkm@Qb$4nuFf3kks%j<00(qQO+^RV0s;^;9c!{OTmS$9*-1n} zR5;76)X!^FR}=^E@45HBH}B1_%)DqK>JXtQBW6{|A7HW)X3+}9MGPp23#+!qEEI83 zQc;ROT51s_(u#`W4-^T43$qTmb&*XecKm@>C(dMM-kbN{y{C&}7-W)2^sMeZ=knoy zaJlCamWgZAQ~R~RL8Y-{WT^CXx%0GGVdBQ*aHOMEDrrxE$Ww-N z7@{3aIPNz_Qqd^d=ViM#uFI{0r4+n>R2G5=vEY6%d|N4G-4ycKY(Yzmv>U2@lTD|; z_7Zu#sm&E4Xn0N%42EM_sQC?uK#$uDv_$J*ChPPxqLwF=>}xj`I=uYo{%}i2n;pvr zz^DgJRBQ83GLDOP^%@wAuQv4kp6kw?L2PE~wfdDXjsb0+bp!()Zu_@cEe274h4T|;!Z8Mgd1S>JU86VjR^Mnw=Ip%jdyVqoHpf4_b? zFNok+Hmc1AD)o8jSeIqQ_p)x%6{*Bj$2)XwccvF!zEZ7iN!V7VJCiHEn0s3ggo0wm z?5i@s@P+25kr4e%SZ{0G6CXW)yoC;xEyj~6XLmJh3^b!wUnB5gONltri( zbS0Cn<=O*|ZMy|;HP-g7`L>Ynx!DmU#&cp+nAs2F&=o|mAj;D4f}DLFb=8nYto z933o;wdbYA%yP3V7Ax!;D&4{gLf{L>vf%M67luEqjlh=A2AQy_ZJqgSP)l0)O|(Gq z=;dGgR}7xGe(?_@sYnJD!KeU0Xw$=ElfU$=2qeZ|PK$@mj2!4bx9d=MBH$sZ`7skM b3jPO3StNq~5r)1100008NkvXXu0mjf2v2?T diff --git a/indra/newview/skins/default/textures/build/Object_Tube_Selected.png b/indra/newview/skins/default/textures/build/Object_Tube_Selected.png index a4c3f39e148be9a4a9eebe1cfb7a77989affcac7..c94a984c41d672d65edcffcf4a472459934f6f44 100644 GIT binary patch literal 2506 zcmcIm32YQq7@h*s0%^d29MXo#6lhUqXJ)VN3~Wo;wse7o+AdI}9CN(g9lATS&djpg z3W8QFC16dkq6Ce>0Ac{cB?=J|kRx)4LIa3`El2=CLQO5yg1%{YmvU6m#7$=B&Ajh@ z|Mws7{Zm~yX7_+ISf_)?X7C+6K|e>{yO&5G`>P zq7GRBsKsE#dCF`=Gid{5C26C1Bx)q7OoGfLC=*Un3~6OdG#dS3(3&E6n4;YLs4e(p z$9$R=WC$W04jaNIgRFQ7il%9TG!jN54iUIoE@^B8m(;WvLoQHxMGR`9ETK9h%gG_l zjzOjEE(C&cT1kzD2?mUaut9<{kh)84K!K0rf+5AAcxfv9oB$cRs(j-NE$6TX~Rjgn<5z_$&hB8%w$Ni z9qN(=(No?LN<*}pvM?0ISf~e}uxbQWWB(B>@Qg=R0xa}d46t561SKzq#v{o%WWTIH z!%&^6<9nyWQK-ls(GMroqH$wUXP(1K(N-&NG*BIZ1)>T=Qhwh#qs0y7k|bk+j_S@0 zPm9o_@*xvCnVSoEZMHkaf!W2d0(cDw1}F%XgFpfT1m=v2#VAT+VMyb{G!CW|YV#^= z0M%*L(qh2Nk}y&9fTI0A|8E` zF;KO@`a!DibtYPJ(W9;yyc8YzMYL^uGc2zkTXu}s_bU*v=xbOL zk3`_fJZPs4`v4@373gC&aXUq*WDqBH$%1^IXCpDcfms((yL#?1U{ z_0iz+K34Jq*a-gbN zaN3!hh`#S zyGjzhc_|H3yQMNqR(yD+C@GI&E$LW-;)%(9_PN`qr zbxcyun)JGz!z#mvu;a{#X-;R!AI^rXjO$01Hy)^Q&ObaTQJNb5;NZR);i5~nv3tHf zm(_AP|4xyqK63T-W7m%N+SK|>^@Xd+zN)TAKNS|;X`n9moQ`a7JiY9<^Ig;5NF91< z)9IVz?X@yuJ~wlZxogV;`wru&rb1dt=vL zPQ@-3WGBj_&-Ta}m2$#^j5#=X@!ZtDTG~b+v{ZFT|D^hu4{b_V=WJZrH01W=gl8@< z4}R9P9;yG~)um0_di?a!jMJ;iPww8h@m}k>x`8L3`>MX~>&m7Z)eGLuO6a|F)+X`l z1=HavX?IO&yH6b4L0(^2o1eXK{-61vwOebqr>7jv`gzg74E<}%nKvnS^Vm7B{RP7_ BWfK4Z delta 507 zcmVCI$Yn}XeLGR1E9Yb@NMTiahlHVOgfyYpJK6b z8i0c0{;gJf4M0vrkxH&i*4xAWp)de{Z8Y6rFwJ9?UdmbC33h3ePEv4OE}T6_H}LUC z0mEMz%atmPszh1sl diff --git a/indra/newview/skins/default/textures/locked_image_dark.png b/indra/newview/skins/default/textures/locked_image_dark.png new file mode 100644 index 0000000000000000000000000000000000000000..b952f2cfb07c145d49f17159948bef435da54b40 GIT binary patch literal 18122 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 I>DE2}0}ad66aWAK literal 0 HcmV?d00001 diff --git a/indra/newview/skins/default/textures/textures.xml b/indra/newview/skins/default/textures/textures.xml index bfc42933006..29a879168d4 100644 --- a/indra/newview/skins/default/textures/textures.xml +++ b/indra/newview/skins/default/textures/textures.xml @@ -648,6 +648,8 @@ with the same filename but different name + + @@ -874,6 +876,7 @@ with the same filename but different name + diff --git a/indra/newview/skins/default/textures/widgets/ComboButton_UpOff.png b/indra/newview/skins/default/textures/widgets/ComboButton_UpOff.png index 5a067aca7cf90caf00f154b8290ae566224e5a18..9e74524be4711f5979ab2b14abe3af79a913e99b 100644 GIT binary patch literal 16654 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 +FewXEi0K-bP#5JNMC9x#cD!C{X zNHG{07#Zjqm;zCVp^=q=v6X?Twt<0_fdP;3x8o=pa`RI%(<(t4Omq#5bqy^;jEt>} zjI2xzAQ~o^9c%<@(16=el9`)YT#}eufUd{X%G3;^$4&p7EKm=Fr>mdKI;Vst09X3Y A<^TWy diff --git a/indra/newview/skins/default/textures/widgets/ComboButton_UpSelected.png b/indra/newview/skins/default/textures/widgets/ComboButton_UpSelected.png index ff563671479dc1815bbd006e90789c40ab26132f..aa8865c33d8469d4301de64a9e2bc4902d0f5cd1 100644 GIT binary patch literal 16828 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 B<{bb4 diff --git a/indra/newview/skins/default/textures/widgets/DropDown_Disabled.png b/indra/newview/skins/default/textures/widgets/DropDown_Disabled.png index 9a69f7e0d9a2075858ec63a59e95412938a4554c..fff0cfaff25012234eab0cb6022ae258b7fcfeb5 100644 GIT binary patch literal 15771 zcmeI3TZ|J`7=TAWBFiNp527YIDVShjI+sqjov|$}+r?c&m(5aTF)=WmIc-PUnL0D2 z-BshF4+e=w#e|Eu2rnikgs6!zK9~@RiTD6f#E=-#7$achg$L0@JTueF^t5|ig~X7Y z$#&cS{I_$yf6hNM53^@%^ufh_clA*ewRmJWJr2L8;OCCp=E47lyzdhHT2L9@W>eI{ zd+f2C@L|kXD6JA%qCei%V9+`b0AzVSD-c2t*ciQbtiD>94P2UGIaTqPeZh> zB|}@I87@;91Vw##$^u)aMziYFPF2!E>r#D*x(ox9fuqp%a>=medNSn2mEmu9m<`dM ziL)~q8gLWR6PYo3(6j&@4M!Q36L>l%h54u`@%&m^;P?p3bF3gSJTHqeneV3?M<~?? zeU87ewXMP}Jrtro6D!lqSVc}bF3PGALrffkHCX*f!qG3=FokY=1T zuvJU1IJ#-jZd@g2R-I%h|0>6muWoFQdPJ!4{6lT4Oyr_bDJLdacc((9_DtMJ-e_lz-~wUF{oKL^1O1z|~j1W^rM$L&l6X)YGM#x3;aY4-WgIL@<8#>+FGi!uyW^aU^ z{Zjpz1>CzrZ?<&Ut(8*1=HJouQ}hVam12M#L%>LB)sk;E2`U(Q>weEftFx9M%&Xu-SqAP&hCWr;|JVl&QU7@1J@b+P@dJy zL2NVc)D#O06yTouhkoS;?DRk*_udi^kGJtk`gPR6R(4%q1){Nho)t$E}FmpI-6kgve4Z$6YkxQ3>z-o{EFA;;H9=}tbMxp_7iU7ELA=Gn83jU-X_DN z;TlwsNCSnVGngFT(XfzT{u;?)AF{al+X(Fw| zn+V%&{k#BEc}}RNr{}h|rw|D`1{4iPzgB@8fA7NOkHW_a_(a3D9%;I+X{{^Hjr`GG z(T$9X#3D%$Ab64B!t+721Q!AXFA`jMK8Tj!LV(~!f(y?F(Gpw;5WGlm;rSq1f(rqH z7YQyrA4E%VAwcjV!G-68XbCO^2wo((@O%(0!G!?9iv$;*527Ww5FmJw;KK7kv;-Fd z1TPX?cs_`h;6i}lMS=^@2hkE-2oStTaN+qNT7nA!f)@!cJRd|$a3MhOBEf~{gJ=mZ z1PERvxbS=sEy0BV!HWbJo)4lWxDX(Ck>JAfL9_%H0t7D-TzEc+mf%8w;6;K9&j-;G zTnG@nh{e^{en}V@@Xg>Fd&fP;+fQtSwx5rr2eS2Zzkb6nInFJ*_0;86FE2SZ_VwLd<<9)k-M^gLJ-4b{ zShixtf%UncDUPG(9e(J`u>}kEEL{5MlVAM)(`QTg>8p!!(?Ip%7kmUc5N=TayfHKl9uM7NR14QrjKse@$BE^A0uo4 literal 669 zcmeAS@N?(olHy`uVBq!ia0vp^RX{Ax!2%@ntR}w(QVPi)LB2q7H3o);76yi2K%s^g z3=E|P3=FRl7#OT(0M!@F*%fF5lweBoc6VX;-`;;_Kaj^>;_2(k{(@OpT+(9Z64AK~ z42&_JE{-7)ho4T{>&N6M(z<`9tfJ874$f_Ey-77p-pPr_y*08j6SMQ5aq&|a_+{UyY>qE|zxLe8oyEpp0hQM@CmpZX$(?n{c-4lzoA*bU zt^2yfx%}t0HF7>1wuN8W^JVQ0F_UT$*1gd=Yos(e@9J2vEyynRn%2YHa%1Z>5y3TP z399G3E;O+6xXkpj^74r``n-g3wb12BOP8!|XtbMH?rA^u*zVqME8eMlcK_IZul(u9 zcV9|FyeECJo_}iViOk{~d+y0xbN4;==V$|??yX&7mbHGb!lN0Em;Oy&_w~Vq$`_I= zuI6iPJ@)?Pg9)5}XI%3n7yB!&;4{x8x zvTo`UHwXVieJi)U^PYNWPx<}H|2r%Htk^c?#pw@8OE(Lg-3j#5mX^7npKmr-U2tOI zNw;f;@h8lu_SE`K4HC`-2EA&DYeY#(Vo9o1a#1RfVlXl=GSD?J1)>l`BP#=AD+5z) z0|P4q10LaT$5Axo=BH$)Rf05_=o%R78d`=J8Cw|{S(zF@G)yo%*a+010k@$fGdH!k zBr&%DU5}}isTo9%oBlajpdLw(p5XknlJdl&R0hYC{G?O`&)mfH)S%SFl*+=Bsh~8( N;OXk;vd$@?2>`GN2DtzL diff --git a/indra/newview/skins/default/textures/widgets/PushButton_Press.png b/indra/newview/skins/default/textures/widgets/PushButton_Press.png index b0a92d8ffe26cd12a437efd851af3cf9b4510b93..8dfa9030b107162228b141b989a0a70a1f655adc 100644 GIT binary patch literal 15657 zcmeI3O^n+_6o9?rf9X;o4paps%T=W!>i9pqwvv=>(ss8Z+tqGLw+BQg_Bb(3Y}fW~ zvdg6{aNq_#A%w&Y38_NR8$t*!R9umekT`(^2Yw_@9LlAP?Id<4*jgj~+ z>=!h>&8Wy1#-gyJ48|F17DB|qA<Ug`|siDK@#1=v@KswbjY;5~bSc9Rr8JO_I7MjYT zX|sTdlH3&N;5- z^}=UM0^U1Ib>;}xKm;qYC~Lf^^PYnA;+v7g;hO}Tv zilL}^AGw~m543eG5P>~;$@k6qu}s7Ef-Z;2y2=Av zE%HFuHQt8vrfJDVAj!p&5bsoEl#L|zl(de=$WMSY!Z`8uy0Pqr5kM1It|jAf(0H1f zrRxjDB5x~}#Y^+5#5Yyj;#CbumJKCY8mxwK^K4`T*Td)o*L$C8IMH5AyOYqfqaFz0Vhin=f2dcf z!*L7T^Ykr&@FW|r_GLa=pb87MB;s-oHoZz`(7ODg&Tq6~PsDOoC5(4eWJf_jG; zSTMvpj8oulNvVMOG(>X-TTi;o4gs`+eu6J-*^#B4hiVCFj+K9 z@#)7v1s838kQ6#}tDR`emP^`yBQBhs&7}XlETRh?lhHLW&8u&$>=j zkq6PR=A2c0L`x45>*#3$R*IUYXe9w}#w}KzKJ0AN9CU~XyA?&hCtMt9RI=8FcwfRIIsi_8bpQd}4i zvPf}}`CwX#3j;zHDK0V}OiOWLK*%D+MdpKPDJ~2MS){ngd@wD=g#jUp6c?Efrlq(r zAY_r^BJ;tt6c+}BEK*!#KA4u`!hn!Pii^w#(^6a*5VA;dk@;X+iVFim7AY<=A52Se zVL-?t#YN_WX(=uY2w9}K$b2v@#f1SOixd}`52mHKFd$@+;v)0Gv=kQxge+2AWImXd z;=+KCMT(2e2h&nq7!a~Zagq68T8aw;LKZ15G9OG!abZBnA`#bY_Kq-g(Tl-7^ae0D zbNVWJdzdws*6IwibC_W+zs4}PZlm8{7-mysm|rh2jPVY7JK4MT@>eHO-xrr_i;e#G zzkmD5+~w!@Rlo6GkE;FsH?&v9ujekEJ@VE8_Pd*(zyH(C)9kgi>rWki`?n8g4jp~z z=f6%p-TC0kg9qC`Jaql>Kabs5`PjbISo~D~@d1XpefvJ9xBsy#XO2I^p$N?KiIv(% I$1hy{8)#?gX8-^I literal 614 zcmeAS@N?(olHy`uVBq!ia0vp^3P3E*!2%=?@U&)u1d=_1d>I(3)EF2VS{N990fib~ zFff!FFfhDIU|_JC0aRZwXIG#NP=YDR+ueoXe|!I#{XiajiKnkC`wM1aaY?K4RV5o4 z7#LMOT^vI!PS2gP){i+*pmqPwy>GX1D|T#^;9zN9?eN9+!;&uc2Z{zaererf?qn2U z>s*yHYm5GO+h^G_91@LUajtBKjvMT#>8-9fv!nkgLmvA znF-wO92#r)+w-sp%A7QoQAtm~V06Oc!Y1_vda;- zrDvScRc_q*S1Dy(VY@<+_Z?}Eplh-#+!dr56;d?*`)=vg+3m79SL1%HqQ+0Y6vZ8< zu3JRg#mk4fZaC7Obgl1N{N|;Z1@*gj+>I$ap2@jJ_x?LE{`qPgG6p{Df=$+ZlyB*q z^2g))t2kg7s+PD$l%ynFx56Nure^<5&m`@ zMMG|WN@iLmNP~&4fw8WkWr&fnm64H^sR2a81ha#UKn)sj8%i>BQ;SOya|_V*m|B@y zK=g%X8O-xS>N=;0uEIgSCN(>C1u6{1-oD!M< DEeO`N diff --git a/indra/newview/skins/default/textures/widgets/Stepper_Down_Off.png b/indra/newview/skins/default/textures/widgets/Stepper_Down_Off.png index 51d269bd45f6ea4beb9bc8b9aebaaa412489fb2c..720946aba687d1cebbd8719ce226de03661e6ebb 100644 GIT binary patch literal 15325 zcmeI3O^Do79Ka)r)YVF{)o#5QrwSFDNnR$|nS_~HwmYr6;H>NJYPVkOOY&wW?o1Ms zY-e^ss2?Z=PhKp3fZ)ZGNCi=R1g-3Qy+&jT>+|K#A$`bzGg+I6NxCQ_J?vL|l@YikL+_3j*bJgPzd=>tLX%Kr<94~>i9ky7BhTo60Vgp zGf_f*wYtd9x<2C7tSXq24EVg31*)O}aFCZJkQ0F<%9;RxuH>=ReXFJ~ zRgQGiVX2g9grTR4V!PeWwsTq6uZuv_G*Oa8Sr)K`5NtRh>m}xLc&`tG7&yYf`QDbB~>Gt2H)t5FS2(5pN;Gv>OS`SJ+2!tvyL}gi$RYB75-wIH5py+b$VJW9eQYuJdNyMnSmR;Kz6GPE- zDW8s!vLs{RqhrAkZYxUKHWkM*^_uIqU|6H2tDs0@nY zxZ$y071vykcJz#6q5#(+NYw{dDL%7@V10PBr)b(`T$HS3Te@OcCNd0Jkfx-9ASsF_ z7(hjWT*#}1nxf@vQ$|sYPAYa9%%r;!y5qfImRi#k0|KF@0!aW!kp&2VDFDj=1qtTO zJlY~yl45wmX&SWUM!Tq5)#sfcgqX&BC0?A37pLWO1xZ!%0x%1PU?}*mAes111&W!M zOe7UB^AY#KGP|LB*}I`*ZlA@kx>vVO@RW;6=cDZRI^rqITaS@U4idPvunm1Q zQ^yDJ8qF^WIP5`2zSjA=jv55;#PwBRdq?Q{DlpWf|Cb6x`#ni)HlR~SR$1(A+up$T zik6ge_&oL6!07oaM!(8BKD&4y!T8MJb~G|J$eh@(MrW|O9^2<-319f}4PRZ?w3>81 zMt4oCN!Nkr6OJ90adV3&N(`sGqDP11$88xu<)ZSGs^-+9NDh-8i*^S!S1UIDaSNg@ z0;ak?q++b&v6Lfb87GS!Q;M!*QmWMRXxsvmQT()vAGF2(llDk=?Dwu4c{5nijf_gf zVo3-fbdlkr^C7eh7XgGWGF)^%gqGnVfY3#Ti_VA8GF$`@y2x zLd$RwKTdbp=G!TAas%8qVplN3>N`}E;3wn zK7^LxB7o3EhKtUJ&@x;E5W2{4(fJTshKm3~7a1-(A41D;5kTl7!$s#qXc;a72wh~j z=zIt*!$kn0iwqZ?520na2q1Kk;iB^)vXc>B)k3p!43}SMR$SU;E#^f^Jo2TKd*_Pq1){cGP(zkC&&F8=~{!1e>n7ryx6)o;Jr_tKx2GHd#o-Qc-% ypYf;ex$~~lrO%(g{Nt}jU%&X&Pfv1_+?#h#ezWJ3zaGcgx%tBjmG=)Ff8k#$kChVu literal 477 zcmeAS@N?(olHy`uVBq!ia0vp^0zk~o!2%@jygs@KNGT+H1o<*BRH-pAG_)`<`~nI! zykKA`HDF+PmB7GYHG_dcykO3*KpUV0QDSMv7@$pGD{TH+c}l9E`GYL#4+3Zxi}42%qP4NQS3#L&pfz}U*b zRNKJ7%D{j}_}g(54Y~O#nQ4_E4JNt<#=3@(2Z#t+vKI~{M_9P*_~Nu zCfQ92+E&FX^r3-*mcB?|ih@Yqq)PkHLQzqKf>O1JP_b69(1%hH^v=xw%--GHMq2RY z4%zIUd+s^s-tU}yW?tr<@v)bBdmithD5`gKBsT%SH^9$B53Ym%f4p&V8Gfy=j7+<5 zY@`2KL!CUenWB_y=H!$&mEWo8b~&yZwg%$0as|$&sPv9nMb&44M{A&HTAA3NXV1lG z)5yg3N_j3{83Z%t$f5&wFOE&>i?h0H#CBwR(lrG-C<9NWYvq#VDz!{3@TXaHg6))5FKd?7B48_4G0nCHBQu)? zr3~67+kwjhSw78n8}4eAv-LT@qWdi!xG)cHBtI}q!I>RUi|wNgMaj&}0QV+HDMpY)ozap7jY(>n z#7UAW8M@GL9Wn24{jy`i)~}W#a~d@NONcIRIzo+@exWS1XE7+0-Qd;s(N>`ZO}e5w zF7R7WCf4Xd&8{9+LcJb>R;H-B-`=yj-ywjJX4^(v%W7Jt!wF_*0#}Ei!+hl!)fr&n z+Dzywn6;|QPY;?E0*bHVRH)>iVR1r{6~lI=C&I?<$`QNlKP}H ziw>g}<7N$%rgA2{xw(E9;S+TmRMFLNI${V}2EhWuh@x&7rYiD08nnQ06h7_32W__b zq}|aSo4xCP{%Gy!etJcGkst^Vyhw22`5;^pIKWABD-o2c!>`*uC>T4wZ;eNF!AFY3hW zZ<*;eN0*1j)cD)ftzVzbO)QnxAKb~`nP2+lr+1gVn|qh9>|h_cz5mpfp|X5(3R1y|Q(9yH}qh?*?vQ}@@B*SRq}Y`qQY3Sr1n8H!=!?{P8@|AR;3zNybm0XSbujlw{6{7ztW!ZLur+b zrf1%-%g1K89Ou6AJkQ!cUGTcyY{mU4%Br((Ru$Ie|0y`kd&4^X`Tg#fjzABnmbgZg zq$HN4S|t~y0x1R~10w@n15+RhF*LF=Ft#!<)iyA&GBDr~{&pNiLvDUbW?CgkgNd$z zv96(Ih>@|Ck&%_D0Yt+DvxAL54H|G8N-}d(i%Sx73()nLSs55Y^eDu;egW!{1nCLR qPb(=;EJ|f?Ovz75Rq)JBOiv9;O-!jQJedlL90pHUKbLh*2~7YnyQMP# diff --git a/indra/newview/skins/default/textures/widgets/Stepper_Up_Off.png b/indra/newview/skins/default/textures/widgets/Stepper_Up_Off.png index a01d928aef27d00a250be9b81c2e2092942f2e3a..9482e4773e0be5e587f5078b6056d19a66d19f3f 100644 GIT binary patch literal 15315 zcmeI3U5Fc16o9AHhjvRrDA*qmhb&6PPUa^wNoGh=wwt!QVCu5n((Q}gJ2Q8ZVUw9S zGuvbrgvE-W2%^4-=tIG0!9FTt6)PgrKJ~#O{!&DJs6J`2u-^GeGPy}^S6cAp4x3HR zJ@=e*?|05UGcWV&uw_{^v0^W2Q3%?w%cktzSb>gBEK5?9S-vuHkuNw zmNPS9Kz6ydz|OiJWR&HuMX0cP%JqGGUldxBZ0iOr%?h%;0|d(~z=2m;qza@}SnuCj$5LUwkR zJ$%-7Ot<4dS>o~8gH#V3!72z~MG_>16IArKBr2LHYf|nhA*TsK%1JyE^HFn6+gcyv zLoRAkKJ6nl6Ze6RjtK&=EidW0DL6DnBSo(V0C4>cgWwMboaJq-0Io)MVW>psq`tkQa)a zAj>MJiwfkVVnHcdvRbh6dWjEDDl!_ZBq@YsyywhRELGNl$XSXga3Yi?4v3<`iKZ?V z1yC>waDuZq#PEXCG)UVGtEg7f<{du(h{k+1+MJCxCn;7@Ff4&H@`W6yO0v!YDGxYP zHgzDQIn(Pw{jMHY zLQ)S=E7O1xw)ct=b_i&e_@U9kvig>#c!E8e!0jOzF`pcx(|``C&BU&vS(Bakt`&5E z2WRT&0N$hd#SVupaL@NTU-yv%A6&S<3~cWR-CqWVn)LsYfw11=z(xZ&b!b-jUfK2r zwwJUxmBZ($*9JzkVt;S6UmS-G0s7OgPY&c~VK03rVx6|k;7gq9$l2b}NK8#x|*j?CMuG;A4=7(KG z%qKRuVyxl0lp$gn1&a(*io`HZRqA;(YJu@6dfG(~+I;^>d!#$|d)I^fG1$?A^oseS zK`k>Vor!L$??281k9Tx33&mg2&IkVT4%%m>p_To@3tNO6(*U|Na`140%lE;1iX zOL1X9$Rfo>=7VV|E({1+q`1g@FfGM}0U?VN7nu*HrMNI4WRc<`^TD(f7Y2kZQe0#{ zn3m$gfRIIsi_8bpQd}4ivPf}}`CwX#3j;zHDK0V}OiOWLK*%D+MdpKPDJ~2MS){ng zd@wD=g#jUp6c?Efrlq(rAY_r^BJ;tt6c+}BEK*!#KA4u`!hn!Pii^w#(^6a*5VAmt20a8oBG}BSHAq^=C#dzg80f0Z(1uW!Mk5=?iViox%K?(`khx#epBk#eeuU*uT3A^67Jr)e(lPxA3s?6 q@Smf5E+5{vbEo~?=gj5~=CjU$>G#g;{tLxq=8vDMzJF}xg?|BvQkql% literal 482 zcmeAS@N?(olHy`uVBq!ia0vp^0zk~o!2%@jygs@KNGT+H1o<*BRH-pAG_)`<`~nI! zykKA`HDF+PmB7GYHG_dcykO3*KpUV0QYdb&7_VgV+8x?>plabx<$LEm6P`pq z)m)V7$KrA5+V;I`pKceH65!;F{>FR5eA}764mKO7q>RVU7oP2FXKdN|;OoEmpbUmY z1vM3uhQ;%FDx@A1&f!~gM!b1m?qxUK*czZ?RZCnWN>UO_QmvAUQh^kMk%5tcu7N2K zg%}!H85mm`m}(msSQ!}b2!A_{q9HdwB{QuOq`^ejz*yJNGQ`N(%E-vd)BvJkg4w}F zpau=N4JDbmsl_FUxdrHY%&ZIyA$k0a)HF&{GBr%2uJTueF^t5|e1BowZ zvfb%_{`3F;Ip6=EbEXgTzW}if$KTs$pv&RxOlZZ;DE-tCm!K0=N+kj9JBW^!KC3 zq7lnTN4JSNHdpEe<5u5v84OKt9oDBOblHfm%XFox3Up8at{SNp@325Xw(bTxN7q%lp2AGPK_O;$W+x5!^K#plaZk}Y)X^m zygxKUXFwhlK+$!e9oNyWG;X`LGj7ijvZ0o%)s*cIot6od9|rn>0}WK|brc$ODwR)&AWoTzYu!pGOJafM|= zPJ*6@kDP5-=2V-Hq{2fVa@a?xC+Y((9Yb~1d3g!<4f!#2#k9)>)y-H1bqp}2;#i7l zHimjO3QFm<^L7~y3uL$y)2X?mRo2!gy^8KB>cD|{a6ogD0bVdlxWLOiOEXSPjcm z(7|d?;QSD@na>@gG7gHk4KQ%!_nO;@W1DV8ErXshxHX((TMityTA-fKwZ6_H2adY) z{4y}VC3HR+K#q_9B?Df)2Z8l*wKxWh3{x-Ldc*vZ7NoLuJ=M2?_Vt(Yo);9jc3~Z< z{+fY@Q(Idza?pRoTZ8#YzkiZv;RPQo;Z-vYt5MTYylGgCnl>%(En02{9#{TAk>-$< z_fQiYyF>8#8)Ooq7#C9v+KgHZSXGc8$y)H(b-Z1KOVn&oMMuNYkRfF02lEX>ike}N zs?d|NzXb-Z@Hrg*1YjD!0or!Q#@=-yzcgobA-y8LNDu@FUL?5id=M?cg#f{e1Q(tU zq9wQxAb64B!t+721Q!AXFA`jMK8Tj!LV(~!f(y?F(Gpw;5WGlm;rSq1f(rqH7YQyr zA4E%VAwcjV!G-68XbCO^2wo((@O%(0!G!?9iv$;*527Ww5FmJw;KK7kv;-Fd1TPX? zcs_`h;6i}lMS=^@2hkE-2oStTaN+qNT7nA!f)@!cJRd|$a3MhOBEf~{gJ=mZ1PERv zxbS=sEy0BV!HWbJo)4lWxDX(Ck>JAfL9_%H0t7E&adkD{ss%;(Ds2V6Gy7Wl$9LiT zwh_H=Fh^0-H&fK^JrwoNS$O}6q9$32`gsRMDF-R)YWvykvzuVwBmLQ);p&&}{wD%B67hRR6}U**7-qnE4lm Ca@s!t literal 521 zcmeAS@N?(olHy`uVBq!ia0vp^0zk~o!2%@jygs@KNGT+H1o<*BRH-pAG_)`<`~nI! zykKA`HDF+PmB7GYHG_dcykO3*KpUV0Qke{?_QwPoS~Yeb4X%-K!Eoa2PcNVEvCMB``Ve=I|NNY-)s8v)ggt&;_^sf2^{CO*X_>Ju zZzrlhI1(Q=Qy^)otl1%lcY5p3ElSA@#PCl<=)Zr+MPmU!Q)h zpY!m^ykE>O9MV&s2XjjT{iIsr8c~vxSdwa$T$Bo=7>o>z40H`lfhfe#$jZRj%D`0H zz`)ADfJgY-aTE=?`6-!cl^_i!x(3F&hL#~l##Tl~R;C6J4HL``HUc$hz-=hW%uOvW zNz5%k*JEa7U Date: Thu, 11 Sep 2025 17:38:17 +0300 Subject: [PATCH 010/248] More UI changes and updates: friend name color; worn items color; logo for system notifications; buttons textures. --- indra/newview/skins/default/colors.xml | 7 +++++-- .../containers/Toolbar_Middle_Selected.png | Bin 296 -> 15778 bytes .../skins/default/textures/icons/SL_Logo.png | Bin 1515 -> 1136 bytes .../default/textures/icons/back_arrow_off.png | Bin 2546 -> 802 bytes .../textures/icons/back_arrow_over.png | Bin 2556 -> 799 bytes .../textures/icons/back_arrow_press.png | Bin 2638 -> 802 bytes .../default/xui/en/sidepanel_appearance.xml | 16 +++------------- .../xui/en/widgets/inventory_list_item.xml | 2 +- .../en/widgets/wearable_outfit_list_item.xml | 2 +- 9 files changed, 10 insertions(+), 17 deletions(-) diff --git a/indra/newview/skins/default/colors.xml b/indra/newview/skins/default/colors.xml index c5f16cc342b..d5a001c5394 100644 --- a/indra/newview/skins/default/colors.xml +++ b/indra/newview/skins/default/colors.xml @@ -338,7 +338,7 @@ reference="EmphasisColor" /> + reference="EmphasisColor" /> @@ -592,7 +592,7 @@ reference="White" /> + reference="EmphasisColor" /> @@ -758,6 +758,9 @@ + diff --git a/indra/newview/skins/default/textures/containers/Toolbar_Middle_Selected.png b/indra/newview/skins/default/textures/containers/Toolbar_Middle_Selected.png index 642113b13583990739c76fdb9d91ecf08322589e..62f82879cf8399dbd31f329c3a72e06d09cc01a1 100644 GIT binary patch literal 15778 zcmeI3&5zqe6u?~}p|Yqa4txj+D+LKu9MAY8URz13?WXOnM9ONrs9On%PR8S`)x-|A zx5@5_4+)7=rCy3EjvVX*h zncsVUV;}tf)}@Q5R-RdrBIe-~SOw}LBNtC?2K!MjTbhei(j$EmBr&yv z3+)DbVG_oB;gXP3_0qsJC++q$_QLh{`wK(I$@v=;!5Ha6%XsHtK-6s#hx-vG=Wo!h zoL;p1#P^Ei%y>#QOV>_D{t~lPlbdCwkY}h)_v)-i1SMg#6NbHJUS(Sog!1~j{Nfcq zaKmBzQe9hq#mLEOnuOzV%U4!1pL6|c z?e507WrL`&pwhX=u|UA}_0P zabi=#)D-5)GUh_P*bo)uO8&3&Blecq7zIY(Op+J%}It! z31qjJ7F3Dt?5Uvv$EZy@ereWnC$l{HXW4NwP%IDcp`c6LraIZwWPn}Fe>rK#>w7tv zf1R}QG5!BeTAs?;COA13=9^|cy)ScU!=)EL${HQ4t8-&Tx#aVA)5h7`&*obipdWez zPd{VRvYIu$$~P^mS<}MuwZKoB+Bh0BT(U}U9`oCq%k(*iG;5}*)9afZW-Ye-5$Wx= ze0qBmr>$S7NHQB%vC!~pVW>@lWriii*f393>4_vexAIZ?yh9(g)akR<+>tgta31E5 zVn+|tE8|N9VSw;Ofs4apA4V&1F+ljDz{TgoXaz0? z2wxPq_h7$AI6;NtUPv;r3cgf9wQd_Ig;;9`LAMS+XYhtUdL z3=qC3aPj#tT7ioJ!WRWDJ|9Laa4|smqQJ%H!)OIA1_)mixcGb+t-!?q;fn$npAVxI zxELUOQQ+e9VYC7l1B5RMTzo!^R^VcQ@I`@(&xg?pTnrGtC~)!lFj|3&0m2srEF@|13%SK$3pB zCP~f*lJsPF>y583(7EPjYi(zA@7M3)2}wRFfsgJqK1N_=`|X?EGoQyle71Y*i;e2- o?|zK#zFxh3)1VedM~_I)-a7HuH}^j2QBm4Ff2sB9xohwI4Q{&xVgLXD delta 269 zcmV+o0rLK$d#D1CB!3xnMObuGZ)S9NVRB^vL1b@YWgtmyVP|DhWnpA_ami&o0002W zNklcXXeIUvGlkFE5$Mfk> zEmK9#r{}T9qkFa8G~B)M8f6J46(RMuDZ3z5d+M(n38QD<-G8k^T6GeawnZMz1wJ-dIN_H|jOh_vUOzK^Q>BftPK9-Lt& Tz#5$Z0000P000>X0ssI2ON$aT000CxNkl5M3wE@M8zTt5~Fmtb~kL%RojcZ&g@)vc4qc6^WNsYoIV((vO8=4PY;Ll{CJ*o{^vX- z9*?7{ytz>`P^DhPlqqO%c$qRVLv;Ye@xM$Tt1W4BU%1GYCKtFzV%ySK zKUf&`&1|{IC>rGju$<+KU0RQ)F8ZYB%c+kb4^Y& zimtYH^_qI(elg!v^ zeC>^s*BPSJzV#k*01L5uAikxk;iV@7$4*Rqv@g5kfG3}<#v-7g4i#Kf;=`XGUHQy? zQtAq70SAm;*4I2<+`PMC|2FBwrQFWf%Hbt~U74R{XxvN&%faQ-4M$#v1wFnJGLVD1 zYHg~sQ*Uh{8oYhy5CW}lWDI3q7E{sPS1%xl=?zai1Xd*MKYxZDm_REK1Ih?}^%+N@ zFK&Semp)5f-0kVEP$={ti($B_$zsQD^`SNFSi<{fmyk<~-KVG(=7(<9ckYXw{Is}w zedgdHch_%`Z;ohp`u+}<#R=~8AWC-msYhlzwwmk`@Rpnz3V;7a@Z52>l+JG1oA}@u z0!-|U7lg@SQ}oX3uUqouZ%#b1FZ<>JGy`M6sO2hVDB+yOI<7yUgal}N)JAIy9+O)gCmU7?|R z)g}Bh3T&MzW~t~=z2P}i$b$2cvkZU&#AJo)JO2h8deKQvAO2nd0000)PFNVT?7Ct@75b zFGRwz_Da%dCL$FPI}}(49Jaol>&xy?A-wXtAkqd0lA2)&A0Jz2H>^5TKGR+Ow~m zz{U{5@se&z)7Q1^MuXOnl^Yr_X^~xlNX^1l^8&YFr=&l6>-CR=Vl&d!L4}R+^MskL z-K?*&M-D&kx+fU-eAYbP(dmBDA|f#feu$r+1PfhZzeOqeD&$w8xYfE??(9IBl9uQb9H!uVGO(xqDz!MtgCM4? zOZu_mor(73yo_P8Y^jG#eFg%hNk;WEujqN_ZyPjjSzn#m3}v&Sx=%jXw+xM*SKfI4 zhIA-lvf9sk_NhvS|Z+fW7u3nf%Gm zbP0IgHZ%A#`|F_X`P}gAO}X8Tv`Nab(o*z^2P**ygX=M&(RH|89i+xNxBE_<97QNk zg`v36_R^y~T4HI(#aq;Ny32XwJEIch&2H)60u5hIGt2o%-kt_Z8A)FZ10kJ@Kcrd; z8vHpMF=thG5l^6QozVG6^X}Y31VaUyh`Xt317<}ubI1nV?F6r65qXDRL(SsK zY{f@q@5@C)QFCXEMy*Q8p%OKVZlY1LG;DUS#y@J$mxyCG`?c=XrPiY`#+c^Mku%3is4pgSxC`8o4a;InQgii= z6Roy7_#&f^w3PQ*k}(H5M;*bgh$A-k1l06a1RQ8l*3U9MT36T9)&_FAGTCa2N_Z$A zCJ<;Oi zTy!M{LmPT`4%TQNh)%~9PGp2@^QbKd;6$}ROekQOAQX0;qT@> zt!QpP`rzBpR72Vk0hfO-qeV6swX0Vb;V_t&zT9rls&aDv!2R8_ z%qHNB9!-ZZlDgQrP5e34OhzFQ$!4<^**qOIvRGR%b}(~%7OpFp7h%?->)a2nsTpOj zem*UVik5ylO{Rr2lYWZngZB>gkpjS=F*rRmR?onMioxPB7(CA802+-)qhGiXg8wB1 z1kwFZpZmXHi2EVX&xz8dg7!ZbnEnAiVa!tj!T)s(@i?O&&Xokd^jiafwS^tA*vvET EZ$0g^-2eap diff --git a/indra/newview/skins/default/textures/icons/back_arrow_off.png b/indra/newview/skins/default/textures/icons/back_arrow_off.png index c0af924dde7d40e0d88b918b5ea477ffb09f6e05..0c96257470797a8d403d3b8d51a95ffb745e8da5 100644 GIT binary patch delta 780 zcmV+n1M~dy6QTx?BYy(vNklI(IRu+fXHl znIE2GIJI}{YP=ScV(Ir+j~Kpv{J3jp)qeE7r=*)o@?1cqWU5L6ghJGL`x+7ZEv z=I7_HFtm1VXVD}spJsSiG6cI=fZ2ck{9$lUE@og7RevDbQqKS18IH{F`Nt?JDY;8R zN!L}xz>48N2Om+IXO+Y-C`yPjfXewD`;IWQ&R)d8DWgT2kAXp5_4e)CN^U7-9w{py zqBYmW`7qe(se;*8Z{B9eYU*WRlT;@yaREU&(DE8mEw4}VWw6mwfm>eCJb~d20~dpc zgcR|q8h==0kY#yMq#J{$u{N0f;>Bx**q$Y%=i_(#myl(7imx3*xV`~# zux4Q57olqF1ESNlQyFBC4?m%xYlE-@kv) zOLmionfWgV2gffF5s^nMEG%|Jw=zMNg9;i-LK%op0dWI}4FIjXb9w2wBftOv002ov KP6b4+LSTYLResk1 literal 2546 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 diff --git a/indra/newview/skins/default/textures/icons/back_arrow_over.png b/indra/newview/skins/default/textures/icons/back_arrow_over.png index 6b215dfa5989e3ba010e1046bc52e5e380190a60..a7fac5ef99667e11b8f723a8277c4522427802a2 100644 GIT binary patch delta 777 zcmV+k1NQv<6Q2fI+5zIez?Jh&l){{8Z z3o!m+*w|hA55r=xrCx#U%({+*Exmn%p*Yfw!PC(O%>VTD8$-&p4a5XBs>L8n?fin< zSu_c!-dDG;GJljscrbW5K|D;6z)&m(f(kp&fOZx=CxRN^+`7zA9Us8p zY-0}Qzy0uqA#?U7qAcZQ{K>GTy8>=8(Uvm3d(Kb-^r?xyHkg0s$t#Ac<$FlVQeYno z3kz4+dIq(#>JgVuvz!bV9E`QV?7x5iGK7_PFffZN5`S$e*Z=Pf+k312F)Ao1?2^+m zca<=AVEE6;N0jDC$=(bSLi`M%a{ko0%M4BPS2A$RYm??{ z%{9UH40=k^VD^K@PZ{!iW-_qLXpok;fS?>`c@3$S*M`|M=*lB3FYBAb@SK60K~hSJ z_*4z7F@MOiyx8B0!CXxNlCR%=WXPDimGpf4YU?brEKhecVQ|)01GA4`yU)_>K;T0mv@**Eg1~EP!hKgmoN%t|lR03N5>eZ_{9tkyGSxYAd zW&shZwmxuL47I!nXn6y-tOl>NsRIKWKXoks`+wyH-fUj7naTL<4JV zDm;yd$)@q;+3{LKcDg}f zOyK4mcQiIsMdKJt(OQbKj20?k)MZGeau-Gp%}*joBV}iTUs{8!F&0RG5DZ93)(^n} zj}a*<~Um(hcleiHu5sOCC^P`x5P*9;d z;Fg)jtdLug(JjXf6lshjO!#{QZpUdIlTMI~&WM|^3=6AcaR-}01C9U~qkEkL43;@! zf2ax?4H`=_EJhmeShbP|$}S)XBdSm!2rQKt_?X@# z+30#TWyo-E?$Pze|8xB^ngGoOv;1Tocgt~~3Us76BTZpBzHVe>A)ujyfMN#s0ax-2 z?wySrc_Xhu3V&h-hGp$(I1nAJ=WDk6Fvd_O){fD5gc)S(e>qV?;J?t_jfO)J{(F=| zb1!wSQ5>{G_i(HagNLzBj+3B$)1XhMoc?Athcm7$Rvn>@xpL{wZ{nt!1IKrFRW`OC z?pWZg>*4VRk?3HL)z#fW{XO~nW(Dd~eP=RTkazUc>(225?(SjRPkEf)J0X9wS`&1u z)+(5A<)2O3DN`f?*CwQXQh;FfJ^H(a&A;wzMq*Q&D|gLZzjIz2bGCinh5OGtpDK6V z@4E5=DL#2pd`4HA+IjpJx6XQ$?5GJazP)wF4zAbq(weK+?E6Ai-hAk{b;tH25BB$5 zY}hb^e?O-ss36Yu_3r&AdJhC7)+13w%iliyIJMHbDgJt4YwPMW4fVJEz4qLce>&|` z@m6Ac!Smk5162qTo>!c!hF4{})^FYhclQrYZB6-Q`N6{NPyWuvC4R(1o7QvxNY<*I z3hxH9V3T*s!u4g*pIvUOa@4;~l{9|h^ez|k%%`Z*YzgFk{=%m(djLO#4TkGV z7CjXbch3f}$irV#Lqk$A#naoxa^Ub!*!8t!F26-ARe=qdstcc)3_EZn&`x z@HH9LU#xoMSj7(rmPx$(y3QBRUl@JZ+8TF`n`P^{xPpD+=W)!oQIc)b z&SLqR=7W>&ojSJnJH^CPC+K2!VZ`;E$X=}C%QD%4Df5rkH3iOoQS*Jw8_VbgUb}k! z;EjAD-;m1HZ%c*3;#|4P|Hk+&T44!!h!pVqDm9 zPj2D5V>jDvMb&w=!CUGF8n?#>{x*BOuE{5@>09UI(6IbN;U#;st{4O7^`~!j&CI)8 zBJ5a_*VeZ3cRjUza8O!#Sk4Mtd2&OMq2{m1wf&ne7F2|MvozDNU$SD=BtPZFd)&q& z21n%N->++X+}tI9OBa~$%sdQHUp=lm`()x@s52+z{oKL%uKS<4jz73gG1iFGiUrNuV|pAe1{S2u^>7MC=v{TyGJqE@T9np=v9L!u~MbK0J6 i=cNsIqfNW}pHca5UC;8oK^}E~pT$PSt4kwOH~kAKAJM4* diff --git a/indra/newview/skins/default/textures/icons/back_arrow_press.png b/indra/newview/skins/default/textures/icons/back_arrow_press.png index 54bec88420064b69ca91e389d40f67ef33530efe..0c96257470797a8d403d3b8d51a95ffb745e8da5 100644 GIT binary patch delta 780 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 S=092g@hSX*Q8uwWM diff --git a/indra/newview/skins/default/xui/en/sidepanel_appearance.xml b/indra/newview/skins/default/xui/en/sidepanel_appearance.xml index a16b0b58dae..62254644924 100644 --- a/indra/newview/skins/default/xui/en/sidepanel_appearance.xml +++ b/indra/newview/skins/default/xui/en/sidepanel_appearance.xml @@ -50,24 +50,14 @@ width="333"> layout="topleft" name="openoutfit_btn" visible="false" /> - @@ -76,7 +66,7 @@ width="333"> + color="WornOutfitTextColor" /> + color="WornOutfitTextColor" /> Date: Mon, 25 Aug 2025 22:36:00 +0300 Subject: [PATCH 011/248] Update search fields texture; change menu selection color --- .../textures/widgets/ListItem_Over.png | Bin 443 -> 15029 bytes .../textures/widgets/ListItem_Select.png | Bin 460 -> 15029 bytes .../default/xui/en/widgets/filter_editor.xml | 8 ++++---- .../default/xui/en/widgets/search_editor.xml | 8 ++++---- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/indra/newview/skins/default/textures/widgets/ListItem_Over.png b/indra/newview/skins/default/textures/widgets/ListItem_Over.png index e72c1c40207f0fc100a1d8025a6f06fa168fd1a2..9316567e7b7c07b4a83cd1d1fb9024d5a99904e8 100644 GIT binary patch literal 15029 zcmeI3O>E;t6vwAxwPFJ+A#tGMwX?cS@w!JpVj|V=DMyPUQ>|^VgL_(W%9k(j}@zpn?;Mi61mflpFex3B3?X!R! zob9%(vt!G!#T&I;Wo%M`0g13M9`xPN99P9e*QD3+uq+BmNOW8kH{%I~!{(k)_W~m5 zd0ny;O%+N;Ue$|+s=g*@idv9WMb->SRn20_R5yglA=YyAsuI{8bH8zOG99(5VlRq( zQb?{_d*I&~Orolpc5q)Riy)~QeAeG+=Zz#>~G^ii%ad-}-f%opdJ zQtVlI?_}((NQ*sbTCx?=6{^r@HR}Pvkr%W)uU|`d+1?bPP_GLw-*Q~r8-=e_WEeeP z>bVeU;E2>TMbjmvENN;>Q_Nz)RP|Stf~hDOku(x$G(FqtoG#O#+gZtKWFnykEgc(2 z_(Ce#*o=;CnH?_};Hc&daF@uw+pWm+!A#_ALz#82?*;U>NUczjmknpKl1*mrxM74{ zi|jONbRh3Iwpp-Bx{h%{(zF7RFe#QK+)=Pp&=qWT%39e_+6lyFGn>93-SDhoTqqN1 zn@U^7qFpW$L!ufR5-Anil0j&Nchq*r>aUYr_s)+_9epQhM?MZh5*J%loL1Ycf6dxcoRbu-iLJPi)vUM{ zh+UD-jm~dtmN`jt78mehlvDjo`sz7GJ>s$oDwRs2R*QsQCmP{^Y<^RplBUpuzNpY+lA3kH)FXCk)(unVneVtx zRHMx;xlu5j$%=m@(>8uU-{(keL)Qy>MTWyLW6v3r{$azR{Wgrdh*qW#mLx&X(#)ew zW-*(XaZD1^waUDDCH0q%(ic1WPASh`Di=y~*1VqN#r%n$q$<$jlK>!WljCCZ0bY&^ z0AZUP7n=|8a$Eoi+vK>|e1MnZ0zlX%$HnFYyc`z*!ZtZBHXq>SxBw8g$#Jpy058V{ zfUr%Di_HgkIW7Q%ZE{>}KETUy0U&IX<6`pxUXBX@VVfKmn-B1ETmT5$HaRXfAK>M<01&pxak2RTFUJLduuYDO%?EfnE&zmWa$Iaaz{_y~ zAZ(N4V)FrBjtc-`n;aLL5Abqa00`UUxY&Gvm*WCJ*d`NKZvL4jap||2Bl;2M$LNdu z^aD=8+TL#>boLTL@83n}!9#lf1)-sW(64t8GVdYug7?wwZ*S7r+dGZT*7(QYeo)sC zx`Z~JOW)U@`~7p}%b#+8|M__y^!GF`NJZ literal 443 zcmeAS@N?(olHy`uVBq!ia0y~yV3Yu|C0Lk&14Ba#1H&(% zP{RubhEf9thF1v;3|2E37{m+a>%a+_7YEDSN0do!s3#a?-r|qoZ;Z<;uzv_JUJmm z%H%-9LDSp|4FYUi8_SrORC=w_t{5)vlPo>6BH2yW_|=TS<2@juF9l~7WKEdPQ^L;5 zc!=@L;@8m|GN z>oK)5HHYYV5OH)RP>&=?PjG%(NqJ&XDuZK6ep0G}XKrG8YEWuoN@d~6R8R;rc)I$z JtaD0e0su)nhRy&0 diff --git a/indra/newview/skins/default/textures/widgets/ListItem_Select.png b/indra/newview/skins/default/textures/widgets/ListItem_Select.png index 0e16a8b454b701138d1b366ae0d4f1974e5a7404..cd65d347d6235ea26cfc3b40fee32ba6386132bf 100644 GIT binary patch literal 15029 zcmeI3O>E;t6vwBmv?@V+0*Qr_H!Gw?tmBU)O=3A&m8456ky5om+e%2=i9JcICbqGi zChciOkq}qd!wPZc$YBp$H~Cp2)*!P__u^U`aGJMd|qGB?ld zIDzALoCQ-(+zThBYf`UI=AL`Mz24lZ{b22oA{Zf^o9Q=>Tq11~-|2e>Sv#bUa(&*@ z2UcskIOmi?&%%2rLu)}==!w&!tq`w}PM=k)dISfK*KnL}CEjIQV}wGrD%`kZ*`_n_ zU)LoVJzeUl5UJsSR8(2bi*iv^m4+&7xvZw--;lGKEGI!z|q>_wH=$MAqa=ac6Dpn7-iR9XCU78LiA}1S4t2$lBqqjvWSzVepoXCnc znYLm30k#dYQLE5_jAfaci4B}HT1C-NnyQG6TvKeeuqn1$g=VRkRn3;FL=fxsWcrMB z%`y66p^T(WD!o!#F=UypN>(jkaYe~x#Zs$D#Fio}xTzMEJSJo5MEZ>MJDx?G9PTD! z!n=RcDdxz`Oto(LbZZ_Zwk+MaQ5)MK@1GwXJGxfXj$G{dBrLXadR%Rj{xxY&VNO)E z8aBd4Rx!d_Af_&z8=ccrbR4f%mEf(>eRxrRGS#8rj z@h@c_3!cw_%DNQx{I2yMtbvaYpKb*%Rzgp?0?BstzpTJ??;0I!w~1Mi#@lv0aIr;; zm-2i)joZL%{psQFk49^k?js!43~fgpwcEJ(-#$bj8cuX2@b=IEo(@+yETjUTR-d~YLPxz zlmtC|e1MnZ0zlX% z$HnFYyc`z*!ZtZBHXq>SxBw8g$#Jpy058V{fUr%Di_HgkIW7Q%ZE{>}KETUy0U&IX z<6`pxUXBX@VVfKmn-B1ETmT5$HaRXfAK>M<01&px zak2RTFUJLduuYDO%?EfnE&zmWa$Iaaz{_y~AZ(N4V)FrBjtc-`n@n7(>1Ue6rr%}` z=tr2V_y0bnA8-oB`gR?mMs2k* zJpJS6YfA_%e=9%y@#Li&r=LFe==;=r`ok}lG9NDA`wm^cv@bu=>6e>S`|Ruzy8qG1 VD?dH>>Mv@djkV3%mv8QW@DEDHI+p+d literal 460 zcmeAS@N?(olHy`uVBq!ia0y~yV3Yu|C0Lk&14Ba#1H&(% zP{RubhEf9thF1v;3|2E37{m+a>*3fk0u#ByV>YZu#p+4gfjqC7!;n>@S#w#U(A@Emj3N$<@=vF~s9| zazcod$$^H0rnwgy1lYDVmN7A@^jf7|F8NB@{RG=xAPYP4OA_0jVMV;EJ?LWE=mPb3`Pb<2D%2OKonwVWMyD% zWnijpU|?lnz$5(aIEsec{FKbJN{|KN>oK)5HHYYV5OH)RP>&=?PjG%(NqJ&XDuZK6ep0G}XKrG8YEWuoN@d~6 RR8WvJc)I$ztaD0e0sw#!kYxY> diff --git a/indra/newview/skins/default/xui/en/widgets/filter_editor.xml b/indra/newview/skins/default/xui/en/widgets/filter_editor.xml index 604f62b099e..3a0f43de3d8 100644 --- a/indra/newview/skins/default/xui/en/widgets/filter_editor.xml +++ b/indra/newview/skins/default/xui/en/widgets/filter_editor.xml @@ -7,10 +7,10 @@ select_on_focus="true" text_tentative_color="TextFgTentativeColor" highlight_text_field="true" - background_image="TextField_Search_Off" - background_image_disabled="TextField_Search_Disabled" - background_image_focused="TextField_Search_Active" - background_image_highlight="TextField_Search_Highlight"> + background_image="TextField_Off" + background_image_disabled="TextField_Disabled" + background_image_focused="TextField_Active" + background_image_highlight="TextField_Highlight"> + background_image="TextField_Off" + background_image_disabled="TextField_Disabled" + background_image_focused="TextField_Active" + background_image_highlight="TextField_Highlight"> Date: Fri, 19 Sep 2025 17:24:01 +0300 Subject: [PATCH 012/248] viewer#2023 Google Inter #3 Size increase shouldn't have been specific for ja, it was meant to be universal. --- indra/newview/skins/default/xui/en/fonts.xml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/indra/newview/skins/default/xui/en/fonts.xml b/indra/newview/skins/default/xui/en/fonts.xml index fafe6a3ebcc..de8e6404553 100644 --- a/indra/newview/skins/default/xui/en/fonts.xml +++ b/indra/newview/skins/default/xui/en/fonts.xml @@ -180,15 +180,15 @@ /> Date: Wed, 8 Oct 2025 18:58:27 -0700 Subject: [PATCH 013/248] First commit for a second experiment, investigating how nearby voice/chat moderation might work --- indra/newview/CMakeLists.txt | 2 + indra/newview/llfloaterimcontainer.cpp | 96 +++++++++++++++- indra/newview/llfloaterimcontainer.h | 2 + indra/newview/llnearbyvoicemoderation.cpp | 102 +++++++++++++++++ indra/newview/llnearbyvoicemoderation.h | 41 +++++++ .../default/xui/en/menu_conversation.xml | 105 +++++++++--------- 6 files changed, 291 insertions(+), 57 deletions(-) create mode 100644 indra/newview/llnearbyvoicemoderation.cpp create mode 100644 indra/newview/llnearbyvoicemoderation.h diff --git a/indra/newview/CMakeLists.txt b/indra/newview/CMakeLists.txt index c727d5ae572..239193001cf 100644 --- a/indra/newview/CMakeLists.txt +++ b/indra/newview/CMakeLists.txt @@ -414,6 +414,7 @@ set(viewer_SOURCE_FILES llfloaterimnearbychat.cpp llfloaterimnearbychathandler.cpp llfloaterimnearbychatlistener.cpp + llnearbyvoicemoderation.cpp llnetmap.cpp llnotificationalerthandler.cpp llnotificationgrouphandler.cpp @@ -1087,6 +1088,7 @@ set(viewer_HEADER_FILES llnameeditor.h llnamelistctrl.h llnavigationbar.h + llnearbyvoicemoderation.h llnetmap.h llnotificationhandler.h llnotificationlistitem.h diff --git a/indra/newview/llfloaterimcontainer.cpp b/indra/newview/llfloaterimcontainer.cpp index d821d9a4a56..9a016f6286a 100644 --- a/indra/newview/llfloaterimcontainer.cpp +++ b/indra/newview/llfloaterimcontainer.cpp @@ -57,6 +57,8 @@ #include "llsdserialize.h" #include "llviewermenu.h" // is_agent_mappable #include "llviewerobjectlist.h" +#include "llvoavatar.h" +#include "llnearbyvoicemoderation.h" const S32 EVENTS_PER_IDLE_LOOP_CURRENT_SESSION = 80; @@ -502,12 +504,13 @@ void LLFloaterIMContainer::idleUpdate() const LLConversationItem *current_session = getCurSelectedViewModelItem(); if (current_session) { - if (current_session->getType() == LLConversationItem::CONV_SESSION_GROUP) + bool is_nearby_chat = current_session->getType() == LLConversationItem::CONV_SESSION_NEARBY; + if (current_session->getType() == LLConversationItem::CONV_SESSION_GROUP || is_nearby_chat) { // Update moderator options visibility LLFolderViewModelItemCommon::child_list_t::const_iterator current_participant_model = current_session->getChildrenBegin(); LLFolderViewModelItemCommon::child_list_t::const_iterator end_participant_model = current_session->getChildrenEnd(); - bool is_moderator = isGroupModerator(); + bool is_moderator = isGroupModerator() || (is_nearby_chat && isNearbyChatModerator()); bool can_ban = haveAbilityToBan(); while (current_participant_model != end_participant_model) { @@ -1685,6 +1688,10 @@ bool LLFloaterIMContainer::visibleContextMenuItem(const LLSD& userdata) { return isMuted(conversation_item->getUUID()); } + else if ("can_allow_text_chat" == item) + { + return !isNearbyChatSpeakerSelected(); + } return true; } @@ -2009,9 +2016,27 @@ LLConversationViewParticipant* LLFloaterIMContainer::createConversationViewParti bool LLFloaterIMContainer::enableModerateContextMenuItem(const std::string& userdata, bool is_self) { - // only group moderators can perform actions related to this "enable callback" - if (!isGroupModerator()) + if (isNearbyChatModerator() && isNearbyChatSpeakerSelected()) + { + // Determine here which actions are allowed + if ("can_moderate_voice" == userdata) + { + return true; + } + else if (("can_mute" == userdata)) + { + return true; + } + else if ("can_unmute" == userdata) + { + return true; + } + + return false; + } + else if (!isGroupModerator()) { + // only group moderators can perform actions related to this "enable callback" return false; } @@ -2144,7 +2169,37 @@ void LLFloaterIMContainer::banSelectedMember(const LLUUID& participant_uuid) void LLFloaterIMContainer::moderateVoice(const std::string& command, const LLUUID& userID) { - if (!gAgent.getRegion()) return; + if (!gAgent.getRegion()) + { + return; + } + + if (isNearbyChatSpeakerSelected()) + { + if ("selected" == command) + { + // Toggle the voice icon display + LLAvatarActions::toggleMuteVoice(userID); + + // Request a mute/unmute using a capability request via the simulator + const bool mute_state = LLAvatarActions::isVoiceMuted(userID); + LLNearbyVoiceModeration::getInstance()->requestMuteChange(userID, mute_state); + } + else + if ("mute_all" == command) + { + // TODO: the SpatialVoiceModerationRequest has an mute_all/unmute_all + // verb but we do not have an equivalent of LLAvatarActions::toggleMuteVoice(userID); + // to visually mute all the speaker icons in the conversation floater + } + else + if ("unmute_all" == command) + { + // TODO: same idea as "mute_all" above + } + + return; + } if (command.compare("selected")) { @@ -2262,6 +2317,37 @@ LLSpeaker * LLFloaterIMContainer::getSpeakerOfSelectedParticipant(LLSpeakerMgr * return speaker_managerp->findSpeaker(participant_itemp->getUUID()); } +bool LLFloaterIMContainer::isNearbyChatSpeakerSelected() +{ + LLFolderViewItem *selectedItem = mConversationsRoot->getCurSelectedItem(); + if (NULL == selectedItem) + { + LL_WARNS() << "Current selected item is null" << LL_ENDL; + return NULL; + } + + conversations_widgets_map::const_iterator iter = mConversationsWidgets.begin(); + conversations_widgets_map::const_iterator end = mConversationsWidgets.end(); + const LLUUID * conversation_uuidp = NULL; + while(iter != end) + { + if (iter->second == selectedItem || iter->second == selectedItem->getParentFolder()) + { + conversation_uuidp = &iter->first; + break; + } + ++iter; + } + // Nearby chat ID is LLUUID::null + return conversation_uuidp->isNull(); +} + +bool LLFloaterIMContainer::isNearbyChatModerator() +{ + // TODO: Need a better heurestic for determining if this person is a moderator :) + return true; +} + void LLFloaterIMContainer::toggleAllowTextChat(const LLUUID& participant_uuid) { LLIMSpeakerMgr * speaker_managerp = dynamic_cast(getSpeakerMgrForSelectedParticipant()); diff --git a/indra/newview/llfloaterimcontainer.h b/indra/newview/llfloaterimcontainer.h index 30eed8be365..c91093c1073 100644 --- a/indra/newview/llfloaterimcontainer.h +++ b/indra/newview/llfloaterimcontainer.h @@ -178,6 +178,8 @@ class LLFloaterIMContainer void banSelectedMember(const LLUUID& participant_uuid); void openNearbyChat(); bool isParticipantListExpanded(); + bool isNearbyChatSpeakerSelected(); + bool isNearbyChatModerator(); void idleUpdate(); // for convenience (self) from static idle void idleProcessEvents(); diff --git a/indra/newview/llnearbyvoicemoderation.cpp b/indra/newview/llnearbyvoicemoderation.cpp new file mode 100644 index 00000000000..d714fc36b4f --- /dev/null +++ b/indra/newview/llnearbyvoicemoderation.cpp @@ -0,0 +1,102 @@ +/** + * @file llnearbyvoicemoderation.cpp + * + * $LicenseInfo:firstyear=2008&license=viewerlgpl$ + * Second Life Viewer Source Code + * Copyright (C) 2010, Linden Research, Inc. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; + * version 2.1 of the License only. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA + * $/LicenseInfo$ + */ + +#include "llviewerprecompiledheaders.h" + +#include "llagent.h" +#include "llviewerregion.h" +#include "llvoavatar.h" +#include "llviewerobjectlist.h" + +#include "llnearbyvoicemoderation.h" + +LLVOAvatar* LLNearbyVoiceModeration::getVOAvatarFromId(const LLUUID& agent_id) +{ + LLViewerObject *obj = gObjectList.findObject(agent_id); + while (obj && obj->isAttachment()) + { + obj = (LLViewerObject*)obj->getParent(); + } + + if (obj && obj->isAvatar()) + { + return (LLVOAvatar*)obj; + } + else + { + return NULL; + } +} + +void LLNearbyVoiceModeration::requestMuteChange(const LLUUID& agent_id, bool mute) +{ + LLVOAvatar* avatar = getVOAvatarFromId(agent_id); + if (avatar) + { + LLViewerRegion* region = avatar->getRegion(); + if (! region || ! region->capabilitiesReceived()) + { + // TODO: Retry if fails since the capabilities may not have been received + // if this is called early into a region entry + LL_INFOS() << "Region or region capabilities unavailable" << LL_ENDL; + return; + } + LL_INFOS() << "Region name is " << region->getName() << LL_ENDL; + + std::string url = region->getCapability("SpatialVoiceModerationRequest"); + if (url.empty()) + { + // TODO: Retry if fails since URL may not have not be available + // if this is called early into a region entry + LL_INFOS() << "Capability URL is empty" << LL_ENDL; + return; + } + LL_INFOS() << "Capability URL is " << url << LL_ENDL; + + const std::string agent_name = avatar->getFullname(); + + const std::string operand = mute ? "mute" : "unmute"; + + LLSD body; + body["operand"] = operand; + body["agent_id"] = agent_id; + body["moderator_id"] = gAgent.getID(); + + LL_INFOS() << "Resident " << agent_name + << " (" << agent_id << ")" << " applying " << operand << LL_ENDL; + + std::string success_msg = + STRINGIZE("Resident " << agent_name + << " (" << agent_id << ")" << " nearby voice was set to " << operand); + + std::string failure_msg = + STRINGIZE("Unable to change voice muting for resident " + << agent_name << " (" << agent_id << ")"); + + LLCoreHttpUtil::HttpCoroutineAdapter::messageHttpPost(url, body, + success_msg, + failure_msg); + } +} diff --git a/indra/newview/llnearbyvoicemoderation.h b/indra/newview/llnearbyvoicemoderation.h new file mode 100644 index 00000000000..4275754dbff --- /dev/null +++ b/indra/newview/llnearbyvoicemoderation.h @@ -0,0 +1,41 @@ +/** + * @file llnearbyvoicemoderation.h + * + * $LicenseInfo:firstyear=2008&license=viewerlgpl$ + * Second Life Viewer Source Code + * Copyright (C) 2010, Linden Research, Inc. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; + * version 2.1 of the License only. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + * + * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA + * $/LicenseInfo$ + */ + +#pragma once + +class LLVOAvatar; + +class LLNearbyVoiceModeration : + public LLSingleton { + LLSINGLETON(LLNearbyVoiceModeration) { + }; + + ~LLNearbyVoiceModeration() { + }; + + public: + LLVOAvatar* getVOAvatarFromId(const LLUUID& id); + void requestMuteChange(const LLUUID& userID, bool mute); +}; diff --git a/indra/newview/skins/default/xui/en/menu_conversation.xml b/indra/newview/skins/default/xui/en/menu_conversation.xml index 62cdaa5886d..cf9b8959ce4 100644 --- a/indra/newview/skins/default/xui/en/menu_conversation.xml +++ b/indra/newview/skins/default/xui/en/menu_conversation.xml @@ -176,57 +176,58 @@ - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - From 219da2a16b3ae6e1d2e02b05159b37fa1aca1f47 Mon Sep 17 00:00:00 2001 From: Callum Prentice Date: Thu, 9 Oct 2025 10:44:32 -0700 Subject: [PATCH 014/248] Remove separator bar for Nearby Voice --- indra/newview/skins/default/xui/en/menu_conversation.xml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/indra/newview/skins/default/xui/en/menu_conversation.xml b/indra/newview/skins/default/xui/en/menu_conversation.xml index cf9b8959ce4..5a28f0dde57 100644 --- a/indra/newview/skins/default/xui/en/menu_conversation.xml +++ b/indra/newview/skins/default/xui/en/menu_conversation.xml @@ -190,7 +190,9 @@ - + + + Date: Mon, 13 Oct 2025 14:57:01 -0700 Subject: [PATCH 015/248] Improve robustness of when moderator options appear and add some initial code for muting indivudual / everyone via the capability --- indra/newview/llfloaterimcontainer.cpp | 42 +++++++++- indra/newview/llnearbyvoicemoderation.cpp | 97 ++++++++++++++++------- indra/newview/llnearbyvoicemoderation.h | 6 +- 3 files changed, 111 insertions(+), 34 deletions(-) diff --git a/indra/newview/llfloaterimcontainer.cpp b/indra/newview/llfloaterimcontainer.cpp index 9a016f6286a..2b9fb9dd375 100644 --- a/indra/newview/llfloaterimcontainer.cpp +++ b/indra/newview/llfloaterimcontainer.cpp @@ -504,13 +504,12 @@ void LLFloaterIMContainer::idleUpdate() const LLConversationItem *current_session = getCurSelectedViewModelItem(); if (current_session) { - bool is_nearby_chat = current_session->getType() == LLConversationItem::CONV_SESSION_NEARBY; - if (current_session->getType() == LLConversationItem::CONV_SESSION_GROUP || is_nearby_chat) + if (current_session->getType() == LLConversationItem::CONV_SESSION_GROUP) { // Update moderator options visibility LLFolderViewModelItemCommon::child_list_t::const_iterator current_participant_model = current_session->getChildrenBegin(); LLFolderViewModelItemCommon::child_list_t::const_iterator end_participant_model = current_session->getChildrenEnd(); - bool is_moderator = isGroupModerator() || (is_nearby_chat && isNearbyChatModerator()); + bool is_moderator = isGroupModerator(); bool can_ban = haveAbilityToBan(); while (current_participant_model != end_participant_model) { @@ -533,6 +532,23 @@ void LLFloaterIMContainer::idleUpdate() mGeneralTitleInUse = !needs_override; setTitle(needs_override ? conversation_floaterp->getTitle() : mGeneralTitle); } + const LLConversationItem* nearby_session = getSessionModel(LLUUID()); + if (nearby_session) + { + LLFolderViewModelItemCommon::child_list_t::const_iterator current_participant_model = nearby_session->getChildrenBegin(); + LLFolderViewModelItemCommon::child_list_t::const_iterator end_participant_model = nearby_session->getChildrenEnd(); + while (current_participant_model != end_participant_model) + { + LLConversationItemParticipant* participant_model = + dynamic_cast((*current_participant_model).get()); + if (participant_model) + { + participant_model->setModeratorOptionsVisible(isNearbyChatModerator()); + } + + current_participant_model++; + } + } } mParticipantRefreshTimer.setTimerExpirySec(1.0f); @@ -2183,7 +2199,7 @@ void LLFloaterIMContainer::moderateVoice(const std::string& command, const LLUUI // Request a mute/unmute using a capability request via the simulator const bool mute_state = LLAvatarActions::isVoiceMuted(userID); - LLNearbyVoiceModeration::getInstance()->requestMuteChange(userID, mute_state); + LLNearbyVoiceModeration::getInstance()->requestMuteIndividual(userID, mute_state); } else if ("mute_all" == command) @@ -2191,11 +2207,29 @@ void LLFloaterIMContainer::moderateVoice(const std::string& command, const LLUUI // TODO: the SpatialVoiceModerationRequest has an mute_all/unmute_all // verb but we do not have an equivalent of LLAvatarActions::toggleMuteVoice(userID); // to visually mute all the speaker icons in the conversation floater + + // Mute visually too + conversations_widgets_map::const_iterator iter = mConversationsWidgets.begin(); + conversations_widgets_map::const_iterator end = mConversationsWidgets.end(); + const LLUUID * conversation_uuidp = NULL; + while(iter != end) + { + const LLUUID id = (*iter).first; + ++iter; + } + + // Send the mute_all request to the server + const bool mute_state = true; + LLNearbyVoiceModeration::getInstance()->requestMuteAll(mute_state); } else if ("unmute_all" == command) { // TODO: same idea as "mute_all" above + + // Send the unmute_all request to the server + const bool mute_state = false; + LLNearbyVoiceModeration::getInstance()->requestMuteAll(mute_state); } return; diff --git a/indra/newview/llnearbyvoicemoderation.cpp b/indra/newview/llnearbyvoicemoderation.cpp index d714fc36b4f..5ae8feba08c 100644 --- a/indra/newview/llnearbyvoicemoderation.cpp +++ b/indra/newview/llnearbyvoicemoderation.cpp @@ -50,53 +50,92 @@ LLVOAvatar* LLNearbyVoiceModeration::getVOAvatarFromId(const LLUUID& agent_id) } } -void LLNearbyVoiceModeration::requestMuteChange(const LLUUID& agent_id, bool mute) +const std::string LLNearbyVoiceModeration::getCapUrlFromRegion(LLViewerRegion* region) +{ + if (! region || ! region->capabilitiesReceived()) + { + // TODO: Retry if fails since the capabilities may not have been received + // if this is called early into a region entry + LL_INFOS() << "Region or region capabilities unavailable." << LL_ENDL; + return std::string(); + } + LL_INFOS() << "Capabilities for region " << region->getName() << " received." << LL_ENDL; + + std::string url = region->getCapability("SpatialVoiceModerationRequest"); + if (url.empty()) + { + // TODO: Retry if fails since URL may not have not be available + // if this is called early into a region entry + LL_INFOS() << "Capability URL for region " << region->getName() << " is empty" << LL_ENDL; + return std::string(); + } + LL_INFOS() << "Capability URL for region " << region->getName() << " is " << url << LL_ENDL; + + return url; +} + +void LLNearbyVoiceModeration::requestMuteIndividual(const LLUUID& agent_id, bool mute) { LLVOAvatar* avatar = getVOAvatarFromId(agent_id); if (avatar) { - LLViewerRegion* region = avatar->getRegion(); - if (! region || ! region->capabilitiesReceived()) + const std::string cap_url = getCapUrlFromRegion(avatar->getRegion()); + if (cap_url.length()) { - // TODO: Retry if fails since the capabilities may not have been received - // if this is called early into a region entry - LL_INFOS() << "Region or region capabilities unavailable" << LL_ENDL; - return; - } - LL_INFOS() << "Region name is " << region->getName() << LL_ENDL; + const std::string operand = mute ? "mute" : "unmute"; - std::string url = region->getCapability("SpatialVoiceModerationRequest"); - if (url.empty()) - { - // TODO: Retry if fails since URL may not have not be available - // if this is called early into a region entry - LL_INFOS() << "Capability URL is empty" << LL_ENDL; - return; + LLSD body; + body["operand"] = operand; + body["agent_id"] = agent_id; + body["moderator_id"] = gAgent.getID(); + + const std::string agent_name = avatar->getFullname(); + LL_INFOS() << "Resident " << agent_name + << " (" << agent_id << ")" << " applying " << operand << LL_ENDL; + + std::string success_msg = + STRINGIZE("Resident " << agent_name + << " (" << agent_id << ")" << " nearby voice was set to " << operand); + + std::string failure_msg = + STRINGIZE("Unable to change voice muting for resident " + << agent_name << " (" << agent_id << ")"); + + LLCoreHttpUtil::HttpCoroutineAdapter::messageHttpPost( + cap_url, + body, + success_msg, + failure_msg); } - LL_INFOS() << "Capability URL is " << url << LL_ENDL; + } +} - const std::string agent_name = avatar->getFullname(); +void LLNearbyVoiceModeration::requestMuteAll(bool mute) +{ + // Use our own avatar to get the region name + LLViewerRegion* region = gAgent.getRegion(); - const std::string operand = mute ? "mute" : "unmute"; + const std::string cap_url = getCapUrlFromRegion(region); + if (cap_url.length()) + { + const std::string operand = mute ? "mute_all" : "unmute_all"; LLSD body; body["operand"] = operand; - body["agent_id"] = agent_id; body["moderator_id"] = gAgent.getID(); - LL_INFOS() << "Resident " << agent_name - << " (" << agent_id << ")" << " applying " << operand << LL_ENDL; + LL_INFOS() << "For all residents in this region, applying: " << operand << LL_ENDL; std::string success_msg = - STRINGIZE("Resident " << agent_name - << " (" << agent_id << ")" << " nearby voice was set to " << operand); + STRINGIZE("Nearby voice for all residents was set to: " << operand); std::string failure_msg = - STRINGIZE("Unable to change voice muting for resident " - << agent_name << " (" << agent_id << ")"); + STRINGIZE("Unable to set nearby voice for all residents to: " << operand); - LLCoreHttpUtil::HttpCoroutineAdapter::messageHttpPost(url, body, - success_msg, - failure_msg); + LLCoreHttpUtil::HttpCoroutineAdapter::messageHttpPost( + cap_url, + body, + success_msg, + failure_msg); } } diff --git a/indra/newview/llnearbyvoicemoderation.h b/indra/newview/llnearbyvoicemoderation.h index 4275754dbff..8a1ca5af6bd 100644 --- a/indra/newview/llnearbyvoicemoderation.h +++ b/indra/newview/llnearbyvoicemoderation.h @@ -37,5 +37,9 @@ class LLNearbyVoiceModeration : public: LLVOAvatar* getVOAvatarFromId(const LLUUID& id); - void requestMuteChange(const LLUUID& userID, bool mute); + void requestMuteIndividual(const LLUUID& userID, bool mute); + void requestMuteAll(bool mute); + + private: + const std::string getCapUrlFromRegion(LLViewerRegion* region); }; From cf048cf9c3ebd9ca8ee1e606b69bc459b62ed1c5 Mon Sep 17 00:00:00 2001 From: Mnikolenko Productengine Date: Thu, 30 Oct 2025 16:59:51 +0200 Subject: [PATCH 016/248] #4013 Update voice moderator options; show notifications when muted; add stub code for info request --- indra/newview/llfloaterimcontainer.cpp | 35 +----- indra/newview/llfloaterimcontainer.h | 1 - indra/newview/llnearbyvoicemoderation.cpp | 113 +++++++++++++++++- indra/newview/llnearbyvoicemoderation.h | 26 ++-- indra/newview/llviewerregion.cpp | 1 + indra/newview/llvoiceclient.cpp | 4 + indra/newview/llvoicewebrtc.cpp | 8 +- .../skins/default/xui/en/notifications.xml | 23 ++++ 8 files changed, 165 insertions(+), 46 deletions(-) diff --git a/indra/newview/llfloaterimcontainer.cpp b/indra/newview/llfloaterimcontainer.cpp index c25fbdcc51e..ac8234bf24c 100644 --- a/indra/newview/llfloaterimcontainer.cpp +++ b/indra/newview/llfloaterimcontainer.cpp @@ -92,6 +92,7 @@ LLFloaterIMContainer::LLFloaterIMContainer(const LLSD& seed, const Params& param mAutoResize = false; LLTransientFloaterMgr::getInstance()->addControlView(LLTransientFloaterMgr::IM, this); + LLNearbyVoiceModeration::getInstance(); } LLFloaterIMContainer::~LLFloaterIMContainer() @@ -543,7 +544,7 @@ void LLFloaterIMContainer::idleUpdate() dynamic_cast((*current_participant_model).get()); if (participant_model) { - participant_model->setModeratorOptionsVisible(isNearbyChatModerator()); + participant_model->setModeratorOptionsVisible(LLNearbyVoiceModeration::getInstance()->isNearbyChatModerator()); } current_participant_model++; @@ -2037,7 +2038,7 @@ LLConversationViewParticipant* LLFloaterIMContainer::createConversationViewParti bool LLFloaterIMContainer::enableModerateContextMenuItem(const std::string& userdata, bool is_self) { - if (isNearbyChatModerator() && isNearbyChatSpeakerSelected()) + if (LLNearbyVoiceModeration::getInstance()->isNearbyChatModerator() && isNearbyChatSpeakerSelected()) { // Determine here which actions are allowed if ("can_moderate_voice" == userdata) @@ -2046,7 +2047,7 @@ bool LLFloaterIMContainer::enableModerateContextMenuItem(const std::string& user } else if (("can_mute" == userdata)) { - return true; + return !is_self; } else if ("can_unmute" == userdata) { @@ -2199,30 +2200,12 @@ void LLFloaterIMContainer::moderateVoice(const std::string& command, const LLUUI { if ("selected" == command) { - // Toggle the voice icon display - LLAvatarActions::toggleMuteVoice(userID); - // Request a mute/unmute using a capability request via the simulator - const bool mute_state = LLAvatarActions::isVoiceMuted(userID); - LLNearbyVoiceModeration::getInstance()->requestMuteIndividual(userID, mute_state); + LLNearbyVoiceModeration::getInstance()->requestMuteIndividual(userID, !isMuted(userID)); } else if ("mute_all" == command) { - // TODO: the SpatialVoiceModerationRequest has an mute_all/unmute_all - // verb but we do not have an equivalent of LLAvatarActions::toggleMuteVoice(userID); - // to visually mute all the speaker icons in the conversation floater - - // Mute visually too - conversations_widgets_map::const_iterator iter = mConversationsWidgets.begin(); - conversations_widgets_map::const_iterator end = mConversationsWidgets.end(); - const LLUUID * conversation_uuidp = NULL; - while(iter != end) - { - const LLUUID id = (*iter).first; - ++iter; - } - // Send the mute_all request to the server const bool mute_state = true; LLNearbyVoiceModeration::getInstance()->requestMuteAll(mute_state); @@ -2230,8 +2213,6 @@ void LLFloaterIMContainer::moderateVoice(const std::string& command, const LLUUI else if ("unmute_all" == command) { - // TODO: same idea as "mute_all" above - // Send the unmute_all request to the server const bool mute_state = false; LLNearbyVoiceModeration::getInstance()->requestMuteAll(mute_state); @@ -2381,12 +2362,6 @@ bool LLFloaterIMContainer::isNearbyChatSpeakerSelected() return conversation_uuidp->isNull(); } -bool LLFloaterIMContainer::isNearbyChatModerator() -{ - // TODO: Need a better heurestic for determining if this person is a moderator :) - return true; -} - void LLFloaterIMContainer::toggleAllowTextChat(const LLUUID& participant_uuid) { LLIMSpeakerMgr * speaker_managerp = dynamic_cast(getSpeakerMgrForSelectedParticipant()); diff --git a/indra/newview/llfloaterimcontainer.h b/indra/newview/llfloaterimcontainer.h index c91093c1073..9f1690a9b9c 100644 --- a/indra/newview/llfloaterimcontainer.h +++ b/indra/newview/llfloaterimcontainer.h @@ -179,7 +179,6 @@ class LLFloaterIMContainer void openNearbyChat(); bool isParticipantListExpanded(); bool isNearbyChatSpeakerSelected(); - bool isNearbyChatModerator(); void idleUpdate(); // for convenience (self) from static idle void idleProcessEvents(); diff --git a/indra/newview/llnearbyvoicemoderation.cpp b/indra/newview/llnearbyvoicemoderation.cpp index 5ae8feba08c..ec0e1c04312 100644 --- a/indra/newview/llnearbyvoicemoderation.cpp +++ b/indra/newview/llnearbyvoicemoderation.cpp @@ -26,12 +26,29 @@ #include "llviewerprecompiledheaders.h" #include "llagent.h" +#include "llnotificationsutil.h" #include "llviewerregion.h" #include "llvoavatar.h" +#include "llvoiceclient.h" #include "llviewerobjectlist.h" #include "llnearbyvoicemoderation.h" +LLNearbyVoiceModeration::LLNearbyVoiceModeration() +{ + // TODO: default to false, when appropriate info cap is added + mIsNearbyChatModerator = true; + mParcelCallbackConnection = gAgent.addParcelChangedCallback([this]() { updateModeratorStatus(); }); +} + +LLNearbyVoiceModeration::~LLNearbyVoiceModeration() +{ + if (mParcelCallbackConnection.connected()) + { + mParcelCallbackConnection.disconnect(); + } +} + LLVOAvatar* LLNearbyVoiceModeration::getVOAvatarFromId(const LLUUID& agent_id) { LLViewerObject *obj = gObjectList.findObject(agent_id); @@ -54,18 +71,12 @@ const std::string LLNearbyVoiceModeration::getCapUrlFromRegion(LLViewerRegion* r { if (! region || ! region->capabilitiesReceived()) { - // TODO: Retry if fails since the capabilities may not have been received - // if this is called early into a region entry - LL_INFOS() << "Region or region capabilities unavailable." << LL_ENDL; return std::string(); } - LL_INFOS() << "Capabilities for region " << region->getName() << " received." << LL_ENDL; std::string url = region->getCapability("SpatialVoiceModerationRequest"); if (url.empty()) { - // TODO: Retry if fails since URL may not have not be available - // if this is called early into a region entry LL_INFOS() << "Capability URL for region " << region->getName() << " is empty" << LL_ENDL; return std::string(); } @@ -139,3 +150,93 @@ void LLNearbyVoiceModeration::requestMuteAll(bool mute) failure_msg); } } + +void LLNearbyVoiceModeration::setMutedInfo(const std::string& channelID, bool mute) +{ + auto it = mChannelMuteMap.find(channelID); + if (it == mChannelMuteMap.end()) + { + if (mute) + { + // Channel is new and being muted + showMutedNotification(true); + } + mChannelMuteMap[channelID] = mute; + } + else + { + if (it->second != mute) + { + // Flag changed + showMutedNotification(mute); + it->second = mute; + } + } +} + +void LLNearbyVoiceModeration::showNotificationIfNeeded() +{ + if (LLVoiceClient::getInstance()->inProximalChannel() && + LLVoiceClient::getInstance()->getIsModeratorMuted(gAgentID)) + { + showMutedNotification(true); + } +} + +void LLNearbyVoiceModeration::showMutedNotification(bool is_muted) +{ + // Check if the current voice channel is nearby chat + if (LLVoiceClient::getInstance()->inProximalChannel()) + { + LLNotificationsUtil::add(is_muted ? "NearbyVoiceMutedByModerator" : "NearbyVoiceUnmutedByModerator"); + } +} + +void LLNearbyVoiceModeration::updateModeratorStatus() +{ + LL_WARNS() << "Request moderator status info" << LL_ENDL; + // TODO: Uncomment and set correct capability name, when appropriate info cap is added + /* + if (LLViewerRegion* region = gAgent.getRegion()) + { + + std::string url = region->getCapability("SpatialVoiceModerationInfoRequest"); + if (!url.empty()) + { + LLCoros::instance().launch("getModeratorStatusCoro", [url]() { getModeratorStatusCoro(url); }); + } + } + */ +} + +void LLNearbyVoiceModeration::getModeratorStatusCoro(std::string cap_url) +{ + LLCore::HttpRequest::policy_t httpPolicy(LLCore::HttpRequest::DEFAULT_POLICY_ID); + LLCoreHttpUtil::HttpCoroutineAdapter::ptr_t httpAdapter(new LLCoreHttpUtil::HttpCoroutineAdapter("getModeratorStatusCoro", httpPolicy)); + LLCore::HttpRequest::ptr_t httpRequest(new LLCore::HttpRequest); + LLCore::HttpOptions::ptr_t httpOpts(new LLCore::HttpOptions); + LLCore::HttpHeaders::ptr_t httpHeaders; + + httpOpts->setFollowRedirects(true); + + LLSD result = httpAdapter->getAndSuspend(httpRequest, cap_url, httpOpts, httpHeaders); + + LLSD httpResults = result[LLCoreHttpUtil::HttpCoroutineAdapter::HTTP_RESULTS]; + LLCore::HttpStatus status = LLCoreHttpUtil::HttpCoroutineAdapter::getStatusFromLLSD(httpResults); + + if (!status) + { + LL_WARNS() << "Failed to get nearby voice moderator info" << LL_ENDL; + return; + } + else if (!result["success"].asBoolean()) + { + LL_WARNS() << "Failed to get nearby voice moderator info: " << result["message"] << LL_ENDL; + return; + } + + // TODO: update the field, when appropriate info cap is added + bool is_moderator = result["moderator"].asBoolean(); + LLNearbyVoiceModeration::getInstance()->setNearbyChatModerator(is_moderator); +} + diff --git a/indra/newview/llnearbyvoicemoderation.h b/indra/newview/llnearbyvoicemoderation.h index 8a1ca5af6bd..21d185db54b 100644 --- a/indra/newview/llnearbyvoicemoderation.h +++ b/indra/newview/llnearbyvoicemoderation.h @@ -27,19 +27,29 @@ class LLVOAvatar; -class LLNearbyVoiceModeration : - public LLSingleton { - LLSINGLETON(LLNearbyVoiceModeration) { - }; - - ~LLNearbyVoiceModeration() { - }; +class LLNearbyVoiceModeration : public LLSingleton { + LLSINGLETON(LLNearbyVoiceModeration); + ~LLNearbyVoiceModeration(); public: - LLVOAvatar* getVOAvatarFromId(const LLUUID& id); void requestMuteIndividual(const LLUUID& userID, bool mute); void requestMuteAll(bool mute); + void setMutedInfo(const std::string& channelID, bool mute); + void showMutedNotification(bool is_muted); + void showNotificationIfNeeded(); + + void updateModeratorStatus(); + static void getModeratorStatusCoro(std::string cap_url); + + bool isNearbyChatModerator() { return mIsNearbyChatModerator; }; + void setNearbyChatModerator(bool moderator) { mIsNearbyChatModerator = moderator; } + private: + LLVOAvatar* getVOAvatarFromId(const LLUUID& id); const std::string getCapUrlFromRegion(LLViewerRegion* region); + + boost::signals2::connection mParcelCallbackConnection; + std::map mChannelMuteMap; + bool mIsNearbyChatModerator; }; diff --git a/indra/newview/llviewerregion.cpp b/indra/newview/llviewerregion.cpp index a085bc4d914..fa60c368341 100755 --- a/indra/newview/llviewerregion.cpp +++ b/indra/newview/llviewerregion.cpp @@ -3300,6 +3300,7 @@ void LLViewerRegionImpl::buildCapabilityNames(LLSD& capabilityNames) capabilityNames.append("SetDisplayName"); capabilityNames.append("SimConsoleAsync"); capabilityNames.append("SimulatorFeatures"); + capabilityNames.append("SpatialVoiceModerationRequest"); capabilityNames.append("StartGroupProposal"); capabilityNames.append("TerrainNavMeshProperties"); capabilityNames.append("TextureStats"); diff --git a/indra/newview/llvoiceclient.cpp b/indra/newview/llvoiceclient.cpp index 71a9e71a9fd..5a2ef248ba3 100644 --- a/indra/newview/llvoiceclient.cpp +++ b/indra/newview/llvoiceclient.cpp @@ -39,6 +39,7 @@ #include "llagent.h" #include "lltrans.h" #include "lluiusage.h" +#include "llnearbyvoicemoderation.h" const F32 LLVoiceClient::OVERDRIVEN_POWER_LEVEL = 0.7f; @@ -712,6 +713,9 @@ bool LLVoiceClient::getPTTIsToggle() void LLVoiceClient::inputUserControlState(bool down) { + if (down && !getUserPTTState()) + LLNearbyVoiceModeration::getInstance()->showNotificationIfNeeded(); + if(mPTTIsToggle) { if(down) // toggle open-mic state on 'down' diff --git a/indra/newview/llvoicewebrtc.cpp b/indra/newview/llvoicewebrtc.cpp index 93f8f0d14aa..1d78ca002ad 100644 --- a/indra/newview/llvoicewebrtc.cpp +++ b/indra/newview/llvoicewebrtc.cpp @@ -65,6 +65,7 @@ #include "llviewernetwork.h" #include "llnotificationsutil.h" +#include "llnearbyvoicemoderation.h" #include "llcorehttputil.h" #include "lleventfilter.h" @@ -3194,14 +3195,19 @@ void LLVoiceWebRTCConnection::OnDataReceivedImpl(const std::string &data, bool b participant->mIsSpeaking = participant_obj["v"].as_bool(); } + // Currently, viewer doesn't receive this info when the user is muted in Nearby chat, + // but it *does* receive it when muted in Group chat. A server-side change is required. if (participant_obj.contains("m") && participant_obj["m"].is_bool()) { participant->mIsModeratorMuted = participant_obj["m"].as_bool(); + if (isSpatial() && (gAgentID == agent_id)) + { + LLNearbyVoiceModeration::getInstance()->setMutedInfo(mChannelID, participant->mIsModeratorMuted); + } } } } } - // tell the simulator to set the mute and volume data for this // participant, if there are any updates. boost::json::object root; diff --git a/indra/newview/skins/default/xui/en/notifications.xml b/indra/newview/skins/default/xui/en/notifications.xml index dbd513afe8b..3f9a2ba13e2 100644 --- a/indra/newview/skins/default/xui/en/notifications.xml +++ b/indra/newview/skins/default/xui/en/notifications.xml @@ -9192,6 +9192,29 @@ Your voice has been muted by moderator. yestext="OK"/> + + The moderator has muted your voice chat. +People in this location will not hear you if you speak. + voice + + + + + Your voice chat can now be heard by people in this location. + voice + + + Date: Fri, 7 Nov 2025 17:19:56 +0200 Subject: [PATCH 017/248] #4013 add simple voice moderation permission check --- indra/newview/llnearbyvoicemoderation.cpp | 56 ++--------------------- indra/newview/llnearbyvoicemoderation.h | 7 +-- indra/newview/llviewerparcelmgr.cpp | 10 ++++ indra/newview/llviewerparcelmgr.h | 6 +++ 4 files changed, 21 insertions(+), 58 deletions(-) diff --git a/indra/newview/llnearbyvoicemoderation.cpp b/indra/newview/llnearbyvoicemoderation.cpp index ec0e1c04312..2b4fd26afc0 100644 --- a/indra/newview/llnearbyvoicemoderation.cpp +++ b/indra/newview/llnearbyvoicemoderation.cpp @@ -31,22 +31,17 @@ #include "llvoavatar.h" #include "llvoiceclient.h" #include "llviewerobjectlist.h" +#include "llviewerparcelmgr.h" +#include "roles_constants.h" #include "llnearbyvoicemoderation.h" LLNearbyVoiceModeration::LLNearbyVoiceModeration() { - // TODO: default to false, when appropriate info cap is added - mIsNearbyChatModerator = true; - mParcelCallbackConnection = gAgent.addParcelChangedCallback([this]() { updateModeratorStatus(); }); } LLNearbyVoiceModeration::~LLNearbyVoiceModeration() { - if (mParcelCallbackConnection.connected()) - { - mParcelCallbackConnection.disconnect(); - } } LLVOAvatar* LLNearbyVoiceModeration::getVOAvatarFromId(const LLUUID& agent_id) @@ -192,51 +187,8 @@ void LLNearbyVoiceModeration::showMutedNotification(bool is_muted) } } -void LLNearbyVoiceModeration::updateModeratorStatus() -{ - LL_WARNS() << "Request moderator status info" << LL_ENDL; - // TODO: Uncomment and set correct capability name, when appropriate info cap is added - /* - if (LLViewerRegion* region = gAgent.getRegion()) - { - - std::string url = region->getCapability("SpatialVoiceModerationInfoRequest"); - if (!url.empty()) - { - LLCoros::instance().launch("getModeratorStatusCoro", [url]() { getModeratorStatusCoro(url); }); - } - } - */ -} - -void LLNearbyVoiceModeration::getModeratorStatusCoro(std::string cap_url) +bool LLNearbyVoiceModeration::isNearbyChatModerator() { - LLCore::HttpRequest::policy_t httpPolicy(LLCore::HttpRequest::DEFAULT_POLICY_ID); - LLCoreHttpUtil::HttpCoroutineAdapter::ptr_t httpAdapter(new LLCoreHttpUtil::HttpCoroutineAdapter("getModeratorStatusCoro", httpPolicy)); - LLCore::HttpRequest::ptr_t httpRequest(new LLCore::HttpRequest); - LLCore::HttpOptions::ptr_t httpOpts(new LLCore::HttpOptions); - LLCore::HttpHeaders::ptr_t httpHeaders; - - httpOpts->setFollowRedirects(true); - - LLSD result = httpAdapter->getAndSuspend(httpRequest, cap_url, httpOpts, httpHeaders); - - LLSD httpResults = result[LLCoreHttpUtil::HttpCoroutineAdapter::HTTP_RESULTS]; - LLCore::HttpStatus status = LLCoreHttpUtil::HttpCoroutineAdapter::getStatusFromLLSD(httpResults); - - if (!status) - { - LL_WARNS() << "Failed to get nearby voice moderator info" << LL_ENDL; - return; - } - else if (!result["success"].asBoolean()) - { - LL_WARNS() << "Failed to get nearby voice moderator info: " << result["message"] << LL_ENDL; - return; - } - - // TODO: update the field, when appropriate info cap is added - bool is_moderator = result["moderator"].asBoolean(); - LLNearbyVoiceModeration::getInstance()->setNearbyChatModerator(is_moderator); + return gAgent.canManageEstate() || LLViewerParcelMgr::getInstance()->allowVoiceModeration(); } diff --git a/indra/newview/llnearbyvoicemoderation.h b/indra/newview/llnearbyvoicemoderation.h index 21d185db54b..95bae9ca2ad 100644 --- a/indra/newview/llnearbyvoicemoderation.h +++ b/indra/newview/llnearbyvoicemoderation.h @@ -39,11 +39,7 @@ class LLNearbyVoiceModeration : public LLSingleton { void showMutedNotification(bool is_muted); void showNotificationIfNeeded(); - void updateModeratorStatus(); - static void getModeratorStatusCoro(std::string cap_url); - - bool isNearbyChatModerator() { return mIsNearbyChatModerator; }; - void setNearbyChatModerator(bool moderator) { mIsNearbyChatModerator = moderator; } + bool isNearbyChatModerator(); private: LLVOAvatar* getVOAvatarFromId(const LLUUID& id); @@ -51,5 +47,4 @@ class LLNearbyVoiceModeration : public LLSingleton { boost::signals2::connection mParcelCallbackConnection; std::map mChannelMuteMap; - bool mIsNearbyChatModerator; }; diff --git a/indra/newview/llviewerparcelmgr.cpp b/indra/newview/llviewerparcelmgr.cpp index 432da2e9905..452c666652e 100644 --- a/indra/newview/llviewerparcelmgr.cpp +++ b/indra/newview/llviewerparcelmgr.cpp @@ -702,6 +702,16 @@ bool LLViewerParcelMgr::allowAgentVoice() const return allowAgentVoice(gAgent.getRegion(), mAgentParcel); } +bool LLViewerParcelMgr::isVoiceRestricted() const +{ + return mAgentParcel && !mAgentParcel->getParcelFlagUseEstateVoiceChannel(); +} + +bool LLViewerParcelMgr::allowVoiceModeration() const +{ + return isVoiceRestricted() && isParcelOwnedByAgent(mAgentParcel, GP_SESSION_MODERATOR); +} + bool LLViewerParcelMgr::allowAgentVoice(const LLViewerRegion* region, const LLParcel* parcel) const { return region && region->isVoiceEnabled() diff --git a/indra/newview/llviewerparcelmgr.h b/indra/newview/llviewerparcelmgr.h index 1925cd23ed2..8863bc7a062 100644 --- a/indra/newview/llviewerparcelmgr.h +++ b/indra/newview/llviewerparcelmgr.h @@ -173,6 +173,12 @@ class LLViewerParcelMgr : public LLSingleton bool allowAgentVoice() const; bool allowAgentVoice(const LLViewerRegion* region, const LLParcel* parcel) const; + // Returns true if this parcel is using private voice channel + bool isVoiceRestricted() const; + + // Can this agent moderate Nearby voice chat on this parcel? + bool allowVoiceModeration() const; + // Can this agent start flying on this parcel? // Used for parcel property icons in nav bar. bool allowAgentFly(const LLViewerRegion* region, const LLParcel* parcel) const; From a4d01edef6288528647968ea8d97fee8a553891d Mon Sep 17 00:00:00 2001 From: Mnikolenko Productengine Date: Tue, 11 Nov 2025 23:34:05 +0200 Subject: [PATCH 018/248] Show moderator options only on webrtc region --- indra/newview/llnearbyvoicemoderation.cpp | 3 ++- indra/newview/llviewerregion.cpp | 10 ++++++++++ indra/newview/llviewerregion.h | 2 ++ indra/newview/llvoicewebrtc.cpp | 2 -- 4 files changed, 14 insertions(+), 3 deletions(-) diff --git a/indra/newview/llnearbyvoicemoderation.cpp b/indra/newview/llnearbyvoicemoderation.cpp index 2b4fd26afc0..10f92502a51 100644 --- a/indra/newview/llnearbyvoicemoderation.cpp +++ b/indra/newview/llnearbyvoicemoderation.cpp @@ -189,6 +189,7 @@ void LLNearbyVoiceModeration::showMutedNotification(bool is_muted) bool LLNearbyVoiceModeration::isNearbyChatModerator() { - return gAgent.canManageEstate() || LLViewerParcelMgr::getInstance()->allowVoiceModeration(); + return gAgent.getRegion() && gAgent.getRegion()->isRegionWebRTCEnabled() && + (gAgent.canManageEstate() || LLViewerParcelMgr::getInstance()->allowVoiceModeration()); } diff --git a/indra/newview/llviewerregion.cpp b/indra/newview/llviewerregion.cpp index fa60c368341..98440d96ae5 100755 --- a/indra/newview/llviewerregion.cpp +++ b/indra/newview/llviewerregion.cpp @@ -3798,6 +3798,16 @@ std::string LLViewerRegion::getSimHostName() return std::string("..."); } + +bool LLViewerRegion::isRegionWebRTCEnabled() +{ + if (mSimulatorFeaturesReceived && mSimulatorFeatures.has("VoiceServerType")) + { + return mSimulatorFeatures["VoiceServerType"].asString() == "webrtc"; + } + return false; +} + void LLViewerRegion::applyCacheMiscExtras(LLViewerObject* obj) { LL_PROFILE_ZONE_SCOPED_CATEGORY_DISPLAY; diff --git a/indra/newview/llviewerregion.h b/indra/newview/llviewerregion.h index 244e2b7835c..bde0fa13ce5 100644 --- a/indra/newview/llviewerregion.h +++ b/indra/newview/llviewerregion.h @@ -424,6 +424,8 @@ class LLViewerRegion: public LLCapabilityProvider // implements this interface std::string getSimHostName(); + bool isRegionWebRTCEnabled(); + static bool isNewObjectCreationThrottleDisabled() {return sNewObjectCreationThrottle < 0;} // rebuild reflection probe list diff --git a/indra/newview/llvoicewebrtc.cpp b/indra/newview/llvoicewebrtc.cpp index c57557079e2..be2e840f630 100644 --- a/indra/newview/llvoicewebrtc.cpp +++ b/indra/newview/llvoicewebrtc.cpp @@ -3168,8 +3168,6 @@ void LLVoiceWebRTCConnection::OnDataReceivedImpl(const std::string &data, bool b participant->mIsSpeaking = participant_obj["v"].as_bool(); } - // Currently, viewer doesn't receive this info when the user is muted in Nearby chat, - // but it *does* receive it when muted in Group chat. A server-side change is required. if (participant_obj.contains("m") && participant_obj["m"].is_bool()) { participant->mIsModeratorMuted = participant_obj["m"].as_bool(); From d9ec89ac0a0ae2e44f00f524678d18cf66c52b13 Mon Sep 17 00:00:00 2001 From: Mnikolenko Productengine Date: Wed, 12 Nov 2025 20:24:42 +0200 Subject: [PATCH 019/248] Ignore muted flags from non-primary voice server --- indra/newview/llvoicewebrtc.cpp | 45 ++++++++++++++++++++++++++++++--- 1 file changed, 42 insertions(+), 3 deletions(-) diff --git a/indra/newview/llvoicewebrtc.cpp b/indra/newview/llvoicewebrtc.cpp index be2e840f630..e4fdf85d12d 100644 --- a/indra/newview/llvoicewebrtc.cpp +++ b/indra/newview/llvoicewebrtc.cpp @@ -3170,14 +3170,53 @@ void LLVoiceWebRTCConnection::OnDataReceivedImpl(const std::string &data, bool b if (participant_obj.contains("m") && participant_obj["m"].is_bool()) { - participant->mIsModeratorMuted = participant_obj["m"].as_bool(); - if (isSpatial() && (gAgentID == agent_id)) + bool is_moderator_muted = participant_obj["m"].as_bool(); + if (isSpatial()) { - LLNearbyVoiceModeration::getInstance()->setMutedInfo(mChannelID, participant->mIsModeratorMuted); + // ignore muted flags from non-primary server + if (mPrimary || primary) + { + participant->mIsModeratorMuted = is_moderator_muted; + if (gAgentID == agent_id) + { + LLNearbyVoiceModeration::getInstance()->setMutedInfo(mChannelID, is_moderator_muted); + } + } + } + else + { + participant->mIsModeratorMuted = is_moderator_muted; } } } } + else + { + if (isSpatial() && (mPrimary || primary)) + { + // mute info message can be received before join message, so try to mute again later + if (participant_obj.contains("m") && participant_obj["m"].is_bool()) + { + bool is_moderator_muted = participant_obj["m"].as_bool(); + std::string channel_id = mChannelID; + F32 delay { 1.5f }; + doAfterInterval( + [channel_id, agent_id, is_moderator_muted]() + { + LLWebRTCVoiceClient::participantStatePtr_t participant = + LLWebRTCVoiceClient::getInstance()->findParticipantByID(channel_id, agent_id); + if (participant) + { + participant->mIsModeratorMuted = is_moderator_muted; + if (gAgentID == agent_id) + { + LLNearbyVoiceModeration::getInstance()->setMutedInfo(channel_id, is_moderator_muted); + } + } + }, delay); + } + } + } } // tell the simulator to set the mute and volume data for this // participant, if there are any updates. From 811105270d2cede0a99efbb501792d35ef61a530 Mon Sep 17 00:00:00 2001 From: Mnikolenko Productengine Date: Thu, 13 Nov 2025 18:48:24 +0200 Subject: [PATCH 020/248] #4994 remove redundant moderator_id key --- indra/newview/llnearbyvoicemoderation.cpp | 2 -- 1 file changed, 2 deletions(-) diff --git a/indra/newview/llnearbyvoicemoderation.cpp b/indra/newview/llnearbyvoicemoderation.cpp index 10f92502a51..5a6d7e1c6bb 100644 --- a/indra/newview/llnearbyvoicemoderation.cpp +++ b/indra/newview/llnearbyvoicemoderation.cpp @@ -93,7 +93,6 @@ void LLNearbyVoiceModeration::requestMuteIndividual(const LLUUID& agent_id, bool LLSD body; body["operand"] = operand; body["agent_id"] = agent_id; - body["moderator_id"] = gAgent.getID(); const std::string agent_name = avatar->getFullname(); LL_INFOS() << "Resident " << agent_name @@ -128,7 +127,6 @@ void LLNearbyVoiceModeration::requestMuteAll(bool mute) LLSD body; body["operand"] = operand; - body["moderator_id"] = gAgent.getID(); LL_INFOS() << "For all residents in this region, applying: " << operand << LL_ENDL; From bee23b4956b424f99765fb099906d3cb8250ce63 Mon Sep 17 00:00:00 2001 From: Mnikolenko Productengine Date: Thu, 13 Nov 2025 19:02:49 +0200 Subject: [PATCH 021/248] #4995 change muted/unmuted alerts to non-modal toast --- .../skins/default/xui/en/notifications.xml | 18 ++++++------------ 1 file changed, 6 insertions(+), 12 deletions(-) diff --git a/indra/newview/skins/default/xui/en/notifications.xml b/indra/newview/skins/default/xui/en/notifications.xml index 3f9a2ba13e2..14e9211b9c4 100644 --- a/indra/newview/skins/default/xui/en/notifications.xml +++ b/indra/newview/skins/default/xui/en/notifications.xml @@ -9193,26 +9193,20 @@ Your voice has been muted by moderator. + type="notifytip"> The moderator has muted your voice chat. People in this location will not hear you if you speak. - voice - + voice + type="notifytip"> Your voice chat can now be heard by people in this location. - voice - + voice Date: Fri, 14 Nov 2025 16:19:57 +0200 Subject: [PATCH 022/248] Toggle off 'Speak' button when muted by moderator --- indra/newview/llfloaterimcontainer.cpp | 2 +- indra/newview/llnearbyvoicemoderation.cpp | 13 ++++++++++--- indra/newview/llnearbyvoicemoderation.h | 4 ++-- indra/newview/llvoiceclient.cpp | 6 +++++- 4 files changed, 18 insertions(+), 7 deletions(-) diff --git a/indra/newview/llfloaterimcontainer.cpp b/indra/newview/llfloaterimcontainer.cpp index ac8234bf24c..00b9c0b0529 100644 --- a/indra/newview/llfloaterimcontainer.cpp +++ b/indra/newview/llfloaterimcontainer.cpp @@ -2340,7 +2340,7 @@ LLSpeaker * LLFloaterIMContainer::getSpeakerOfSelectedParticipant(LLSpeakerMgr * bool LLFloaterIMContainer::isNearbyChatSpeakerSelected() { LLFolderViewItem *selectedItem = mConversationsRoot->getCurSelectedItem(); - if (NULL == selectedItem) + if (!selectedItem) { LL_WARNS() << "Current selected item is null" << LL_ENDL; return NULL; diff --git a/indra/newview/llnearbyvoicemoderation.cpp b/indra/newview/llnearbyvoicemoderation.cpp index 5a6d7e1c6bb..d3e540e838f 100644 --- a/indra/newview/llnearbyvoicemoderation.cpp +++ b/indra/newview/llnearbyvoicemoderation.cpp @@ -165,24 +165,31 @@ void LLNearbyVoiceModeration::setMutedInfo(const std::string& channelID, bool mu it->second = mute; } } + if (mute && LLVoiceClient::getInstance()->getUserPTTState()) + { + LLVoiceClient::getInstance()->setUserPTTState(false); + } } -void LLNearbyVoiceModeration::showNotificationIfNeeded() +bool LLNearbyVoiceModeration::showNotificationIfNeeded() { if (LLVoiceClient::getInstance()->inProximalChannel() && LLVoiceClient::getInstance()->getIsModeratorMuted(gAgentID)) { - showMutedNotification(true); + return showMutedNotification(true); } + return false; } -void LLNearbyVoiceModeration::showMutedNotification(bool is_muted) +bool LLNearbyVoiceModeration::showMutedNotification(bool is_muted) { // Check if the current voice channel is nearby chat if (LLVoiceClient::getInstance()->inProximalChannel()) { LLNotificationsUtil::add(is_muted ? "NearbyVoiceMutedByModerator" : "NearbyVoiceUnmutedByModerator"); + return true; } + return false; } bool LLNearbyVoiceModeration::isNearbyChatModerator() diff --git a/indra/newview/llnearbyvoicemoderation.h b/indra/newview/llnearbyvoicemoderation.h index 95bae9ca2ad..619f1698839 100644 --- a/indra/newview/llnearbyvoicemoderation.h +++ b/indra/newview/llnearbyvoicemoderation.h @@ -36,8 +36,8 @@ class LLNearbyVoiceModeration : public LLSingleton { void requestMuteAll(bool mute); void setMutedInfo(const std::string& channelID, bool mute); - void showMutedNotification(bool is_muted); - void showNotificationIfNeeded(); + bool showMutedNotification(bool is_muted); + bool showNotificationIfNeeded(); bool isNearbyChatModerator(); diff --git a/indra/newview/llvoiceclient.cpp b/indra/newview/llvoiceclient.cpp index 5a2ef248ba3..2d732d0a71e 100644 --- a/indra/newview/llvoiceclient.cpp +++ b/indra/newview/llvoiceclient.cpp @@ -714,7 +714,11 @@ bool LLVoiceClient::getPTTIsToggle() void LLVoiceClient::inputUserControlState(bool down) { if (down && !getUserPTTState()) - LLNearbyVoiceModeration::getInstance()->showNotificationIfNeeded(); + { + // Nearby chat is muted by moderator, don't toggle PTT + if (LLNearbyVoiceModeration::getInstance()->showNotificationIfNeeded()) + return; + } if(mPTTIsToggle) { From 6ee41d60753d31d6826994731570f0ab64b92bd9 Mon Sep 17 00:00:00 2001 From: Mnikolenko Productengine Date: Wed, 26 Nov 2025 18:41:30 +0200 Subject: [PATCH 023/248] #5018 add webrtc connection statistics --- indra/llwebrtc/llwebrtc.cpp | 51 ++++++++ indra/llwebrtc/llwebrtc.h | 6 + indra/llwebrtc/llwebrtc_impl.h | 2 + indra/newview/app_settings/settings.xml | 33 +++++ indra/newview/llviewerstats.cpp | 14 +++ indra/newview/llviewerstats.h | 2 + indra/newview/llvoicewebrtc.cpp | 117 ++++++++++++++++++ indra/newview/llvoicewebrtc.h | 6 + .../skins/default/xui/en/floater_stats.xml | 58 +++++++++ 9 files changed, 289 insertions(+) diff --git a/indra/llwebrtc/llwebrtc.cpp b/indra/llwebrtc/llwebrtc.cpp index b9f126e5119..62eadecd6f0 100644 --- a/indra/llwebrtc/llwebrtc.cpp +++ b/indra/llwebrtc/llwebrtc.cpp @@ -1521,6 +1521,57 @@ void LLWebRTCPeerConnectionImpl::unsetDataObserver(LLWebRTCDataObserver* observe } } +class LLStatsCollectorCallback : public webrtc::RTCStatsCollectorCallback +{ +public: + typedef std::function StatsCallback; + + LLStatsCollectorCallback(StatsCallback callback) : callback_(callback) {} + + void OnStatsDelivered(const webrtc::scoped_refptr& report) override + { + if (callback_) + { + // Transform RTCStatsReport stats to simple map + LLWebRTCStatsMap stats_map; + for (const auto& stats : *report) + { + std::map stat_attributes; + + // Convert each attribute to string format + for (const auto& attribute : stats.Attributes()) + { + stat_attributes[attribute.name()] = attribute.ToString(); + } + stats_map[stats.id()] = stat_attributes; + } + callback_(stats_map); + } + } + +private: + StatsCallback callback_; +}; + +void LLWebRTCPeerConnectionImpl::gatherConnectionStats() +{ + if (!mPeerConnection) + { + return; + } + + auto stats_callback = webrtc::make_ref_counted( + [this](const LLWebRTCStatsMap& generic_stats) + { + for (auto& observer : mSignalingObserverList) + { + observer->OnStatsDelivered(generic_stats); + } + }); + + mPeerConnection->GetStats(stats_callback.get()); +} + LLWebRTCImpl * gWebRTCImpl = nullptr; LLWebRTCDeviceInterface * getDeviceInterface() { diff --git a/indra/llwebrtc/llwebrtc.h b/indra/llwebrtc/llwebrtc.h index 7d06b7d2b40..e76e708f0ce 100644 --- a/indra/llwebrtc/llwebrtc.h +++ b/indra/llwebrtc/llwebrtc.h @@ -38,6 +38,7 @@ #ifndef LLWEBRTC_H #define LLWEBRTC_H +#include #include #include @@ -55,6 +56,7 @@ namespace llwebrtc { +typedef std::map> LLWebRTCStatsMap; class LLWebRTCLogCallback { @@ -240,6 +242,8 @@ class LLWebRTCSignalingObserver // Called when the data channel has been established and data // transfer can begin. virtual void OnDataChannelReady(LLWebRTCDataInterface *data_interface) = 0; + + virtual void OnStatsDelivered(const LLWebRTCStatsMap& stats_data) {} }; // LLWebRTCPeerConnectionInterface representsd a connection to a peer, @@ -273,6 +277,8 @@ class LLWebRTCPeerConnectionInterface virtual void unsetSignalingObserver(LLWebRTCSignalingObserver* observer) = 0; virtual void AnswerAvailable(const std::string &sdp) = 0; + + virtual void gatherConnectionStats() = 0; }; // The following define the dynamic linked library diff --git a/indra/llwebrtc/llwebrtc_impl.h b/indra/llwebrtc/llwebrtc_impl.h index 01cfb17ced2..2a00e066bde 100644 --- a/indra/llwebrtc/llwebrtc_impl.h +++ b/indra/llwebrtc/llwebrtc_impl.h @@ -648,6 +648,8 @@ class LLWebRTCPeerConnectionImpl : public LLWebRTCPeerConnectionInterface, void enableSenderTracks(bool enable); void enableReceiverTracks(bool enable); + void gatherConnectionStats(); + protected: LLWebRTCImpl * mWebRTCImpl; diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml index aca9910253f..eac6893504f 100644 --- a/indra/newview/app_settings/settings.xml +++ b/indra/newview/app_settings/settings.xml @@ -6060,6 +6060,39 @@ Value 0 + OpenDebugStatVoice + + Comment + Expand Voice (WebRTC) stats display + Persist + 1 + Type + Boolean + Value + 1 + + OpenDebugStatVoiceOutgoing + + Comment + Expand Outgoing audio (Voice) stats display + Persist + 1 + Type + Boolean + Value + 1 + + OpenDebugStatVoiceIncoming + + Comment + Expand Incoming audio (Voice) stats display + Persist + 1 + Type + Boolean + Value + 1 + OutBandwidth Comment diff --git a/indra/newview/llviewerstats.cpp b/indra/newview/llviewerstats.cpp index d39d4662053..db6d83db5f4 100644 --- a/indra/newview/llviewerstats.cpp +++ b/indra/newview/llviewerstats.cpp @@ -263,6 +263,20 @@ LLTrace::SampleStatHandle > HUDS_FRAME_PCT("huds_ LLTrace::SampleStatHandle > UI_FRAME_PCT("ui_frame_pct"); LLTrace::SampleStatHandle > SWAP_FRAME_PCT("swap_frame_pct"); LLTrace::SampleStatHandle > IDLE_FRAME_PCT("idle_frame_pct"); + + + +LLTrace::SampleStatHandle WEBRTC_PACKETS_IN_LOST("webrtc_packets_in_lost", "Lost incoming packets"), + WEBRTC_PACKETS_IN_RECEIVED("webrtc_packets_in_recv", "Incoming packets received"), + WEBRTC_PACKETS_OUT_SENT("webrtc_packets_out_sent", "Outgoing packets sent"), + WEBRTC_PACKETS_OUT_LOST("webrtc_packets_out_lost", "Lost outgoing packets"); + +LLTrace::SampleStatHandle WEBRTC_JITTER_OUT("webrtc_jitter_out", "Timing variation of outgoing audio"), + WEBRTC_JITTER_IN("webrtc_jitter_in", "Timing variation of incoming audio"), + WEBRTC_LATENCY("webrtc_latency", "Round-trip audio delay"), + WEBRTC_UPLOAD_BANDWIDTH("webrtc_upload_bandwidth", "Estimated upload bandwidth"), + WEBRTC_JITTER_BUFFER("webrtc_jitter_buffer", "Average delay added to smooth incoming audio"); + } LLViewerStats::LLViewerStats() diff --git a/indra/newview/llviewerstats.h b/indra/newview/llviewerstats.h index 011269d7ee6..92e15bb74b1 100644 --- a/indra/newview/llviewerstats.h +++ b/indra/newview/llviewerstats.h @@ -229,6 +229,8 @@ extern LLTrace::EventStatHandle AVATAR_EDIT_TIME, extern LLTrace::EventStatHandle > OBJECT_CACHE_HIT_RATE; +extern LLTrace::SampleStatHandle WEBRTC_PACKETS_IN_LOST, WEBRTC_PACKETS_IN_RECEIVED, WEBRTC_PACKETS_OUT_SENT, WEBRTC_PACKETS_OUT_LOST; +extern LLTrace::SampleStatHandle WEBRTC_JITTER_OUT, WEBRTC_JITTER_IN, WEBRTC_LATENCY, WEBRTC_UPLOAD_BANDWIDTH, WEBRTC_JITTER_BUFFER; } class LLViewerStats : public LLSingleton diff --git a/indra/newview/llvoicewebrtc.cpp b/indra/newview/llvoicewebrtc.cpp index e4fdf85d12d..5c13b849d74 100644 --- a/indra/newview/llvoicewebrtc.cpp +++ b/indra/newview/llvoicewebrtc.cpp @@ -61,6 +61,7 @@ #include "llrand.h" #include "llviewerwindow.h" #include "llviewercamera.h" +#include "llviewerstats.h" #include "llversioninfo.h" #include "llviewernetwork.h" @@ -81,6 +82,8 @@ const std::string WEBRTC_VOICE_SERVER_TYPE = "webrtc"; +const F32 STATS_TIMER_DELAY = 2.0; + namespace { const F32 MAX_AUDIO_DIST = 50.0f; @@ -2905,6 +2908,7 @@ bool LLVoiceWebRTCConnection::connectionStateMachine() } mWebRTCAudioInterface->setReceiveVolume(mSpeakerVolume); LLWebRTCVoiceClient::getInstance()->OnConnectionEstablished(mChannelID, mRegionID); + resetConnectionStats(); setVoiceConnectionState(VOICE_STATE_WAIT_FOR_DATA_CHANNEL); break; } @@ -2954,6 +2958,13 @@ bool LLVoiceWebRTCConnection::connectionStateMachine() sendJoin(); } } + + static LLTimer stats_timer; + if (stats_timer.getElapsedTimeF32() > STATS_TIMER_DELAY) + { + mWebRTCPeerConnectionInterface->gatherConnectionStats(); + stats_timer.reset(); + } } break; } @@ -3288,6 +3299,112 @@ void LLVoiceWebRTCConnection::sendJoin() mWebRTCDataInterface->sendData(json_data, false); } +void LLVoiceWebRTCConnection::OnStatsDelivered(const llwebrtc::LLWebRTCStatsMap& stats_data) +{ + LL::WorkQueue::postMaybe(mMainQueue, [=, this] + { + if (mShutDown) + { + return; + } + for (const auto& [stats_id, attributes] : stats_data) + { + if (attributes.contains("currentRoundTripTime")) + { + F32 rtt_seconds = 0.0f; + LLStringUtil::convertToF32(attributes.at("currentRoundTripTime"), rtt_seconds); + sample(LLStatViewer::WEBRTC_LATENCY, rtt_seconds * 1000.0f); + } + if (attributes.contains("availableOutgoingBitrate")) + { + F32 bitrate_bps = 0.0f; + LLStringUtil::convertToF32(attributes.at("availableOutgoingBitrate"), bitrate_bps); + sample(LLStatViewer::WEBRTC_UPLOAD_BANDWIDTH, bitrate_bps / 1000.0f); + } + + // Stat type detection below is heuristic-based. + // It's relied on specific fields to distinguish outbound-rtp, remote-inbound-rtp, and inbound-rtp. + // This approach works with current WebRTC stats but may need updating later. + + // Outbound RTP + if (attributes.contains("mediaSourceId")) + { + U32 out_packets_sent = 0; + LLStringUtil::convertToU32(attributes.at("packetsSent"), out_packets_sent); + sample(LLStatViewer::WEBRTC_PACKETS_OUT_SENT, out_packets_sent); + } + // Remote-Inbound RTP + else if (attributes.contains("localId")) + { + if (attributes.contains("packetsLost")) + { + U32 out_packets_lost = 0; + LLStringUtil::convertToU32(attributes.at("packetsLost"), out_packets_lost); + sample(LLStatViewer::WEBRTC_PACKETS_OUT_LOST, out_packets_lost); + } + if (attributes.contains("jitter")) + { + F32 jitter_seconds = 0.0f; + LLStringUtil::convertToF32(attributes.at("jitter"), jitter_seconds); + sample(LLStatViewer::WEBRTC_JITTER_OUT, jitter_seconds * 1000.0f); + } + } + // Inbound RTP + else if (attributes.contains("jitterBufferDelay")) + { + if (attributes.contains("packetsLost")) + { + U32 in_packets_lost = 0; + LLStringUtil::convertToU32(attributes.at("packetsLost"), in_packets_lost); + sample(LLStatViewer::WEBRTC_PACKETS_IN_LOST, in_packets_lost); + } + if (attributes.contains("packetsReceived")) + { + U32 in_packets_recv = 0; + LLStringUtil::convertToU32(attributes.at("packetsReceived"), in_packets_recv); + sample(LLStatViewer::WEBRTC_PACKETS_IN_RECEIVED, in_packets_recv); + } + if (attributes.contains("jitter")) + { + F32 jitter_seconds = 0.0f; + LLStringUtil::convertToF32(attributes.at("jitter"), jitter_seconds); + sample(LLStatViewer::WEBRTC_JITTER_IN, jitter_seconds * 1000.0f); + } + if (attributes.contains("jitterBufferDelay") && attributes.contains("jitterBufferEmittedCount")) + { + F32 total_delay_seconds = 0.0f; + F32 emitted_count_f = 0.0f; + + // total delay in seconds + LLStringUtil::convertToF32(attributes.at("jitterBufferDelay"), total_delay_seconds); + + // number of packets played out + LLStringUtil::convertToF32(attributes.at("jitterBufferEmittedCount"), emitted_count_f); + if (emitted_count_f > 0.0f) + { + F32 avg_delay_seconds = total_delay_seconds / emitted_count_f; + F32 avg_delay_ms = avg_delay_seconds * 1000.0f; + sample(LLStatViewer::WEBRTC_JITTER_BUFFER, avg_delay_seconds * 1000.0f); + } + } + } + } + }); +} + +void LLVoiceWebRTCConnection::resetConnectionStats() +{ + sample(LLStatViewer::WEBRTC_JITTER_BUFFER, 0); + sample(LLStatViewer::WEBRTC_JITTER_IN, 0); + sample(LLStatViewer::WEBRTC_JITTER_OUT, 0); + sample(LLStatViewer::WEBRTC_LATENCY, 0); + sample(LLStatViewer::WEBRTC_PACKETS_IN_LOST, 0); + sample(LLStatViewer::WEBRTC_PACKETS_IN_RECEIVED, 0); + sample(LLStatViewer::WEBRTC_PACKETS_OUT_SENT, 0); + sample(LLStatViewer::WEBRTC_PACKETS_OUT_LOST, 0); + sample(LLStatViewer::WEBRTC_UPLOAD_BANDWIDTH, 0); +} + ///////////////////////////// // WebRTC Spatial Connection diff --git a/indra/newview/llvoicewebrtc.h b/indra/newview/llvoicewebrtc.h index 2ce575852ab..6786b049c2d 100644 --- a/indra/newview/llvoicewebrtc.h +++ b/indra/newview/llvoicewebrtc.h @@ -540,6 +540,8 @@ class LLWebRTCVoiceClient : public LLSingleton, static bool sShuttingDown; LLEventMailDrop mWebRTCPump; + + LLSD mLastWebRTCStats; }; @@ -603,6 +605,8 @@ class LLVoiceWebRTCConnection : //@{ void OnDataReceived(const std::string &data, bool binary) override; void OnDataChannelReady(llwebrtc::LLWebRTCDataInterface *data_interface) override; + + void OnStatsDelivered(const llwebrtc::LLWebRTCStatsMap& stats_data) override; //@} void OnDataReceivedImpl(const std::string &data, bool binary); @@ -638,6 +642,8 @@ class LLVoiceWebRTCConnection : void OnVoiceConnectionRequestSuccess(const LLSD &body); + void resetConnectionStats(); + protected: typedef enum e_voice_connection_state { diff --git a/indra/newview/skins/default/xui/en/floater_stats.xml b/indra/newview/skins/default/xui/en/floater_stats.xml index 1600c422c37..191db4f854c 100644 --- a/indra/newview/skins/default/xui/en/floater_stats.xml +++ b/indra/newview/skins/default/xui/en/floater_stats.xml @@ -418,6 +418,64 @@ + + + + + + + + + + + + + + + From ec149b515c26cec64d1666df5aeb441ea052cf19 Mon Sep 17 00:00:00 2001 From: Mnikolenko Productengine Date: Wed, 26 Nov 2025 19:44:20 +0200 Subject: [PATCH 024/248] #5018 mac build fix --- indra/llwebrtc/llwebrtc_impl.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/indra/llwebrtc/llwebrtc_impl.h b/indra/llwebrtc/llwebrtc_impl.h index 2a00e066bde..c1e909df72b 100644 --- a/indra/llwebrtc/llwebrtc_impl.h +++ b/indra/llwebrtc/llwebrtc_impl.h @@ -648,7 +648,7 @@ class LLWebRTCPeerConnectionImpl : public LLWebRTCPeerConnectionInterface, void enableSenderTracks(bool enable); void enableReceiverTracks(bool enable); - void gatherConnectionStats(); + void gatherConnectionStats() override; protected: From a9e8676611bf0ffda077a6d7561e0d57f9e3fcf7 Mon Sep 17 00:00:00 2001 From: Mnikolenko Productengine Date: Thu, 27 Nov 2025 20:51:35 +0200 Subject: [PATCH 025/248] #5055 don't show moderate menu if the user is not parcel owner within a parcel with restricted voice --- indra/newview/llnearbyvoicemoderation.cpp | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/indra/newview/llnearbyvoicemoderation.cpp b/indra/newview/llnearbyvoicemoderation.cpp index d3e540e838f..668365d2661 100644 --- a/indra/newview/llnearbyvoicemoderation.cpp +++ b/indra/newview/llnearbyvoicemoderation.cpp @@ -194,7 +194,19 @@ bool LLNearbyVoiceModeration::showMutedNotification(bool is_muted) bool LLNearbyVoiceModeration::isNearbyChatModerator() { - return gAgent.getRegion() && gAgent.getRegion()->isRegionWebRTCEnabled() && - (gAgent.canManageEstate() || LLViewerParcelMgr::getInstance()->allowVoiceModeration()); -} + // Region doesn't support WebRTC voice + if (!gAgent.getRegion() || !gAgent.getRegion()->isRegionWebRTCEnabled()) + { + return false; + } + if (LLViewerParcelMgr::getInstance()->isVoiceRestricted()) + { + // Only the parcel owner should have access to moderate parcel voice space + return LLViewerParcelMgr::getInstance()->allowVoiceModeration(); + } + else + { + return gAgent.canManageEstate(); + } +} From 88a3d951fd15863bfd77b9b7137e9c02c21a4a10 Mon Sep 17 00:00:00 2001 From: Mnikolenko Productengine Date: Tue, 2 Dec 2025 19:43:01 +0200 Subject: [PATCH 026/248] #5088 Hide 'Moderation options' menu when disconnected from spatial voice --- indra/newview/llnearbyvoicemoderation.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/indra/newview/llnearbyvoicemoderation.cpp b/indra/newview/llnearbyvoicemoderation.cpp index 668365d2661..a5ee0e9423a 100644 --- a/indra/newview/llnearbyvoicemoderation.cpp +++ b/indra/newview/llnearbyvoicemoderation.cpp @@ -29,6 +29,7 @@ #include "llnotificationsutil.h" #include "llviewerregion.h" #include "llvoavatar.h" +#include "llvoicechannel.h" #include "llvoiceclient.h" #include "llviewerobjectlist.h" #include "llviewerparcelmgr.h" @@ -200,6 +201,13 @@ bool LLNearbyVoiceModeration::isNearbyChatModerator() return false; } + // Only show moderator options when connected to spatial voice chat + LLVoiceChannel* channel = LLVoiceChannel::getCurrentVoiceChannel(); + if (!channel || channel->getSessionID().notNull() || !LLAgent::isActionAllowed("speak")) + { + return false; + } + if (LLViewerParcelMgr::getInstance()->isVoiceRestricted()) { // Only the parcel owner should have access to moderate parcel voice space From 17e72f98aba92e8aa690d835f1532d54c526d6d9 Mon Sep 17 00:00:00 2001 From: Rider Linden Date: Tue, 2 Dec 2025 14:57:12 -0800 Subject: [PATCH 027/248] Handle new privileged land permission. Allow caution dialog to contain multiple messages. --- indra/newview/llfloaternotificationsconsole.cpp | 2 +- indra/newview/llscriptruntimeperms.h | 13 +++++-------- indra/newview/llviewermessage.cpp | 17 ++++++++++++++--- .../skins/default/xui/en/notifications.xml | 3 ++- .../skins/default/xui/en/panel_notification.xml | 8 ++++---- indra/newview/skins/default/xui/en/strings.xml | 3 +++ 6 files changed, 29 insertions(+), 17 deletions(-) diff --git a/indra/newview/llfloaternotificationsconsole.cpp b/indra/newview/llfloaternotificationsconsole.cpp index a819b30e30f..d3ec79cb0de 100644 --- a/indra/newview/llfloaternotificationsconsole.cpp +++ b/indra/newview/llfloaternotificationsconsole.cpp @@ -34,7 +34,7 @@ #include "llpanel.h" #include "llcombobox.h" -const S32 NOTIFICATION_PANEL_HEADER_HEIGHT = 20; +const S32 NOTIFICATION_PANEL_HEADER_HEIGHT = 40; const S32 HEADER_PADDING = 38; class LLNotificationChannelPanel : public LLLayoutPanel diff --git a/indra/newview/llscriptruntimeperms.h b/indra/newview/llscriptruntimeperms.h index 300304c21bd..6350b61d082 100644 --- a/indra/newview/llscriptruntimeperms.h +++ b/indra/newview/llscriptruntimeperms.h @@ -24,10 +24,7 @@ * $/LicenseInfo$ */ -#ifndef LL_LLSCRIPTRUNTIME_PERMS_H -#define LL_LLSCRIPTRUNTIME_PERMS_H - -#include +#pragma once typedef struct _script_perm { std::string question; @@ -37,12 +34,12 @@ typedef struct _script_perm { question(q), permbit(b), caution(c) {} } script_perm_t; -const U32 NUM_SCRIPT_PERMISSIONS = 18; +const U32 NUM_SCRIPT_PERMISSIONS = 19; const S32 SCRIPT_PERMISSION_DEBIT = 0; const S32 SCRIPT_PERMISSION_TRIGGER_ANIMATION = 3; const S32 SCRIPT_PERMISSION_OVERRIDE_ANIMATIONS = 14; -static const boost::array SCRIPT_PERMISSIONS = {{ +static const std::array SCRIPT_PERMISSIONS = {{ _script_perm("ScriptTakeMoney", (0x1 << 1), true), _script_perm("ActOnControlInputs", (0x1 << 2), false), _script_perm("RemapControlInputs", (0x1 << 3), false), @@ -60,7 +57,7 @@ static const boost::array SCRIPT_PERMISSI _script_perm("OverrideYourAnimations", (0x1 << 15), false), _script_perm("ScriptReturnObjects", (0x1 << 16), false), _script_perm("ForceSitAvatar", (0x1 << 17), false), - _script_perm("ChangeEnvSettings", (0x1 << 18), false) + _script_perm("ChangeEnvSettings", (0x1 << 18), false), + _script_perm("PrivilegedLandAccess",(0x1 << 19), true) } }; -#endif // LL_LLSCRIPTRUNTIME_PERMS_H diff --git a/indra/newview/llviewermessage.cpp b/indra/newview/llviewermessage.cpp index 36e8e27800f..731e2b68bbf 100644 --- a/indra/newview/llviewermessage.cpp +++ b/indra/newview/llviewermessage.cpp @@ -5749,7 +5749,9 @@ void process_script_question(LLMessageSystem *msg, void **user_data) args["NAME"] = clean_owner_name; S32 known_questions = 0; bool has_not_only_debit = questions ^ SCRIPT_PERMISSIONS[SCRIPT_PERMISSION_DEBIT].permbit; + bool caution_enabled = gSavedSettings.getBOOL("PermissionsCautionEnabled"); // check the received permission flags against each permission + std::string warning_msg; for (const script_perm_t& script_perm : SCRIPT_PERMISSIONS) { if (questions & script_perm.permbit) @@ -5759,8 +5761,11 @@ void process_script_question(LLMessageSystem *msg, void **user_data) // check whether permission question should cause special caution dialog caution |= (script_perm.caution); - if (("ScriptTakeMoney" == script_perm.question) && has_not_only_debit) + if (caution_enabled && script_perm.caution) + { + warning_msg += "\n" + LLTrans::getString(script_perm.question + "Caution") + "\n"; continue; + } if (LLTrans::getString(script_perm.question).empty()) { @@ -5771,6 +5776,12 @@ void process_script_question(LLMessageSystem *msg, void **user_data) } } + if (!warning_msg.empty()) + { + LLStringUtil::format(warning_msg, args); + args["WARNINGS"] = warning_msg; + } + args["QUESTIONS"] = script_question; if (known_questions != questions) @@ -5795,12 +5806,12 @@ void process_script_question(LLMessageSystem *msg, void **user_data) // check whether cautions are even enabled or not const char* notification = "ScriptQuestion"; - if(caution && gSavedSettings.getBOOL("PermissionsCautionEnabled")) + if (caution && caution_enabled) { args["FOOTERTEXT"] = (count > 1) ? LLTrans::getString("AdditionalPermissionsRequestHeader") + "\n\n" + script_question : ""; notification = "ScriptQuestionCaution"; } - else if(experienceid.notNull()) + else if (experienceid.notNull()) { payload["experience"]=experienceid; LLExperienceCache::instance().get(experienceid, boost::bind(process_script_experience_details, _1, args, payload)); diff --git a/indra/newview/skins/default/xui/en/notifications.xml b/indra/newview/skins/default/xui/en/notifications.xml index dbd513afe8b..50884265027 100644 --- a/indra/newview/skins/default/xui/en/notifications.xml +++ b/indra/newview/skins/default/xui/en/notifications.xml @@ -8585,7 +8585,8 @@ Scripts associated with this experience will be able to do the following on regi priority="critical" persist="true" type="notify"> -Warning: The object '<nolink>[OBJECTNAME]</nolink>' wants total access to your Linden Dollars account. If you allow access, it can remove funds from your account at any time, or empty your account completely, on an ongoing basis with no additional warnings. +Warning: +[WARNINGS] Do not allow access if you do not fully understand why it wants access to your account. diff --git a/indra/newview/skins/default/xui/en/panel_notification.xml b/indra/newview/skins/default/xui/en/panel_notification.xml index bfe738f4729..eaf638d35f5 100644 --- a/indra/newview/skins/default/xui/en/panel_notification.xml +++ b/indra/newview/skins/default/xui/en/panel_notification.xml @@ -49,7 +49,7 @@ embedded_items="false" enabled="false" follows="left|right|top|bottom" - height="85" + height="85" layout="topleft" left="10" mouse_opaque="false" @@ -67,16 +67,16 @@ - diff --git a/indra/newview/skins/default/xui/en/strings.xml b/indra/newview/skins/default/xui/en/strings.xml index 8e0eea97d1c..bcda160f21d 100644 --- a/indra/newview/skins/default/xui/en/strings.xml +++ b/indra/newview/skins/default/xui/en/strings.xml @@ -518,6 +518,8 @@ http://secondlife.com/support for help fixing this problem. You will now be reconnected to Nearby Voice Chat '[OBJECTNAME]', an object owned by '[OWNERNAME]', located in [REGIONNAME] at [REGIONPOS], has been granted permission to: [PERMISSIONS]. '[OBJECTNAME]', an object owned by '[OWNERNAME]', located in [REGIONNAME] at [REGIONPOS], has been denied permission to: [PERMISSIONS]. + The object '<nolink>[OBJECTNAME]</nolink>' wants total access to your Linden Dollars account. If you allow access, it can remove funds from your account at any time, or empty your account completely, on an ongoing basis with no additional warnings. + The object '<nolink>[OBJECTNAME]</nolink>' wants privileged access to your land. If you allow access it may sell your land with no additional warnings. If you allow access to your account, you will also be allowing the object to: Take Linden dollars (L$) from you Act on your control inputs @@ -535,6 +537,7 @@ http://secondlife.com/support for help fixing this problem. Change your default animations Force your avatar to sit Change your environment settings + Sell land on your behalf. Not Connected (You) From 20ddc736730a9f9c62ef71a808e33ed5587ae19e Mon Sep 17 00:00:00 2001 From: Brad Linden Date: Wed, 3 Dec 2025 12:58:43 -0800 Subject: [PATCH 028/248] update CLA exceptions allowlist --- .github/workflows/cla.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/cla.yaml b/.github/workflows/cla.yaml index 5b31c584d50..800f3c42d1c 100644 --- a/.github/workflows/cla.yaml +++ b/.github/workflows/cla.yaml @@ -23,4 +23,4 @@ jobs: path-to-signatures: signatures.json remote-organization-name: secondlife remote-repository-name: cla-signatures - allowlist: callum@mbp.localdomain,rye@lindenlab.com,rye,bot* + allowlist: callum@mbp.localdomain,rye@lindenlab.com,rye,signal@lindenlab.com,dependabot*,bot* From 63ad735fef0dfca0c0e7daab142b5fb8343fc55f Mon Sep 17 00:00:00 2001 From: Andrey Kleshchev <117672381+akleshchev@users.noreply.github.com> Date: Fri, 5 Dec 2025 16:24:42 +0200 Subject: [PATCH 029/248] #4628 New land access permission --- .../newview/llfloaternotificationsconsole.cpp | 2 +- indra/newview/lltoastscriptquestion.cpp | 73 ++++++++++++++++--- indra/newview/llviewermessage.cpp | 9 ++- .../skins/default/xui/en/notifications.xml | 9 +-- .../xui/en/panel_script_question_toast.xml | 6 +- .../newview/skins/default/xui/en/strings.xml | 4 +- 6 files changed, 77 insertions(+), 26 deletions(-) diff --git a/indra/newview/llfloaternotificationsconsole.cpp b/indra/newview/llfloaternotificationsconsole.cpp index d3ec79cb0de..a819b30e30f 100644 --- a/indra/newview/llfloaternotificationsconsole.cpp +++ b/indra/newview/llfloaternotificationsconsole.cpp @@ -34,7 +34,7 @@ #include "llpanel.h" #include "llcombobox.h" -const S32 NOTIFICATION_PANEL_HEADER_HEIGHT = 40; +const S32 NOTIFICATION_PANEL_HEADER_HEIGHT = 20; const S32 HEADER_PADDING = 38; class LLNotificationChannelPanel : public LLLayoutPanel diff --git a/indra/newview/lltoastscriptquestion.cpp b/indra/newview/lltoastscriptquestion.cpp index 25dc0982b8d..5d99efe6a49 100644 --- a/indra/newview/lltoastscriptquestion.cpp +++ b/indra/newview/lltoastscriptquestion.cpp @@ -48,7 +48,12 @@ bool LLToastScriptQuestion::postBuild() LLTextBox* mFooter = getChild("bottom_info_message"); mMessage->setValue(mNotification->getMessage()); - mFooter->setValue(mNotification->getFooter()); + std::string footer = mNotification->getFooter(); + mFooter->setValue(footer); + if (footer.empty()) + { + mFooter->setVisible(false); + } snapToMessageHeight(); @@ -78,21 +83,69 @@ void LLToastScriptQuestion::snapToMessageHeight() if (mMessage->getVisible() && mFooter->getVisible()) { - S32 heightDelta = 0; - S32 maxTextHeight = (mMessage->getFont()->getLineHeight() * MAX_LINES_COUNT) + S32 height_delta = 0; + S32 max_text_height = (mMessage->getFont()->getLineHeight() * MAX_LINES_COUNT) + (mFooter->getFont()->getLineHeight() * MAX_LINES_COUNT); - LLRect messageRect = mMessage->getRect(); - LLRect footerRect = mFooter->getRect(); + LLRect message_rect = mMessage->getRect(); + + S32 old_message_height = message_rect.getHeight(); + S32 new_message_height = mMessage->getTextBoundingRect().getHeight(); + S32 new_footer_height = mFooter->getTextBoundingRect().getHeight(); + + constexpr S32 FOOTER_PADDING = 8; // new height should include padding for newly added footer + S32 required_text_height = new_message_height + new_footer_height + FOOTER_PADDING; + S32 new_text_height = llmin(required_text_height, max_text_height); + + // Footer was invisibe, so use old_message_height for old height + height_delta = new_text_height - old_message_height; + + reshape( getRect().getWidth(), llmax(getRect().getHeight() + height_delta, MIN_PANEL_HEIGHT)); + + // Floater was resized, now resize and shift children + // Message follows top, so it's top is in a correct position, but needs to be resized down + S32 message_delta = new_message_height - old_message_height; + message_rect = mMessage->getRect(); // refresh since it might have changed after reshape + message_rect.mBottom = message_rect.mBottom - message_delta; + mMessage->setRect(message_rect); + mMessage->needsReflow(); + // Button panel should stay the same size, just translate it + LLPanel* panel = getChild("buttons_panel"); + panel->translate(0, -message_delta); + // Footer should be both moved and resized + LLRect footer_rect = mFooter->getRect(); + footer_rect.mTop = footer_rect.mTop - message_delta; + footer_rect.mBottom = footer_rect.mTop - new_footer_height; + mFooter->setRect(footer_rect); + mFooter->needsReflow(); + } + else if (mMessage->getVisible()) + { + S32 height_delta = 0; + S32 max_text_height = (mMessage->getFont()->getLineHeight() * MAX_LINES_COUNT); + + LLRect message_rect = mMessage->getRect(); + + S32 old_message_height = message_rect.getHeight(); + S32 new_message_height = mMessage->getTextBoundingRect().getHeight(); - S32 oldTextHeight = messageRect.getHeight() + footerRect.getHeight(); + S32 new_text_height = llmin(new_message_height, max_text_height); - S32 requiredTextHeight = mMessage->getTextBoundingRect().getHeight() + mFooter->getTextBoundingRect().getHeight(); - S32 newTextHeight = llmin(requiredTextHeight, maxTextHeight); + // Footer was invisibe, so use old_message_height for old height + height_delta = new_text_height - old_message_height; - heightDelta = newTextHeight - oldTextHeight - heightDelta; + reshape(getRect().getWidth(), llmax(getRect().getHeight() + height_delta, MIN_PANEL_HEIGHT)); - reshape( getRect().getWidth(), llmax(getRect().getHeight() + heightDelta, MIN_PANEL_HEIGHT)); + // Floater was resized, now resize and shift children + // Message follows top, so it's top is in a correct position, but needs to be resized down + S32 message_delta = new_message_height - old_message_height; + message_rect = mMessage->getRect(); // refresh since it might have changed after reshape + message_rect.mBottom = message_rect.mBottom - message_delta; + mMessage->setRect(message_rect); + mMessage->needsReflow(); + // Button panel should stay the same size, just translate it + LLPanel* panel = getChild("buttons_panel"); + panel->translate(0, -message_delta); } } diff --git a/indra/newview/llviewermessage.cpp b/indra/newview/llviewermessage.cpp index 731e2b68bbf..6f2b00a862f 100644 --- a/indra/newview/llviewermessage.cpp +++ b/indra/newview/llviewermessage.cpp @@ -5756,11 +5756,11 @@ void process_script_question(LLMessageSystem *msg, void **user_data) { if (questions & script_perm.permbit) { - count++; known_questions |= script_perm.permbit; // check whether permission question should cause special caution dialog caution |= (script_perm.caution); + // Caustions go into top part of the dialog, questions go into the footer if (caution_enabled && script_perm.caution) { warning_msg += "\n" + LLTrans::getString(script_perm.question + "Caution") + "\n"; @@ -5772,7 +5772,8 @@ void process_script_question(LLMessageSystem *msg, void **user_data) continue; } - script_question += " " + LLTrans::getString(script_perm.question) + "\n"; + count++; + script_question += "\n " + LLTrans::getString(script_perm.question); } } @@ -5806,9 +5807,9 @@ void process_script_question(LLMessageSystem *msg, void **user_data) // check whether cautions are even enabled or not const char* notification = "ScriptQuestion"; - if (caution && caution_enabled) + if(caution && caution_enabled) { - args["FOOTERTEXT"] = (count > 1) ? LLTrans::getString("AdditionalPermissionsRequestHeader") + "\n\n" + script_question : ""; + args["FOOTERTEXT"] = (count > 0) ? LLTrans::getString("AdditionalPermissionsRequestHeader") + "\n" + script_question : ""; notification = "ScriptQuestionCaution"; } else if (experienceid.notNull()) diff --git a/indra/newview/skins/default/xui/en/notifications.xml b/indra/newview/skins/default/xui/en/notifications.xml index 50884265027..46c1d3abe97 100644 --- a/indra/newview/skins/default/xui/en/notifications.xml +++ b/indra/newview/skins/default/xui/en/notifications.xml @@ -8585,11 +8585,10 @@ Scripts associated with this experience will be able to do the following on regi priority="critical" persist="true" type="notify"> -Warning: +Warning: [WARNINGS] - -Do not allow access if you do not fully understand why it wants access to your account. +Do not allow access if you do not fully understand why it wants access to your account. confirm
+ width="35" + font="DejaVu" + font.size="LSmall"> + + @@ -287,7 +311,9 @@ layout="topleft" left_pad="2" name="unlink_btn" - width="90"> + width="90" + font="DejaVu" + font.size="LSmall"> @@ -298,10 +324,12 @@ layout="topleft" left="143" name="checkbox uniform" - top="48" + top="47" label_text.wrap="true" label_text.width="100" - width="134" /> + width="134" + font="DejaVu" + font.size="LSmall" /> + width="134" + font="DejaVu" + font.size="LSmall" /> + width="134" + font="DejaVu" + font.size="LSmall"/> + width="60" + drop_down_button.font="DejaVu" + drop_down_button.font.size="LSmall"> + width="114" + font="DejaVu" + font.size="LSmall" > + width="90" + font="DejaVu" + font.size="LSmall"> Name: + width="90" + font="DejaVu" + font.size="LSmall"> Description: + width="90" + font="DejaVu" + font.size="LSmall"> Creator: + width="90" + font="DejaVu" + font.size="LSmall"> Owner: + width="75" + font="DejaVu" + font.size="LSmall"> Group: + width="23" + font="DejaVu" + font.size="LSmall" /> + width="87" + font="DejaVu" + font.size="LSmall" /> + width="100" + pad_bottom="2"> diff --git a/indra/newview/skins/default/xui/en/widgets/accordion_tab.xml b/indra/newview/skins/default/xui/en/widgets/accordion_tab.xml index bbf881f3e43..6509c8c1f33 100644 --- a/indra/newview/skins/default/xui/en/widgets/accordion_tab.xml +++ b/indra/newview/skins/default/xui/en/widgets/accordion_tab.xml @@ -11,5 +11,5 @@ header_image_focused="Accordion_Selected" header_text_color="AccordionHeaderTextColor" font="SansSerif" - font.size="Monospace" + font.size="Small" /> diff --git a/indra/newview/skins/default/xui/en/widgets/floater.xml b/indra/newview/skins/default/xui/en/widgets/floater.xml index f72c9a14fb8..73c6dc5d7ab 100644 --- a/indra/newview/skins/default/xui/en/widgets/floater.xml +++ b/indra/newview/skins/default/xui/en/widgets/floater.xml @@ -11,7 +11,7 @@ background_opaque="false" header_font="SansSerif" header_height="25" - header_vpad="7" + header_vpad="5" close_image="Icon_Close_Foreground" restore_image="Icon_Restore_Foreground" minimize_image="Icon_Minimize_Foreground" diff --git a/indra/newview/skins/default/xui/en/widgets/tab_container.xml b/indra/newview/skins/default/xui/en/widgets/tab_container.xml index bcd3ed4e139..63613d34cb1 100644 --- a/indra/newview/skins/default/xui/en/widgets/tab_container.xml +++ b/indra/newview/skins/default/xui/en/widgets/tab_container.xml @@ -10,7 +10,7 @@ label_pad_left - padding to the left of tab button labels use_custom_icon_ctrl="false" halign="center" font="SansSerif" - font.size="Monospace" + font.size="Small" tab_height="21" label_pad_bottom="1" label_pad_left="4"> From 04fbae21ab1d5d03d20cbf8290a04f8cf8e38baa Mon Sep 17 00:00:00 2001 From: Mnikolenko Productengine Date: Thu, 5 Feb 2026 19:50:44 +0200 Subject: [PATCH 164/248] Login button update and other color adjustments --- indra/llui/lldraghandle.cpp | 2 +- indra/newview/skins/default/colors.xml | 4 ++-- .../textures/widgets/PushButton_Login.png | Bin 1437 -> 18135 bytes .../widgets/PushButton_Login_Over.png | Bin 1516 -> 18572 bytes .../widgets/PushButton_Login_Pressed.png | Bin 1493 -> 18571 bytes .../skins/default/xui/en/panel_login.xml | 4 +++- 6 files changed, 6 insertions(+), 4 deletions(-) diff --git a/indra/llui/lldraghandle.cpp b/indra/llui/lldraghandle.cpp index d8d1791dca3..b3b47084c51 100644 --- a/indra/llui/lldraghandle.cpp +++ b/indra/llui/lldraghandle.cpp @@ -106,7 +106,7 @@ void LLDragHandleTop::setTitle(const std::string& title) params.initial_value(trimmed_title); params.font(mFont); params.follows.flags(FOLLOWS_TOP | FOLLOWS_LEFT | FOLLOWS_RIGHT); - params.font_shadow(LLFontGL::DROP_SHADOW_SOFT); + params.font_shadow(LLFontGL::NO_SHADOW); params.use_ellipses = true; params.parse_urls = false; //cancel URL replacement in floater title mTitleBox = LLUICtrlFactory::create (params); diff --git a/indra/newview/skins/default/colors.xml b/indra/newview/skins/default/colors.xml index d5a001c5394..84e5518a037 100644 --- a/indra/newview/skins/default/colors.xml +++ b/indra/newview/skins/default/colors.xml @@ -10,7 +10,7 @@ value="0.3 0.82 1 0.13" /> + value="0.426 0.729 1.0 0.368" /> @@ -377,7 +377,7 @@ reference="Black_50" /> + value="0.7 0.7 0.7 1" /> diff --git a/indra/newview/skins/default/textures/widgets/PushButton_Login.png b/indra/newview/skins/default/textures/widgets/PushButton_Login.png index 8e7d932ab1f07e8377e345ce8e884febb34d8ed8..2180adb2fd7aa2314d6644d90722d945433e58a3 100644 GIT binary patch literal 18135 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 literal 1437 zcmZ9M2~3j*6o4O~h!iIX6eu2*YCS;wDOU8?Ib?010|85&MbPnM{~}0jsl^IT6l`%$ z5J9<7hLg$Ev8sT#lOM;S8-hB5iuXi3IJQDdOOKV9EZLHmcjn8>OWu12BEy5H*i-BQ zUChVj^RI(^~%x#BR7nxv_(4oox^fw>g41y<$~FcpHi7)(dOm=C5SU@QRRVKC-_ z;Sd;d!H@%ngJAd;#ty*PH!!vz#@ECEprglxURyGH% z3U0U+b6WbF`u=y#R}&8KisoCh0w~mtCX*>D5yebB3mv6SZKV{v;8hicHL3Yg9MrAfXH6ZndhvRcECx;K*ltbCfvh7vk$-M_3 z7&I3KGwTXjRL_z8m8zN9XT}6lQq$$A+K%`3KX%D3Y?#xQTM~sl)IDxJ6%@#ufW9HS zyBr&2w-+?r_7e<6>s*GtV#?0l^BawQ&aK?03yEkY&Xv`i{;ZmgQ~a-!Z(ohaQCjcZ zT^*sCwq^8;yXCa=Wnruao4q;Kjrx;boh4+ad#2Vb7yd$W(6xwa)b&KmuLGe~akTl# z=TXJ=pV{_?+w!dbi_=nah!@Q~itc1Gsrskl4WI6Rko!c<>HgbYyPI#@^K?RR4gNkn z_m1}Dvq^V*KY7Ql%zyDkT+*D_xM0Ik{mu5FGHcI$Te{k(#f|E!7kGPg&OU|&Gd+2Y z1BpxJG3W(ns*#+LRG-vEi56AHm+v^nTv1UHR$0CsulKw-(?;F0=}QfxmFCHx5?RHp zv|aC=p15b5?G7Ke>(m5myF12WqsF>oWA*EaX*!B-hGeO@jrP*&iBOAn>KaqJ&OR+n zADJZby?0bx7fs(k3-O6~)I&3el#?Wvy~fO2X|vwUd#rxtt`o?g^$bLuc>kg4uNZD! z({OLZ&GWMpP-(@p*RyK&e@_dyDbP{zVpIR^pg8Fv`kUzr zWnG`~nZ2izugk#Wq%-+E--k!FKH4Yhbd}Wa>m;c<#Z4PfUr z-w`JE6%B;;zp?7Q&scjruf5|E&%K>G`H5rhgdKI82$jU2NNEk4$ND}m8pFc*eI$~a zAhJ}BDAkMaLM~D$aSUVg`L5(Hg)$YxKIeD4kQ)?A5rzfxyIsi|g)&p6TI@63jLQap9(wDDS{|fNql``?MTH0QK*tE^69Z7T_lKOD#>D>m3E{&f;ggD;yv@YQt5_O z?R0H-d|fVC_@K)9#M-8*%2(KFImWXcs-k(lXqieW>u_DW<)Sc!H(54*754a#qVrtO~st!H38$tI#k7xivb40Ko%iPi}3sy zDB_PIOm7515yZh+)AAocBo-tJ)5d`%ixB@se#?0bf0V&MnaD@r@Y2Ri3o!rR4zffM zzFme{4*h=&6J;*@$dDcD11*flI1?on%H)_7ht&dcJWl0^umqfoV}i7lHhlbt0*4*W JsttJ}%skJSIp@6I%XyvGd7m@$JR{cL)?7+b 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 diff --git a/indra/newview/skins/default/textures/widgets/PushButton_Login_Pressed.png b/indra/newview/skins/default/textures/widgets/PushButton_Login_Pressed.png index 828aa1a139468688772a3c9c4c460a58a1dcb15f..bf38c2cd75a495c433cc28b9f94f890e671715bb 100644 GIT binary patch literal 18571 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 M8-u)?J$L2(0}?W8NB{r; diff --git a/indra/newview/skins/default/xui/en/panel_login.xml b/indra/newview/skins/default/xui/en/panel_login.xml index 21c4444c750..4eccdd2aef5 100644 --- a/indra/newview/skins/default/xui/en/panel_login.xml +++ b/indra/newview/skins/default/xui/en/panel_login.xml @@ -165,7 +165,9 @@ label="Select grid" layout="topleft" name="server_combo" - width="149" /> + width="149" > + + Date: Fri, 6 Feb 2026 02:58:01 +0200 Subject: [PATCH 165/248] #5377 Fix PBR being highlighted incorrectly on a face --- indra/newview/llface.cpp | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/indra/newview/llface.cpp b/indra/newview/llface.cpp index 2b318dcf5f0..018d4c4bba5 100644 --- a/indra/newview/llface.cpp +++ b/indra/newview/llface.cpp @@ -1486,11 +1486,11 @@ bool LLFace::getGeometryVolume(const LLVolume& volume, // They are used only to display a face selection marker // (white square with a rounded cross at the center) const auto& tt = gltf_mat->mTextureTransform[gltf_info_index]; - r = -tt.mRotation * 2; - ms = tt.mScale[VX]; - mt = tt.mScale[VY]; - os += tt.mOffset[VX] + (ms - 1) / 2; - ot -= tt.mOffset[VY] + (mt - 1) / 2; + LLGLTFMaterial::convertPBRTransformToTexture( + tt.mScale, + tt.mOffset, + tt.mRotation, + ms, mt, os, ot, r); } else { From ee3242a56372e1b930840f1067fbe59cdb56e447 Mon Sep 17 00:00:00 2001 From: Andrey Lihatskiy Date: Fri, 6 Feb 2026 18:44:26 +0200 Subject: [PATCH 166/248] #5380 Fix crash in LLImageGL::analyzeAlpha() --- indra/llrender/llimagegl.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/indra/llrender/llimagegl.cpp b/indra/llrender/llimagegl.cpp index 97ea6f67bd8..4a3d32c7ffc 100644 --- a/indra/llrender/llimagegl.cpp +++ b/indra/llrender/llimagegl.cpp @@ -2189,7 +2189,7 @@ void LLImageGL::calcAlphaChannelOffsetAndStride() void LLImageGL::analyzeAlpha(const void* data_in, U32 w, U32 h) { - if(sSkipAnalyzeAlpha || !mNeedsAlphaAndPickMask) + if(!data_in || sSkipAnalyzeAlpha || !mNeedsAlphaAndPickMask) { return ; } From 30f0b8cad2d9164b0087550c42c2449f18eafa7c Mon Sep 17 00:00:00 2001 From: Andrey Lihatskiy Date: Fri, 6 Feb 2026 20:41:32 +0200 Subject: [PATCH 167/248] #5380 Fix race condition in texture creation causing AV Move addToCreateTexture() after image scaling to prevent mRawImage from being replaced while background thread holds pointer to it. --- indra/newview/llviewertexture.cpp | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/indra/newview/llviewertexture.cpp b/indra/newview/llviewertexture.cpp index 23915d01faf..50dcc7a9756 100644 --- a/indra/newview/llviewertexture.cpp +++ b/indra/newview/llviewertexture.cpp @@ -1898,13 +1898,11 @@ bool LLViewerFetchedTexture::processFetchResults(S32& desired_discard, S32 curre mRawDiscardLevel = INVALID_DISCARD_LEVEL; mIsFetching = false; mLastPacketTimer.reset(); - } - else - { - mIsRawImageValid = true; - addToCreateTexture(); + return false; } + mIsRawImageValid = true; + if (mBoostLevel == LLGLTexture::BOOST_ICON) { S32 expected_width = mKnownDrawWidth > 0 ? mKnownDrawWidth : DEFAULT_ICON_DIMENSIONS; @@ -1935,6 +1933,8 @@ bool LLViewerFetchedTexture::processFetchResults(S32& desired_discard, S32 curre } } + addToCreateTexture(); + return true; } else From a06a6f0a7b59fd4a68520dfc797f701573224c5c Mon Sep 17 00:00:00 2001 From: Andrey Lihatskiy Date: Fri, 6 Feb 2026 21:15:51 +0200 Subject: [PATCH 168/248] #5380 Guard against scaled() failure to prevent null dereference --- indra/newview/llviewertexture.cpp | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/indra/newview/llviewertexture.cpp b/indra/newview/llviewertexture.cpp index 50dcc7a9756..0f23596c9a8 100644 --- a/indra/newview/llviewertexture.cpp +++ b/indra/newview/llviewertexture.cpp @@ -1914,7 +1914,11 @@ bool LLViewerFetchedTexture::processFetchResults(S32& desired_discard, S32 curre // // BOOST_ICON gets scaling because profile icons can have a bunch of different formats, not just j2c // Might need another pass to use discard for j2c and scaling for everything else. - mRawImage = mRawImage->scaled(expected_width, expected_height); + LLPointer scaled = mRawImage->scaled(expected_width, expected_height); + if (scaled.notNull()) + { + mRawImage = scaled; + } } } @@ -1929,7 +1933,11 @@ bool LLViewerFetchedTexture::processFetchResults(S32& desired_discard, S32 curre // // Todo: probably needs to be remade to use discard, all thumbnails are supposed to be j2c, // so no need to scale, should be posible to use discard to scale image down. - mRawImage = mRawImage->scaled(expected_width, expected_height); + LLPointer scaled = mRawImage->scaled(expected_width, expected_height); + if (scaled.notNull()) + { + mRawImage = scaled; + } } } From 35f94f7042d562ced36f3c04c9dc71f9903182a3 Mon Sep 17 00:00:00 2001 From: Andrey Kleshchev <117672381+akleshchev@users.noreply.github.com> Date: Fri, 6 Feb 2026 23:58:58 +0200 Subject: [PATCH 169/248] Adjust buttons and lists for font size being larger --- indra/llui/llmenugl.cpp | 17 ++++-- .../skins/default/xui/en/floater_tools.xml | 52 ++++++++++++------- .../default/xui/en/panel_avatar_list_item.xml | 2 +- .../xui/en/panel_blocked_list_item.xml | 2 +- .../default/xui/en/panel_chat_header.xml | 4 +- .../default/xui/en/panel_group_list_item.xml | 2 +- .../skins/default/xui/en/panel_login.xml | 3 +- .../default/xui/en/panel_login_first.xml | 3 +- .../xui/en/panel_performance_nearby.xml | 3 +- .../xui/en/panel_preferences_graphics1.xml | 3 +- .../skins/default/xui/en/widgets/button.xml | 2 +- .../widgets/conversation_view_participant.xml | 2 +- .../xui/en/widgets/folder_view_item.xml | 2 +- .../skins/default/xui/en/widgets/toolbar.xml | 1 + 14 files changed, 60 insertions(+), 38 deletions(-) diff --git a/indra/llui/llmenugl.cpp b/indra/llui/llmenugl.cpp index 6ba31c251e3..3b21ed8f471 100644 --- a/indra/llui/llmenugl.cpp +++ b/indra/llui/llmenugl.cpp @@ -73,7 +73,7 @@ S32 MENU_BAR_WIDTH = 410; /// Local function declarations, constants, enums, and typedefs ///============================================================================ -const S32 LABEL_BOTTOM_PAD_PIXELS = 2; +const S32 LABEL_BOTTOM_PAD_PIXELS = 1; const U32 LEFT_PAD_PIXELS = 3; const U32 LEFT_WIDTH_PIXELS = 15; @@ -519,21 +519,25 @@ void LLMenuItemGL::draw( void ) } else { + // Munus are all of the same size, so fixed offset works here, + // but it won't work if somebody decides to use different font + // todo: adjust logic to work of rect and font height + F32 y = (F32)MENU_ITEM_PADDING / 2.f; if( !mDrawBoolLabel.empty() ) { - mFont->render( mDrawBoolLabel.getWString(), 0, (F32)LEFT_PAD_PIXELS, ((F32)MENU_ITEM_PADDING / 2.f), color, + mFont->render( mDrawBoolLabel.getWString(), 0, (F32)LEFT_PAD_PIXELS, y, color, LLFontGL::LEFT, LLFontGL::BOTTOM, LLFontGL::NORMAL, LLFontGL::NO_SHADOW, S32_MAX, S32_MAX, NULL, false ); } - mFont->render( mLabel.getWString(), 0, (F32)LEFT_PLAIN_PIXELS, ((F32)MENU_ITEM_PADDING / 2.f), color, + mFont->render( mLabel.getWString(), 0, (F32)LEFT_PLAIN_PIXELS, y, color, LLFontGL::LEFT, LLFontGL::BOTTOM, LLFontGL::NORMAL, LLFontGL::NO_SHADOW, S32_MAX, S32_MAX, NULL, false ); if( !mDrawAccelLabel.empty() ) { - mFont->render( mDrawAccelLabel.getWString(), 0, (F32)getRect().mRight - (F32)RIGHT_PLAIN_PIXELS, ((F32)MENU_ITEM_PADDING / 2.f), color, + mFont->render( mDrawAccelLabel.getWString(), 0, (F32)getRect().mRight - (F32)RIGHT_PLAIN_PIXELS, y, color, LLFontGL::RIGHT, LLFontGL::BOTTOM, LLFontGL::NORMAL, LLFontGL::NO_SHADOW, S32_MAX, S32_MAX, NULL, false ); } if( !mDrawBranchLabel.empty() ) { - mFont->render( mDrawBranchLabel.getWString(), 0, (F32)getRect().mRight - (F32)RIGHT_PAD_PIXELS, ((F32)MENU_ITEM_PADDING / 2.f), color, + mFont->render( mDrawBranchLabel.getWString(), 0, (F32)getRect().mRight - (F32)RIGHT_PAD_PIXELS, y, color, LLFontGL::RIGHT, LLFontGL::BOTTOM, LLFontGL::NORMAL, LLFontGL::NO_SHADOW, S32_MAX, S32_MAX, NULL, false ); } } @@ -1638,6 +1642,9 @@ void LLMenuItemBranchDownGL::draw( void ) { color = mDisabledColor.get(); } + // Munus are all of the same size, so fixed offset works here, + // but it won't work if somebody decides to use different font + // todo: adjust logic to work of rect and font height getFont()->render( mLabel.getWString(), 0, (F32)getRect().getWidth() / 2.f, (F32)LABEL_BOTTOM_PAD_PIXELS, color, LLFontGL::HCENTER, LLFontGL::BOTTOM, LLFontGL::NORMAL); diff --git a/indra/newview/skins/default/xui/en/floater_tools.xml b/indra/newview/skins/default/xui/en/floater_tools.xml index 6bbca720655..3c849162dfd 100644 --- a/indra/newview/skins/default/xui/en/floater_tools.xml +++ b/indra/newview/skins/default/xui/en/floater_tools.xml @@ -86,7 +86,8 @@ tool_tip="Focus" width="35" font="DejaVu" - font.size="LSmall"> + font.size="LSmall" + pad_bottom="1"> @@ -103,7 +104,8 @@ tool_tip="Move" width="35" font="DejaVu" - font.size="LSmall"> + font.size="LSmall" + pad_bottom="1"> @@ -120,7 +122,8 @@ tool_tip="Edit" width="35" font="DejaVu" - font.size="LSmall"> + font.size="LSmall" + pad_bottom="1"> @@ -137,7 +140,8 @@ tool_tip="Create" width="35" font="DejaVu" - font.size="LSmall"> + font.size="LSmall" + pad_bottom="1"> @@ -154,7 +158,8 @@ tool_tip="Land" width="35" font="DejaVu" - font.size="LSmall"> + font.size="LSmall" + pad_bottom="1"> @@ -300,7 +305,8 @@ name="link_btn" width="50" font="DejaVu" - font.size="LSmall"> + font.size="LSmall" + pad_bottom="1"> @@ -313,7 +319,8 @@ name="unlink_btn" width="90" font="DejaVu" - font.size="LSmall"> + font.size="LSmall" + pad_bottom="1"> @@ -1106,7 +1113,8 @@ tool_tip="Choose a group to share this object's permissions" width="23" font="DejaVu" - font.size="LSmall" /> + font.size="LSmall" + pad_bottom="1" /> + font.size="LSmall" + pad_bottom="1" /> + width="19" /> + font.size="LSmall" + pad_bottom="1" /> + width="100"> diff --git a/indra/newview/skins/default/xui/en/widgets/button.xml b/indra/newview/skins/default/xui/en/widgets/button.xml index 6836f9e6366..c7669e81aff 100644 --- a/indra/newview/skins/default/xui/en/widgets/button.xml +++ b/indra/newview/skins/default/xui/en/widgets/button.xml @@ -21,7 +21,7 @@ font="SansSerifSmall" hover_glow_amount="0.15" halign="center" - pad_bottom="1" + pad_bottom="2" height="23" scale_image="true" label_shadow="false" diff --git a/indra/newview/skins/default/xui/en/widgets/conversation_view_participant.xml b/indra/newview/skins/default/xui/en/widgets/conversation_view_participant.xml index cf995e58337..ebe2fa07e2f 100644 --- a/indra/newview/skins/default/xui/en/widgets/conversation_view_participant.xml +++ b/indra/newview/skins/default/xui/en/widgets/conversation_view_participant.xml @@ -9,7 +9,7 @@ left_pad="0" icon_pad="10" icon_width="20" - text_pad="7" + text_pad="5" text_pad_right="4" arrow_size="12" max_folder_item_overlap="2" diff --git a/indra/newview/skins/default/xui/en/widgets/folder_view_item.xml b/indra/newview/skins/default/xui/en/widgets/folder_view_item.xml index bcc77726816..671cb37ca34 100644 --- a/indra/newview/skins/default/xui/en/widgets/folder_view_item.xml +++ b/indra/newview/skins/default/xui/en/widgets/folder_view_item.xml @@ -12,7 +12,7 @@ left_pad="5" icon_pad="4" icon_width="16" - text_pad="3" + text_pad="5" text_pad_right="4" text_pad_top="0" arrow_size="12" diff --git a/indra/newview/skins/default/xui/en/widgets/toolbar.xml b/indra/newview/skins/default/xui/en/widgets/toolbar.xml index 83459115251..8d71ffbfb5a 100644 --- a/indra/newview/skins/default/xui/en/widgets/toolbar.xml +++ b/indra/newview/skins/default/xui/en/widgets/toolbar.xml @@ -25,6 +25,7 @@ desired_height="24" pad_left="10" pad_right="10" + pad_bottom="1" follows="left|top" chrome="true" image_overlay_alignment="left" From b58e2e6958002835cce217c6c4983b739d4e3684 Mon Sep 17 00:00:00 2001 From: Maxim Nikolenko Date: Mon, 9 Feb 2026 19:21:27 +0200 Subject: [PATCH 170/248] UI controls adjustments and selection color update * UI controls adjustments and selection color update * Use constexpr instead of magic numbers --- indra/llui/lltextbase.cpp | 5 +- indra/newview/skins/default/colors.xml | 3 ++ .../default/xui/en/floater_about_land.xml | 4 +- .../xui/en/floater_inventory_settings.xml | 2 +- .../default/xui/en/floater_model_preview.xml | 14 ++--- .../default/xui/en/floater_world_map.xml | 51 ++++++++++--------- .../skins/default/xui/en/inspect_group.xml | 10 ++-- .../default/xui/en/panel_group_notices.xml | 4 +- .../xui/en/panel_notification_list_item.xml | 6 ++- .../skins/default/xui/en/panel_people.xml | 5 +- .../xui/en/panel_performance_preferences.xml | 19 +++---- .../xui/en/panel_preferences_advanced.xml | 22 ++------ .../xui/en/panel_preferences_general.xml | 11 ++-- .../xui/en/panel_preferences_graphics1.xml | 4 +- .../xui/en/panel_preferences_privacy.xml | 2 + .../default/xui/en/widgets/line_editor.xml | 2 +- .../xui/en/widgets/simple_text_editor.xml | 2 +- 17 files changed, 84 insertions(+), 82 deletions(-) diff --git a/indra/llui/lltextbase.cpp b/indra/llui/lltextbase.cpp index 2079ff17fc2..1b8572f532a 100644 --- a/indra/llui/lltextbase.cpp +++ b/indra/llui/lltextbase.cpp @@ -51,6 +51,9 @@ const F32 CURSOR_FLASH_DELAY = 1.0f; // in seconds const S32 CURSOR_THICKNESS = 2; const F32 TRIPLE_CLICK_INTERVAL = 0.3f; // delay between double and triple click. +constexpr F32 FOCUSED_SELECTION_BG_ALPHA = 1; +constexpr F32 UNFOCUSED_SELECTION_BG_ALPHA = 0.7f; + LLTextBase::line_info::line_info(S32 index_start, S32 index_end, LLRect rect, S32 line_num) : mDocIndexStart(index_start), mDocIndexEnd(index_end), @@ -529,7 +532,7 @@ void LLTextBase::drawSelectionBackground() // Draw the selection box (we're using a box instead of reversing the colors on the selected text). gGL.getTexUnit(0)->unbind(LLTexUnit::TT_TEXTURE); const LLColor4& color = mSelectedBGColor; - F32 alpha = hasFocus() ? 0.7f : 0.3f; + F32 alpha = hasFocus() ? FOCUSED_SELECTION_BG_ALPHA : UNFOCUSED_SELECTION_BG_ALPHA; alpha *= getDrawContext().mAlpha; LLColor4 selection_color(color.mV[VRED], color.mV[VGREEN], color.mV[VBLUE], alpha); diff --git a/indra/newview/skins/default/colors.xml b/indra/newview/skins/default/colors.xml index 84e5518a037..ab094fc1cd7 100644 --- a/indra/newview/skins/default/colors.xml +++ b/indra/newview/skins/default/colors.xml @@ -11,6 +11,9 @@ + diff --git a/indra/newview/skins/default/xui/en/floater_about_land.xml b/indra/newview/skins/default/xui/en/floater_about_land.xml index c5b42b6daea..347b523a6b5 100644 --- a/indra/newview/skins/default/xui/en/floater_about_land.xml +++ b/indra/newview/skins/default/xui/en/floater_about_land.xml @@ -974,7 +974,7 @@ layout="topleft" left="28" name="Set to group:" - top_pad="5" + top_pad="9" width="176"> Set to group: @@ -1022,7 +1022,7 @@ layout="topleft" left="28" name="Owned by others:" - top_pad="5" + top_pad="9" width="176"> Owned by others: diff --git a/indra/newview/skins/default/xui/en/floater_inventory_settings.xml b/indra/newview/skins/default/xui/en/floater_inventory_settings.xml index a51e7a844aa..9d2ed43756f 100644 --- a/indra/newview/skins/default/xui/en/floater_inventory_settings.xml +++ b/indra/newview/skins/default/xui/en/floater_inventory_settings.xml @@ -145,7 +145,7 @@ font="SansSerifMedium" text_color="White" top_delta="1" - width="300"> + width="310"> Clicking on "Show in inventory" or "Find original" + width="53"> Display... + top_pad="10"> + top_pad="10"> + top_pad="10"> + top_pad="10"> + top_pad="10"> + top_pad="21"> - - land auction @@ -270,7 +270,7 @@ mouse_opaque="true" name="square2_owner" left="20" - top_pad="-5" + top_pad="-2" width="16" /> by owner @@ -290,7 +290,7 @@ control_name="MapShowGridCoords" layout="topleft" follows="top|right" - top_pad="2" + top_pad="5" left="3" height="16" width="22" @@ -300,8 +300,8 @@ type="string" layout="topleft" follows="top|right" - top_delta="2" - left_pad="3" + top_delta="-2" + left_pad="2" height="16" width="220" halign="left" @@ -357,7 +357,7 @@ height="16" layout="topleft" left="135" - top_pad="1" + top_pad="5" name="event_chk" width="22" /> - - @@ -89,7 +89,7 @@ L$123 to join height="23" label="Leave" left="8" - top="125" + top="146" name="leave_btn" width="103" commit_callback.function="InspectGroup.Leave"/> @@ -98,7 +98,7 @@ L$123 to join height="23" label="View Profile" name="view_profile_btn" - top="125" + top="146" left="117" width="103" commit_callback.function="InspectGroup.ViewProfile" /> diff --git a/indra/newview/skins/default/xui/en/panel_group_notices.xml b/indra/newview/skins/default/xui/en/panel_group_notices.xml index 1162dcf20da..b1d5086a298 100644 --- a/indra/newview/skins/default/xui/en/panel_group_notices.xml +++ b/indra/newview/skins/default/xui/en/panel_group_notices.xml @@ -28,7 +28,7 @@ You can turn off Notices on the General tab. left="5" name="lbl2" right="-1" - top="5" + top="3" width="300"> Notices are kept for 14 days. Maximum 200 per group daily @@ -42,7 +42,7 @@ Maximum 200 per group daily left="0" right="-1" name="notice_list" - top_pad="0" + top_pad="6" width="304"> Sender: "Resident R e s i d e n t R e s i d e n t" - + @@ -105,7 +106,8 @@ use_ellipses="true" word_wrap="false" mouse_opaque="false" name="sender_or_fee_box_exp" visible="false"> Sender: "Resident R e s i d e n t R e s i d e n t" - + diff --git a/indra/newview/skins/default/xui/en/panel_people.xml b/indra/newview/skins/default/xui/en/panel_people.xml index 1be34550fa9..d43045ebaa3 100644 --- a/indra/newview/skins/default/xui/en/panel_people.xml +++ b/indra/newview/skins/default/xui/en/panel_people.xml @@ -183,6 +183,7 @@ Learn about [https://community.secondlife.com/knowledgebase/joining-and-particip increment="1" follows="left|top" left="5" + top_pad="5" min_val="0" max_val="4096" label="Range:" @@ -199,13 +200,13 @@ Learn about [https://community.secondlife.com/knowledgebase/joining-and-particip + top_pad="3"> + width="42"> Fastest + width="45"> Farther + width="375"> Shadows significantly improve visual quality but can reduce speed. + width="153"> + + width="192"> (Enter value between 0.0 and 4.0) 0 @@ -446,7 +447,7 @@ font="SansSerifSmall" height="18" layout="topleft" - left_pad="30" + left_pad="29" name="2_lbl" width="7"> 2 @@ -468,7 +469,7 @@ layout="topleft" left_pad="30" name="4_lbl" - width="7"> + width="8"> 4 5 diff --git a/indra/newview/skins/default/xui/en/panel_preferences_advanced.xml b/indra/newview/skins/default/xui/en/panel_preferences_advanced.xml index 86999b1afbc..08595ed7e67 100644 --- a/indra/newview/skins/default/xui/en/panel_preferences_advanced.xml +++ b/indra/newview/skins/default/xui/en/panel_preferences_advanced.xml @@ -13,18 +13,6 @@ name="aspect_ratio_text"> [NUM]:[DEN] - - Cache: - @@ -86,7 +74,7 @@ font="SansSerif" height="23" layout="topleft" - left="80" + left="33" max_length_bytes="4096" name="cache_location" top_pad="5" @@ -113,7 +101,7 @@ left_pad="3" name="default_cache_location" top_delta="0" - width="100"> + width="104"> diff --git a/indra/newview/skins/default/xui/en/panel_preferences_general.xml b/indra/newview/skins/default/xui/en/panel_preferences_general.xml index aa641a35f75..809a5faab99 100644 --- a/indra/newview/skins/default/xui/en/panel_preferences_general.xml +++ b/indra/newview/skins/default/xui/en/panel_preferences_general.xml @@ -110,7 +110,8 @@ left="255" max_chars="135" name="time_format_combobox" - width="70"> + width="71"> + + top_pad="5" /> + top_pad="5"/> Faster @@ -216,7 +216,7 @@ min_val="64" max_val="512" name="DrawDistance" - top_delta="40" + top_delta="34" width="427" /> + From 3d0e9234a9fc8ad6903b412eb2d5555f29cdaa78 Mon Sep 17 00:00:00 2001 From: Andrey Kleshchev <117672381+akleshchev@users.noreply.github.com> Date: Mon, 9 Feb 2026 22:33:18 +0200 Subject: [PATCH 171/248] Make floater tools use Dejavu with old font size #2 --- indra/newview/skins/default/xui/en/floater_tools.xml | 4 ++-- .../skins/default/xui/en/panel_conversation_list_item.xml | 3 ++- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/indra/newview/skins/default/xui/en/floater_tools.xml b/indra/newview/skins/default/xui/en/floater_tools.xml index 3c849162dfd..dd2839373c9 100644 --- a/indra/newview/skins/default/xui/en/floater_tools.xml +++ b/indra/newview/skins/default/xui/en/floater_tools.xml @@ -877,8 +877,8 @@ open_tabs_on_drag_and_drop="true" top="173" width="295" - font="SansSerif" - font.size="Monospace"> + font="DejaVu" + font.size="LSmall"> @@ -86,6 +86,7 @@ auto_update="true" follows="top|right" draw_border="false" + top="6" height="16" layout="topleft" left_pad="5" From a35c315b1753dfab5307a2beceb634d4bc2553f0 Mon Sep 17 00:00:00 2001 From: Maxim Nikolenko Date: Tue, 10 Feb 2026 15:58:49 +0200 Subject: [PATCH 172/248] #5376 fix snapshot size not being updated when clicking 'Save to disk' --- indra/newview/llfloatersnapshot.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/indra/newview/llfloatersnapshot.cpp b/indra/newview/llfloatersnapshot.cpp index faf7ed0d8c7..83d7a928469 100644 --- a/indra/newview/llfloatersnapshot.cpp +++ b/indra/newview/llfloatersnapshot.cpp @@ -1043,7 +1043,7 @@ bool LLFloaterSnapshot::postBuild() getChild("profile_size_combo")->selectNthItem(0); getChild("postcard_size_combo")->selectNthItem(0); getChild("texture_size_combo")->selectNthItem(0); - getChild("local_size_combo")->selectNthItem(8); + getChild("local_size_combo")->selectNthItem(0); getChild("local_format_combo")->selectNthItem(0); impl->mPreviewHandle = previewp->getHandle(); From e39bddb96cd425cc0f6127cdfef69554a9b40e8a Mon Sep 17 00:00:00 2001 From: Mnikolenko Productengine Date: Tue, 10 Feb 2026 19:26:47 +0200 Subject: [PATCH 173/248] Increase height of Group inspect --- indra/newview/skins/default/xui/en/inspect_group.xml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/indra/newview/skins/default/xui/en/inspect_group.xml b/indra/newview/skins/default/xui/en/inspect_group.xml index eafa2886d21..226454df7cd 100644 --- a/indra/newview/skins/default/xui/en/inspect_group.xml +++ b/indra/newview/skins/default/xui/en/inspect_group.xml @@ -9,7 +9,7 @@ bg_opaque_image="Inspector_Background" can_close="false" can_minimize="false" - height="178" + height="188" layout="topleft" name="inspect_group" single_instance="true" @@ -80,7 +80,7 @@ L$123 to join height="23" label="Join" left="8" - top="146" + top="156" name="join_btn" width="103" commit_callback.function="InspectGroup.Join"/> @@ -89,7 +89,7 @@ L$123 to join height="23" label="Leave" left="8" - top="146" + top="156" name="leave_btn" width="103" commit_callback.function="InspectGroup.Leave"/> @@ -98,7 +98,7 @@ L$123 to join height="23" label="View Profile" name="view_profile_btn" - top="146" + top="156" left="117" width="103" commit_callback.function="InspectGroup.ViewProfile" /> From 5959bd363934b62dce6fb0fe838e3c88f9ff62c9 Mon Sep 17 00:00:00 2001 From: Maxim Nikolenko Date: Wed, 11 Feb 2026 00:12:01 +0200 Subject: [PATCH 174/248] #5398 Add keyboard shortcuts for "Use shared environment" and "Midday (legacy)" --- indra/newview/skins/default/xui/en/menu_viewer.xml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/indra/newview/skins/default/xui/en/menu_viewer.xml b/indra/newview/skins/default/xui/en/menu_viewer.xml index ba43e80edab..ffe4bcebd53 100644 --- a/indra/newview/skins/default/xui/en/menu_viewer.xml +++ b/indra/newview/skins/default/xui/en/menu_viewer.xml @@ -960,7 +960,8 @@ + name="legacy noon" + shortcut="control|shift|T"> @@ -992,7 +993,8 @@ + name="Use Shared Environment" + shortcut="control|shift|X"> From 58c405ca5fde2ab73b132b1fc2652f0c41cd19c2 Mon Sep 17 00:00:00 2001 From: Andrey Kleshchev <117672381+akleshchev@users.noreply.github.com> Date: Tue, 10 Feb 2026 03:39:58 +0200 Subject: [PATCH 175/248] #5356 Parse large messages on a general thread instead of main one --- indra/llmessage/llcorehttputil.cpp | 132 +++++++++++++++++++++-------- indra/llmessage/llcorehttputil.h | 9 +- 2 files changed, 100 insertions(+), 41 deletions(-) diff --git a/indra/llmessage/llcorehttputil.cpp b/indra/llmessage/llcorehttputil.cpp index b24e5e4fccd..647064f607a 100644 --- a/indra/llmessage/llcorehttputil.cpp +++ b/indra/llmessage/llcorehttputil.cpp @@ -37,6 +37,7 @@ #include "llsdserialize.h" #include "boost/json.hpp" // Boost.Json #include "llfilesystem.h" +#include "workqueue.h" #include "message.h" // for getting the port @@ -295,41 +296,73 @@ void HttpCoroHandler::onCompleted(LLCore::HttpHandle handle, LLCore::HttpRespons } else { - try + constexpr size_t MAX_BODY_SIZE_THRESHOLD = 65536; + bool posted = false; + // Some messsages (ex: AISAPI) can return large bodies. + // If the body is larger than our threshold, post the + // parsing to the general queue to avoid stalling the + // main thread. + if (response->getBodySize() > MAX_BODY_SIZE_THRESHOLD) { - result = this->handleSuccess(response, status); - } - catch (std::bad_alloc&) - { - LLError::LLUserWarningMsg::showOutOfMemory(); - LL_ERRS("CoreHTTP") << "Failed to allocate memory for response handling." << LL_ENDL; - } - } + response->addRef(); - buildStatusEntry(response, status, result); + LL::WorkQueue::ptr_t main_queue = LL::WorkQueue::getInstance("mainloop"); + LL::WorkQueue::ptr_t general_queue = LL::WorkQueue::getInstance("General"); + posted = main_queue->postTo( + general_queue, + [handler = shared_from_this(), response, status]() // Work done on general queue + { + std::pair result; + result.second = status; + try + { + result.first = handler->handleSuccess(response, result.second); + } + catch (std::bad_alloc&) + { + LLError::LLUserWarningMsg::showOutOfMemory(); + LL_ERRS("CoreHTTP") << "Failed to allocate memory for response handling (threaded)." << LL_ENDL; + } + // LLSD is not thread safe! Be carefull with moving the result around. + return result; + }, + [handler = shared_from_this(), response](std::pair result) mutable // Callback to main thread + { + handler->replyPost(response, result.second, result.first); + response->release(); + }); - if (!status) - { - LLSD &httpStatus = result[HttpCoroutineAdapter::HTTP_RESULTS]; + if (posted) + { + // Thread will do the cleanup and notify the pump. Done. + return; + } + else + { + // For whatever reason, failed to post, clean up and + // do the work on the main thread. + response->release(); + } + } - LLCore::BufferArray *body = response->getBody(); - LLCore::BufferArrayStream bas(body); - LLSD::String bodyData; - bodyData.reserve(response->getBodySize()); - bas >> std::noskipws; - bodyData.assign(std::istream_iterator(bas), std::istream_iterator()); - httpStatus["error_body"] = LLSD(bodyData); - if (getBoolSetting(HTTP_LOGBODY_KEY)) + if (!posted) { - // commenting out, but keeping since this can be useful for debugging - LL_WARNS("CoreHTTP") << "Returned body=" << std::endl << httpStatus["error_body"].asString() << LL_ENDL; + try + { + result = this->handleSuccess(response, status); + } + catch (std::bad_alloc&) + { + LLError::LLUserWarningMsg::showOutOfMemory(); + LL_ERRS("CoreHTTP") << "Failed to allocate memory for response handling." << LL_ENDL; + } } } - mReplyPump.post(result); + replyPost(response, status, result); } -void HttpCoroHandler::buildStatusEntry(LLCore::HttpResponse *response, LLCore::HttpStatus status, LLSD &result) +void HttpCoroHandler::buildStatusEntry(LLCore::HttpResponse *response, LLCore::HttpStatus status, LLSD &result) const { LLSD httpresults = LLSD::emptyMap(); @@ -357,6 +390,31 @@ void HttpCoroHandler::buildStatusEntry(LLCore::HttpResponse *response, LLCore::H result[HttpCoroutineAdapter::HTTP_RESULTS] = httpresults; } +void HttpCoroHandler::replyPost(LLCore::HttpResponse* response, LLCore::HttpStatus &status, LLSD& result) +{ + buildStatusEntry(response, status, result); + + if (!status) + { + LLSD& httpStatus = result[HttpCoroutineAdapter::HTTP_RESULTS]; + + LLCore::BufferArray* body = response->getBody(); + LLCore::BufferArrayStream bas(body); + LLSD::String bodyData; + bodyData.reserve(response->getBodySize()); + bas >> std::noskipws; + bodyData.assign(std::istream_iterator(bas), std::istream_iterator()); + httpStatus["error_body"] = LLSD(bodyData); + if (getBoolSetting(HTTP_LOGBODY_KEY)) + { + // commenting out, but keeping since this can be useful for debugging + LL_WARNS("CoreHTTP") << "Returned body=" << std::endl << httpStatus["error_body"].asString() << LL_ENDL; + } + } + + mReplyPump.post(result); +} + void HttpCoroHandler::writeStatusCodes(LLCore::HttpStatus status, const std::string &url, LLSD &result) { result[HttpCoroutineAdapter::HTTP_RESULTS_SUCCESS] = static_cast(status); @@ -389,8 +447,8 @@ class HttpCoroLLSDHandler : public HttpCoroHandler HttpCoroLLSDHandler(LLEventStream &reply); protected: - virtual LLSD handleSuccess(LLCore::HttpResponse * response, LLCore::HttpStatus &status); - virtual LLSD parseBody(LLCore::HttpResponse *response, bool &success); + virtual LLSD handleSuccess(LLCore::HttpResponse * response, LLCore::HttpStatus &status) const; + virtual LLSD parseBody(LLCore::HttpResponse *response, bool &success) const; }; //------------------------------------------------------------------------- @@ -400,7 +458,7 @@ HttpCoroLLSDHandler::HttpCoroLLSDHandler(LLEventStream &reply): } -LLSD HttpCoroLLSDHandler::handleSuccess(LLCore::HttpResponse * response, LLCore::HttpStatus &status) +LLSD HttpCoroLLSDHandler::handleSuccess(LLCore::HttpResponse * response, LLCore::HttpStatus &status) const { LLSD result; @@ -465,7 +523,7 @@ LLSD HttpCoroLLSDHandler::handleSuccess(LLCore::HttpResponse * response, LLCore: return result; } -LLSD HttpCoroLLSDHandler::parseBody(LLCore::HttpResponse *response, bool &success) +LLSD HttpCoroLLSDHandler::parseBody(LLCore::HttpResponse *response, bool &success) const { success = true; if (response->getBodySize() == 0) @@ -496,8 +554,8 @@ class HttpCoroRawHandler : public HttpCoroHandler public: HttpCoroRawHandler(LLEventStream &reply); - virtual LLSD handleSuccess(LLCore::HttpResponse * response, LLCore::HttpStatus &status); - virtual LLSD parseBody(LLCore::HttpResponse *response, bool &success); + virtual LLSD handleSuccess(LLCore::HttpResponse * response, LLCore::HttpStatus &status) const; + virtual LLSD parseBody(LLCore::HttpResponse *response, bool &success) const; }; //------------------------------------------------------------------------- @@ -506,7 +564,7 @@ HttpCoroRawHandler::HttpCoroRawHandler(LLEventStream &reply): { } -LLSD HttpCoroRawHandler::handleSuccess(LLCore::HttpResponse * response, LLCore::HttpStatus &status) +LLSD HttpCoroRawHandler::handleSuccess(LLCore::HttpResponse * response, LLCore::HttpStatus &status) const { LLSD result = LLSD::emptyMap(); @@ -552,7 +610,7 @@ LLSD HttpCoroRawHandler::handleSuccess(LLCore::HttpResponse * response, LLCore:: return result; } -LLSD HttpCoroRawHandler::parseBody(LLCore::HttpResponse *response, bool &success) +LLSD HttpCoroRawHandler::parseBody(LLCore::HttpResponse *response, bool &success) const { success = true; return LLSD(); @@ -571,8 +629,8 @@ class HttpCoroJSONHandler : public HttpCoroHandler public: HttpCoroJSONHandler(LLEventStream &reply); - virtual LLSD handleSuccess(LLCore::HttpResponse * response, LLCore::HttpStatus &status); - virtual LLSD parseBody(LLCore::HttpResponse *response, bool &success); + virtual LLSD handleSuccess(LLCore::HttpResponse * response, LLCore::HttpStatus &status) const; + virtual LLSD parseBody(LLCore::HttpResponse *response, bool &success) const; }; //------------------------------------------------------------------------- @@ -581,7 +639,7 @@ HttpCoroJSONHandler::HttpCoroJSONHandler(LLEventStream &reply) : { } -LLSD HttpCoroJSONHandler::handleSuccess(LLCore::HttpResponse * response, LLCore::HttpStatus &status) +LLSD HttpCoroJSONHandler::handleSuccess(LLCore::HttpResponse * response, LLCore::HttpStatus &status) const { LLSD result = LLSD::emptyMap(); @@ -607,7 +665,7 @@ LLSD HttpCoroJSONHandler::handleSuccess(LLCore::HttpResponse * response, LLCore: return result; } -LLSD HttpCoroJSONHandler::parseBody(LLCore::HttpResponse *response, bool &success) +LLSD HttpCoroJSONHandler::parseBody(LLCore::HttpResponse *response, bool &success) const { success = true; BufferArray * body(response->getBody()); diff --git a/indra/llmessage/llcorehttputil.h b/indra/llmessage/llcorehttputil.h index 3dbfd6f00db..3072f78911b 100644 --- a/indra/llmessage/llcorehttputil.h +++ b/indra/llmessage/llcorehttputil.h @@ -259,7 +259,7 @@ inline LLCore::HttpHandle requestPatchWithLLSD(LLCore::HttpRequest::ptr_t & requ /// +- ["url"] - The URL used to make the call. /// +- ["headers"] - A map of name name value pairs with the HTTP headers. /// -class HttpCoroHandler : public LLCore::HttpHandler +class HttpCoroHandler : public LLCore::HttpHandler, public std::enable_shared_from_this { public: @@ -279,11 +279,12 @@ class HttpCoroHandler : public LLCore::HttpHandler protected: /// this method may modify the status value - virtual LLSD handleSuccess(LLCore::HttpResponse * response, LLCore::HttpStatus &status) = 0; - virtual LLSD parseBody(LLCore::HttpResponse *response, bool &success) = 0; + virtual LLSD handleSuccess(LLCore::HttpResponse * response, LLCore::HttpStatus &status) const = 0; + virtual LLSD parseBody(LLCore::HttpResponse *response, bool &success) const = 0; private: - void buildStatusEntry(LLCore::HttpResponse *response, LLCore::HttpStatus status, LLSD &result); + void buildStatusEntry(LLCore::HttpResponse *response, LLCore::HttpStatus status, LLSD &result) const; + void replyPost(LLCore::HttpResponse* response, LLCore::HttpStatus& status, LLSD& result); LLEventStream &mReplyPump; }; From 6be26a000007af922788ccfd94ec0c6835b1d28e Mon Sep 17 00:00:00 2001 From: Andrey Kleshchev <117672381+akleshchev@users.noreply.github.com> Date: Tue, 10 Feb 2026 03:40:48 +0200 Subject: [PATCH 176/248] #5356 Fix fast texture cache's mutex stall --- indra/newview/lltexturecache.cpp | 62 ++++++++++++++++++++++++-------- indra/newview/lltexturecache.h | 1 + 2 files changed, 48 insertions(+), 15 deletions(-) diff --git a/indra/newview/lltexturecache.cpp b/indra/newview/lltexturecache.cpp index 2f8158f6f22..2e7f353e030 100644 --- a/indra/newview/lltexturecache.cpp +++ b/indra/newview/lltexturecache.cpp @@ -875,7 +875,7 @@ std::string LLTextureCache::getTextureFileName(const LLUUID& id) //debug bool LLTextureCache::isInCache(const LLUUID& id) { - LLMutexLock lock(&mHeaderMutex); + LLMutexLock lock(&mHeaderIDMapMutex); id_map_t::const_iterator iter = mHeaderIDMap.find(id); return (iter != mHeaderIDMap.end()) ; @@ -1117,10 +1117,13 @@ S32 LLTextureCache::openAndReadEntry(const LLUUID& id, Entry& entry, bool create { S32 idx = -1; - id_map_t::iterator iter1 = mHeaderIDMap.find(id); - if (iter1 != mHeaderIDMap.end()) { - idx = iter1->second; + LLMutexLock lock(&mHeaderIDMapMutex); + id_map_t::iterator iter1 = mHeaderIDMap.find(id); + if (iter1 != mHeaderIDMap.end()) + { + idx = iter1->second; + } } if (idx < 0) @@ -1148,10 +1151,19 @@ S32 LLTextureCache::openAndReadEntry(const LLUUID& id, Entry& entry, bool create // Erase entry from LRU regardless mLRU.erase(curiter2); // Look up entry and use it if it is valid - id_map_t::iterator iter3 = mHeaderIDMap.find(oldid); - if (iter3 != mHeaderIDMap.end() && iter3->second >= 0) + + S32 found_idx = -1; { - idx = iter3->second; + LLMutexLock lock(&mHeaderIDMapMutex); + id_map_t::iterator iter3 = mHeaderIDMap.find(oldid); + if (iter3 != mHeaderIDMap.end() && iter3->second >= 0) + { + found_idx = iter3->second; + } + } + if (found_idx >= 0) + { + idx = found_idx; removeCachedTexture(oldid) ;//remove the existing cached texture to release the entry index. break; } @@ -1287,7 +1299,10 @@ bool LLTextureCache::updateEntry(S32& idx, Entry& entry, S32 new_image_size, S32 bool update_header = false ; if(entry.mImageSize < 0) //is a brand-new entry { - mHeaderIDMap[entry.mID] = idx; + { + LLMutexLock lock(&mHeaderIDMapMutex); + mHeaderIDMap[entry.mID] = idx; + } mTexturesSizeMap[entry.mID] = new_body_size ; mTexturesSizeTotal += new_body_size ; @@ -1325,8 +1340,8 @@ bool LLTextureCache::updateEntry(S32& idx, Entry& entry, S32 new_image_size, S32 U32 LLTextureCache::openAndReadEntries(std::vector& entries) { + LLMutexLock lock(&mHeaderIDMapMutex); U32 num_entries = mHeaderEntriesInfo.mEntries; - mHeaderIDMap.clear(); mTexturesSizeMap.clear(); mFreeList.clear(); @@ -1620,7 +1635,10 @@ void LLTextureCache::purgeAllTextures(bool purge_directories) LLFile::rmdir(mTexturesDirName); } } - mHeaderIDMap.clear(); + { + LLMutexLock lock(&mHeaderIDMapMutex); + mHeaderIDMap.clear(); + } mTexturesSizeMap.clear(); mTexturesSizeTotal = 0; mFreeList.clear(); @@ -1667,6 +1685,7 @@ void LLTextureCache::purgeTexturesLazy(F32 time_limit_sec) { if (iter1->second > 0) { + LLMutexLock lock(&mHeaderIDMapMutex); id_map_t::iterator iter2 = mHeaderIDMap.find(iter1->first); if (iter2 != mHeaderIDMap.end()) { @@ -1708,8 +1727,13 @@ void LLTextureCache::purgeTexturesLazy(F32 time_limit_sec) Entry entry = mPurgeEntryList.back().second; mPurgeEntryList.pop_back(); // make sure record is still valid - id_map_t::iterator iter_header = mHeaderIDMap.find(entry.mID); - if (iter_header != mHeaderIDMap.end() && iter_header->second == idx) + bool remove_entry = false; + { + LLMutexLock lock(&mHeaderIDMapMutex); + id_map_t::iterator iter_header = mHeaderIDMap.find(entry.mID); + remove_entry = (iter_header != mHeaderIDMap.end() && iter_header->second == idx); + } + if (remove_entry) { std::string tex_filename = getTextureFileName(entry.mID); removeEntry(idx, entry, tex_filename); @@ -1752,6 +1776,7 @@ void LLTextureCache::purgeTextures(bool validate) { if (iter1->second > 0) { + LLMutexLock lock(&mHeaderIDMapMutex); id_map_t::iterator iter2 = mHeaderIDMap.find(iter1->first); if (iter2 != mHeaderIDMap.end()) { @@ -2006,7 +2031,7 @@ LLPointer LLTextureCache::readFromFastCache(const LLUUID& id, S32& d { U32 offset; { - LLMutexLock lock(&mHeaderMutex); + LLMutexLock lock(&mHeaderIDMapMutex); id_map_t::const_iterator iter = mHeaderIDMap.find(id); if(iter == mHeaderIDMap.end()) { @@ -2020,6 +2045,7 @@ LLPointer LLTextureCache::readFromFastCache(const LLUUID& id, S32& d U8* data; S32 head[4]; { + LL_PROFILE_ZONE_NAMED("Read fast cache"); LLMutexLock lock(&mFastCacheMutex); openFastCache(); @@ -2231,7 +2257,10 @@ void LLTextureCache::removeCachedTexture(const LLUUID& id) mTexturesSizeTotal -= mTexturesSizeMap[id] ; mTexturesSizeMap.erase(id); } - mHeaderIDMap.erase(id); + { + LLMutexLock lock(&mHeaderIDMapMutex); + mHeaderIDMap.erase(id); + } // We are inside header's mutex so mHeaderAPRFilePoolp is safe to use, // but getLocalAPRFilePool() is not safe, it might be in use by worker LLAPRFile::remove(getTextureFileName(id), mHeaderAPRFilePoolp); @@ -2262,7 +2291,10 @@ void LLTextureCache::removeEntry(S32 idx, Entry& entry, std::string& filename) entry.mImageSize = -1; entry.mBodySize = 0; - mHeaderIDMap.erase(entry.mID); + { + LLMutexLock lock(&mHeaderIDMapMutex); + mHeaderIDMap.erase(entry.mID); + } mTexturesSizeMap.erase(entry.mID); mFreeList.insert(idx); } diff --git a/indra/newview/lltexturecache.h b/indra/newview/lltexturecache.h index faf722dc8f6..42894383fde 100644 --- a/indra/newview/lltexturecache.h +++ b/indra/newview/lltexturecache.h @@ -194,6 +194,7 @@ class LLTextureCache : public LLWorkerThread // Internal LLMutex mWorkersMutex; LLMutex mHeaderMutex; + LLMutex mHeaderIDMapMutex; LLMutex mListMutex; LLMutex mFastCacheMutex; LLAPRFile* mHeaderAPRFile; From 7e9cc1a55a89650066aa2081d2d895d1b10a0b5b Mon Sep 17 00:00:00 2001 From: Trish Date: Wed, 11 Feb 2026 02:49:18 -0500 Subject: [PATCH 177/248] FIX - prejump bug --- indra/newview/llagent.cpp | 20 +++++++++++++++++++- indra/newview/llagent.h | 1 + 2 files changed, 20 insertions(+), 1 deletion(-) diff --git a/indra/newview/llagent.cpp b/indra/newview/llagent.cpp index 60af0cad05a..71883c8f423 100644 --- a/indra/newview/llagent.cpp +++ b/indra/newview/llagent.cpp @@ -425,6 +425,8 @@ LLAgent::LLAgent() : mIsDoNotDisturb(false), + mLastJumpRequestTime(0.0), + mControlFlags(0x00000000), mAutoPilot(false), @@ -677,6 +679,10 @@ void LLAgent::moveAt(S32 direction, bool reset) if (direction > 0) { + if (!getFlying()) + { + mLastJumpRequestTime = LLTimer::getTotalSeconds(); + } setControlFlags(AGENT_CONTROL_AT_POS | AGENT_CONTROL_FAST_AT); } else if (direction < 0) @@ -2663,7 +2669,19 @@ void LLAgent::onAnimStop(const LLUUID& id) } else if (id == ANIM_AGENT_PRE_JUMP || id == ANIM_AGENT_LAND || id == ANIM_AGENT_MEDIUM_LAND) { - setControlFlags(AGENT_CONTROL_FINISH_ANIM); + // If the jump key is currently held, avoid forcing a finish-anim that can + // short-circuit the next pre-jump in cases of rapid successive jumps. + // Bug amplified since v7 viewers or so, likely caused by https://github.com/FirestormViewer/phoenix-firestorm/commit/da87e8bd370ea079576f8b412a4ddb80c0715bd1 + // TODO: the real fix would be to discern which anim the viewer finished, but this requires simulator fixes. + const bool up_pos = (mControlFlags & AGENT_CONTROL_UP_POS) != 0; + const F64 now = LLTimer::getTotalSeconds(); + const F64 elapsed = now - mLastJumpRequestTime; + const bool recent_jump = (mLastJumpRequestTime > 0.0) && (elapsed < 1.0); + + if (!up_pos && !recent_jump) + { + setControlFlags(AGENT_CONTROL_FINISH_ANIM); + } } } diff --git a/indra/newview/llagent.h b/indra/newview/llagent.h index 3352890d999..a62c915ff14 100644 --- a/indra/newview/llagent.h +++ b/indra/newview/llagent.h @@ -487,6 +487,7 @@ class LLAgent : public LLOldEvents::LLObservable S32 mControlsTakenCount[TOTAL_CONTROLS]; S32 mControlsTakenPassedOnCount[TOTAL_CONTROLS]; U32 mControlFlags; // Replacement for the mFooKey's + F64 mLastJumpRequestTime; //-------------------------------------------------------------------- // Animations From e83f6a291c32d9f3b88660e7770216c83e4f85ff Mon Sep 17 00:00:00 2001 From: Andrey Kleshchev <117672381+akleshchev@users.noreply.github.com> Date: Wed, 11 Feb 2026 05:09:51 +0200 Subject: [PATCH 178/248] #5405 Stalls on LLFileSystem::getExists --- indra/llaudio/llaudioengine.cpp | 1 + indra/llfilesystem/llfilesystem.cpp | 18 +++++++----------- indra/newview/llviewerwearable.cpp | 1 + 3 files changed, 9 insertions(+), 11 deletions(-) diff --git a/indra/llaudio/llaudioengine.cpp b/indra/llaudio/llaudioengine.cpp index 613c4081571..6f2f7eae61d 100644 --- a/indra/llaudio/llaudioengine.cpp +++ b/indra/llaudio/llaudioengine.cpp @@ -225,6 +225,7 @@ void LLAudioEngine::updateChannels() void LLAudioEngine::idle() { + LL_PROFILE_ZONE_SCOPED_CATEGORY_MEDIA; // "Update" all of our audio sources, clean up dead ones. // Primarily does position updating, cleanup of unused audio sources. // Also does regeneration of the current priority of each audio source. diff --git a/indra/llfilesystem/llfilesystem.cpp b/indra/llfilesystem/llfilesystem.cpp index 541266af4f6..728ff396ef0 100644 --- a/indra/llfilesystem/llfilesystem.cpp +++ b/indra/llfilesystem/llfilesystem.cpp @@ -77,11 +77,10 @@ bool LLFileSystem::getExists(const LLUUID& file_id, const LLAssetType::EType fil LL_PROFILE_ZONE_SCOPED; const std::string filename = LLDiskCache::metaDataToFilepath(file_id, file_type); - llifstream file(filename, std::ios::binary); - if (file.is_open()) + boost::system::error_code ec; + if (boost::filesystem::exists(filename, ec) && boost::filesystem::is_regular_file(filename, ec)) { - file.seekg(0, std::ios::end); - return file.tellg() > 0; + return boost::filesystem::file_size(filename, ec) > 0; } return false; } @@ -120,15 +119,12 @@ S32 LLFileSystem::getFileSize(const LLUUID& file_id, const LLAssetType::EType fi { const std::string filename = LLDiskCache::metaDataToFilepath(file_id, file_type); - S32 file_size = 0; - llifstream file(filename, std::ios::binary); - if (file.is_open()) + boost::system::error_code ec; + if (boost::filesystem::exists(filename, ec) && boost::filesystem::is_regular_file(filename, ec)) { - file.seekg(0, std::ios::end); - file_size = (S32)file.tellg(); + return static_cast(boost::filesystem::file_size(filename, ec)); } - - return file_size; + return 0; } bool LLFileSystem::read(U8* buffer, S32 bytes) diff --git a/indra/newview/llviewerwearable.cpp b/indra/newview/llviewerwearable.cpp index 583fb253300..50af9756a39 100644 --- a/indra/newview/llviewerwearable.cpp +++ b/indra/newview/llviewerwearable.cpp @@ -96,6 +96,7 @@ LLViewerWearable::~LLViewerWearable() // virtual LLWearable::EImportResult LLViewerWearable::importStream( std::istream& input_stream, LLAvatarAppearance* avatarp ) { + LL_PROFILE_ZONE_SCOPED_CATEGORY_AVATAR; // suppress texlayerset updates while wearables are being imported. Layersets will be updated // when the wearables are "worn", not loaded. Note state will be restored when this object is destroyed. LLOverrideBakedTextureUpdate stop_bakes(false); From 2cabd41943c8d14bc72b52f1891671b28d0a856a Mon Sep 17 00:00:00 2001 From: Trish Date: Wed, 11 Feb 2026 10:16:58 -0500 Subject: [PATCH 179/248] fix - copilot suggestions --- indra/newview/llagent.cpp | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/indra/newview/llagent.cpp b/indra/newview/llagent.cpp index 71883c8f423..c559c0641a3 100644 --- a/indra/newview/llagent.cpp +++ b/indra/newview/llagent.cpp @@ -115,6 +115,7 @@ const F32 AUTOPILOT_MAX_TIME_NO_PROGRESS_FLY = 2.5f; // seconds. Flying i const F32 MAX_VELOCITY_AUTO_LAND_SQUARED = 4.f * 4.f; const F64 CHAT_AGE_FAST_RATE = 3.0; +const F64 RECENT_JUMP_THRESHOLD_SECS = 1.0; // seconds // fidget constants const F32 MIN_FIDGET_TIME = 8.f; // seconds @@ -425,9 +426,8 @@ LLAgent::LLAgent() : mIsDoNotDisturb(false), - mLastJumpRequestTime(0.0), - mControlFlags(0x00000000), + mLastJumpRequestTime(0.0), mAutoPilot(false), mAutoPilotFlyOnStop(false), @@ -679,10 +679,6 @@ void LLAgent::moveAt(S32 direction, bool reset) if (direction > 0) { - if (!getFlying()) - { - mLastJumpRequestTime = LLTimer::getTotalSeconds(); - } setControlFlags(AGENT_CONTROL_AT_POS | AGENT_CONTROL_FAST_AT); } else if (direction < 0) @@ -786,6 +782,10 @@ void LLAgent::moveUp(S32 direction) if (direction > 0) { + if (!getFlying()) + { + mLastJumpRequestTime = LLTimer::getTotalSeconds(); + } setControlFlags(AGENT_CONTROL_UP_POS | AGENT_CONTROL_FAST_UP); } else if (direction < 0) @@ -2676,7 +2676,7 @@ void LLAgent::onAnimStop(const LLUUID& id) const bool up_pos = (mControlFlags & AGENT_CONTROL_UP_POS) != 0; const F64 now = LLTimer::getTotalSeconds(); const F64 elapsed = now - mLastJumpRequestTime; - const bool recent_jump = (mLastJumpRequestTime > 0.0) && (elapsed < 1.0); + const bool recent_jump = (mLastJumpRequestTime > 0.0) && (elapsed < RECENT_JUMP_THRESHOLD_SECS); if (!up_pos && !recent_jump) { From deec7b6c071caa7bcd3c8bb56903e1da21c35bf5 Mon Sep 17 00:00:00 2001 From: Andrey Kleshchev <117672381+akleshchev@users.noreply.github.com> Date: Wed, 11 Feb 2026 06:14:36 +0200 Subject: [PATCH 180/248] #5404 Allow adding to favorites directly from the avatar --- indra/newview/llinventoryfunctions.cpp | 2 +- indra/newview/llviewermenu.cpp | 71 +++++++++++++++++++ .../default/xui/en/menu_attachment_self.xml | 22 ++++++ 3 files changed, 94 insertions(+), 1 deletion(-) diff --git a/indra/newview/llinventoryfunctions.cpp b/indra/newview/llinventoryfunctions.cpp index 458ea24d33c..7522ea49079 100644 --- a/indra/newview/llinventoryfunctions.cpp +++ b/indra/newview/llinventoryfunctions.cpp @@ -2555,7 +2555,7 @@ bool get_is_favorite(const LLUUID& obj_id) return obj && obj->getIsFavorite(); } - return object->getIsFavorite(); + return object && object->getIsFavorite(); } void set_favorite(const LLUUID& obj_id, bool favorite) diff --git a/indra/newview/llviewermenu.cpp b/indra/newview/llviewermenu.cpp index 5799e23ca5f..597292fac5d 100644 --- a/indra/newview/llviewermenu.cpp +++ b/indra/newview/llviewermenu.cpp @@ -3017,6 +3017,40 @@ void handle_object_show_original() show_item_original(object->getAttachmentItemID()); } +void handle_object_set_favorite(const LLSD& userdata) +{ + LLViewerObject* object = LLSelectMgr::getInstance()->getSelection()->getPrimaryObject(); + if (!object) + { + return; + } + LLViewerObject *parent = (LLViewerObject*)object->getParent(); + while (parent) + { + if(parent->isAvatar()) + { + break; + } + object = parent; + parent = (LLViewerObject*)parent->getParent(); + } + if (!object || object->isAvatar()) + { + return; + } + + LLUUID item_id = gInventory.getLinkedItemID(object->getAttachmentItemID()); + + std::string action = userdata.asString(); + if (action == "Add") + { + set_favorite(item_id, true); + } + if (action == "Remove") + { + set_favorite(item_id, false); + } +} static void init_default_item_label(LLUICtrl* ctrl) { @@ -3073,6 +3107,41 @@ bool enable_object_touch(LLUICtrl* ctrl) return new_value; }; +bool enable_object_favorite(const LLSD& userdata) +{ + LLViewerObject* object = LLSelectMgr::getInstance()->getSelection()->getPrimaryObject(); + if (!object) + { + return false; + } + LLViewerObject* parent = (LLViewerObject*)object->getParent(); + while (parent) + { + if (parent->isAvatar()) + { + break; + } + object = parent; + parent = (LLViewerObject*)parent->getParent(); + } + if (!object || object->isAvatar()) + { + return false; + } + + std::string action = userdata.asString(); + LLUUID item_id = gInventory.getLinkedItemID(object->getAttachmentItemID()); + if (action == "Add") + { + return !get_is_favorite(item_id); + } + if (action == "Remove") + { + return get_is_favorite(item_id); + } + return false; +} + //void label_touch(std::string& label, void*) //{ // LLSelectNode* node = LLSelectMgr::getInstance()->getSelection()->getFirstRootNode(); @@ -10170,6 +10239,7 @@ void initialize_menus() view_listener_t::addMenu(new LLObjectBuild(), "Object.Build"); commit.add("Object.Touch", boost::bind(&handle_object_touch)); commit.add("Object.ShowOriginal", boost::bind(&handle_object_show_original)); + commit.add("Object.SetFavorite", boost::bind(&handle_object_set_favorite, _2)); commit.add("Object.SitOrStand", boost::bind(&handle_object_sit_or_stand)); commit.add("Object.Delete", boost::bind(&handle_object_delete)); view_listener_t::addMenu(new LLObjectAttachToAvatar(true), "Object.AttachToAvatar"); @@ -10198,6 +10268,7 @@ void initialize_menus() enable.add("Object.EnableEditGLTFMaterial", boost::bind(&enable_object_edit_gltf_material)); enable.add("Object.EnableOpen", boost::bind(&enable_object_open)); enable.add("Object.EnableTouch", boost::bind(&enable_object_touch, _1)); + enable.add("Object.EnableFavorites", boost::bind(&enable_object_favorite, _2)); enable.add("Object.EnableDelete", boost::bind(&enable_object_delete)); enable.add("Object.EnableWear", boost::bind(&object_is_wearable)); diff --git a/indra/newview/skins/default/xui/en/menu_attachment_self.xml b/indra/newview/skins/default/xui/en/menu_attachment_self.xml index d9786193550..c9adf46ad7f 100644 --- a/indra/newview/skins/default/xui/en/menu_attachment_self.xml +++ b/indra/newview/skins/default/xui/en/menu_attachment_self.xml @@ -48,6 +48,28 @@ + + + + + + + + From 77f534e344092cdd8a602e3f30d421f8fea7a0c0 Mon Sep 17 00:00:00 2001 From: Andrey Lihatskiy <118752495+marchcat@users.noreply.github.com> Date: Wed, 11 Feb 2026 18:38:24 +0200 Subject: [PATCH 181/248] Update comment in indra/newview/llagent.h Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --- indra/newview/llagent.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/indra/newview/llagent.h b/indra/newview/llagent.h index a62c915ff14..4eac3357aa9 100644 --- a/indra/newview/llagent.h +++ b/indra/newview/llagent.h @@ -487,7 +487,7 @@ class LLAgent : public LLOldEvents::LLObservable S32 mControlsTakenCount[TOTAL_CONTROLS]; S32 mControlsTakenPassedOnCount[TOTAL_CONTROLS]; U32 mControlFlags; // Replacement for the mFooKey's - F64 mLastJumpRequestTime; + F64 mLastJumpRequestTime; // Time of last jump request in seconds from LLTimer::getTotalSeconds() //-------------------------------------------------------------------- // Animations From 2a9c1984e2b9cc5d1f88d1d2ba280668fa3aa5dc Mon Sep 17 00:00:00 2001 From: Trish Date: Wed, 11 Feb 2026 12:15:46 -0500 Subject: [PATCH 182/248] fix - threshold as debug setting & comment & flag label --- indra/newview/app_settings/settings.xml | 11 +++++++++++ indra/newview/llagent.cpp | 17 +++++++++-------- indra/newview/llagent.h | 2 +- 3 files changed, 21 insertions(+), 9 deletions(-) diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml index d81756f6477..27bcc1c1fc9 100644 --- a/indra/newview/app_settings/settings.xml +++ b/indra/newview/app_settings/settings.xml @@ -489,6 +489,17 @@ Value 1 + RecentJumpThresholdSecs + + Comment + Seconds after a jump input during which finish-anim is suppressed to avoid interrupting rapid successive jumps. + Persist + 1 + Type + F32 + Value + 1.0 + AvatarAxisDeadZone0 Comment diff --git a/indra/newview/llagent.cpp b/indra/newview/llagent.cpp index c559c0641a3..e3f9debd2fa 100644 --- a/indra/newview/llagent.cpp +++ b/indra/newview/llagent.cpp @@ -115,7 +115,6 @@ const F32 AUTOPILOT_MAX_TIME_NO_PROGRESS_FLY = 2.5f; // seconds. Flying i const F32 MAX_VELOCITY_AUTO_LAND_SQUARED = 4.f * 4.f; const F64 CHAT_AGE_FAST_RATE = 3.0; -const F64 RECENT_JUMP_THRESHOLD_SECS = 1.0; // seconds // fidget constants const F32 MIN_FIDGET_TIME = 8.f; // seconds @@ -427,7 +426,7 @@ LLAgent::LLAgent() : mIsDoNotDisturb(false), mControlFlags(0x00000000), - mLastJumpRequestTime(0.0), + mLastJumpInputTime(0.0), mAutoPilot(false), mAutoPilotFlyOnStop(false), @@ -2669,14 +2668,16 @@ void LLAgent::onAnimStop(const LLUUID& id) } else if (id == ANIM_AGENT_PRE_JUMP || id == ANIM_AGENT_LAND || id == ANIM_AGENT_MEDIUM_LAND) { - // If the jump key is currently held, avoid forcing a finish-anim that can - // short-circuit the next pre-jump in cases of rapid successive jumps. - // Bug amplified since v7 viewers or so, likely caused by https://github.com/FirestormViewer/phoenix-firestorm/commit/da87e8bd370ea079576f8b412a4ddb80c0715bd1 - // TODO: the real fix would be to discern which anim the viewer finished, but this requires simulator fixes. + // FIRE-34049/FIRE-34273/https://github.com/secondlife/viewer/issues/4218 + // Avoid forcing AGENT_CONTROL_FINISH_ANIM, which can short-circuit the next pre-jump + // during rapid successive jumps. + // TODO: a more robust fix would require knowing which specific animation finished, + // information that is not currently provided by the simulator. const bool up_pos = (mControlFlags & AGENT_CONTROL_UP_POS) != 0; const F64 now = LLTimer::getTotalSeconds(); - const F64 elapsed = now - mLastJumpRequestTime; - const bool recent_jump = (mLastJumpRequestTime > 0.0) && (elapsed < RECENT_JUMP_THRESHOLD_SECS); + const F64 elapsed = now - mLastJumpInputTime; + static LLCachedControl recent_jump_threshold_secs(gSavedSettings, "RecentJumpThresholdSecs"); + const bool recent_jump = (mLastJumpInputTime > 0.0) && (elapsed < recent_jump_threshold_secs); if (!up_pos && !recent_jump) { diff --git a/indra/newview/llagent.h b/indra/newview/llagent.h index 4eac3357aa9..e6d9623957f 100644 --- a/indra/newview/llagent.h +++ b/indra/newview/llagent.h @@ -487,7 +487,7 @@ class LLAgent : public LLOldEvents::LLObservable S32 mControlsTakenCount[TOTAL_CONTROLS]; S32 mControlsTakenPassedOnCount[TOTAL_CONTROLS]; U32 mControlFlags; // Replacement for the mFooKey's - F64 mLastJumpRequestTime; // Time of last jump request in seconds from LLTimer::getTotalSeconds() + F64 mLastJumpInputTime; // Time of last jump input (key-down) in seconds from LLTimer::getTotalSeconds() //-------------------------------------------------------------------- // Animations From 5386d142b7a1dd5492b02f8fa1d9870e9d1fe834 Mon Sep 17 00:00:00 2001 From: Andrey Lihatskiy Date: Wed, 11 Feb 2026 23:54:07 +0200 Subject: [PATCH 183/248] #5409 Post-merge fix: variable name mismatch --- indra/newview/llagent.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/indra/newview/llagent.cpp b/indra/newview/llagent.cpp index e3f9debd2fa..3ab87cac137 100644 --- a/indra/newview/llagent.cpp +++ b/indra/newview/llagent.cpp @@ -783,7 +783,7 @@ void LLAgent::moveUp(S32 direction) { if (!getFlying()) { - mLastJumpRequestTime = LLTimer::getTotalSeconds(); + mLastJumpInputTime = LLTimer::getTotalSeconds(); } setControlFlags(AGENT_CONTROL_UP_POS | AGENT_CONTROL_FAST_UP); } From 8e9a7187eb231b22f8c4fdc52227c2f09f0d507e Mon Sep 17 00:00:00 2001 From: Mnikolenko Productengine Date: Thu, 12 Feb 2026 14:20:39 +0200 Subject: [PATCH 184/248] Floaters and UI controls adjustments --- .../default/xui/en/floater_bulk_perms.xml | 4 +- .../xui/en/floater_edit_hover_height.xml | 4 +- .../default/xui/en/floater_font_test.xml | 2 +- .../default/xui/en/floater_god_tools.xml | 56 +++++++++---------- .../xui/en/floater_live_material_editor.xml | 6 +- .../xui/en/floater_material_editor.xml | 6 +- .../xui/en/floater_my_environments.xml | 9 ++- .../en/floater_new_feature_notification.xml | 4 +- .../skins/default/xui/en/floater_telehub.xml | 2 +- .../xui/en/floater_voice_chat_volume.xml | 2 +- .../xui/en/panel_experience_search.xml | 4 +- .../default/xui/en/panel_gltf_material.xml | 12 ++-- .../xui/en/panel_preferences_setup.xml | 21 ++++--- .../xui/en/panel_preferences_sound.xml | 19 ++++--- .../xui/en/panel_region_experiences.xml | 1 - .../default/xui/en/panel_region_general.xml | 8 +-- .../default/xui/en/panel_region_terrain.xml | 26 ++++----- .../xui/en/panel_settings_sky_atmos.xml | 4 +- 18 files changed, 97 insertions(+), 93 deletions(-) diff --git a/indra/newview/skins/default/xui/en/floater_bulk_perms.xml b/indra/newview/skins/default/xui/en/floater_bulk_perms.xml index 7636284b4b6..0c88f043fd2 100644 --- a/indra/newview/skins/default/xui/en/floater_bulk_perms.xml +++ b/indra/newview/skins/default/xui/en/floater_bulk_perms.xml @@ -291,7 +291,7 @@ height="16" label="Copy" layout="topleft" - top_pad="0" + top_pad="3" name="next_owner_copy" tool_tip="Next owner can make unlimited copies of this object. Copies maintain creator information, and can never be more permissive than the item being copied." width="92"> @@ -302,7 +302,7 @@ control_name="BulkChangeNextOwnerTransfer" enabled_control="BulkChangeNextOwnerCopy" height="16" - top_pad="0" + top_pad="3" initial_value="true" label="Transfer" layout="topleft" diff --git a/indra/newview/skins/default/xui/en/floater_edit_hover_height.xml b/indra/newview/skins/default/xui/en/floater_edit_hover_height.xml index c8316845947..41e8d3dc8a6 100644 --- a/indra/newview/skins/default/xui/en/floater_edit_hover_height.xml +++ b/indra/newview/skins/default/xui/en/floater_edit_hover_height.xml @@ -5,7 +5,7 @@ can_minimize="true" can_close="true" can_resize="false" - height="80" + height="84" width="515" layout="topleft" name="HoverHeight" @@ -39,6 +39,6 @@ label="Bind Camera view" layout="topleft" name="BindCameraCheck" - top_pad="7" + top_pad="14" width="237"/> diff --git a/indra/newview/skins/default/xui/en/floater_font_test.xml b/indra/newview/skins/default/xui/en/floater_font_test.xml index 61cb91e2f3f..8070ed55e68 100644 --- a/indra/newview/skins/default/xui/en/floater_font_test.xml +++ b/indra/newview/skins/default/xui/en/floater_font_test.xml @@ -5,7 +5,7 @@ height="800" layout="topleft" min_height="175" - min_width="154" + min_width="390" name="contents" help_topic="contents" title="FONT TEST" diff --git a/indra/newview/skins/default/xui/en/floater_god_tools.xml b/indra/newview/skins/default/xui/en/floater_god_tools.xml index f8ec696af9f..70976891186 100644 --- a/indra/newview/skins/default/xui/en/floater_god_tools.xml +++ b/indra/newview/skins/default/xui/en/floater_god_tools.xml @@ -6,7 +6,7 @@ name="godtools floater" help_topic="godtools_floater" title="GOD TOOLS" - width="400"> + width="410"> + width="410"> + width="294"> @@ -233,13 +233,13 @@ border_style="line" border_thickness="1" follows="top|right" - height="16" + height="18" layout="topleft" - left_delta="108" + left_delta="90" max_length_bytes="10" name="estate" top_delta="0" - width="50" /> + width="100" /> Parent ID: @@ -257,14 +257,14 @@ border_style="line" border_thickness="1" follows="top|right" - height="16" + height="18" layout="topleft" - left_delta="108" + left_delta="90" max_length_bytes="10" name="parentestate" tool_tip="This is the parent estate for this region" top_delta="0" - width="50"> + width="100"> @@ -276,22 +276,22 @@ layout="topleft" left="200" name="Grid Pos: " - top_pad="4" - width="190"> + top_pad="7" + width="90"> Grid Pos: + width="46"> @@ -299,14 +299,14 @@ border_style="line" border_thickness="1" follows="top|right" - height="16" + height="18" layout="topleft" - left_pad="10" + left_pad="8" max_length_bytes="10" name="gridposy" tool_tip="This is the grid y position for this region" top_delta="0" - width="40"> + width="46"> @@ -318,20 +318,20 @@ layout="topleft" left="200" name="Redirect to Grid: " - top_pad="4" - width="88"> + top_pad="7" + width="90"> Redirect to Grid: + width="46"> @@ -339,13 +339,13 @@ border_style="line" border_thickness="1" follows="top|right" - height="16" + height="18" layout="topleft" - left_pad="10" + left_pad="8" max_length_bytes="10" name="redirecty" top_delta="0" - width="40"> + width="46"> @@ -407,10 +407,10 @@ label="Refresh" label_selected="Refresh" layout="topleft" - left="278" + left="280" name="Refresh" tool_tip="Click here to refresh the above information" - top_pad="10" + top_pad="14" width="110"> diff --git a/indra/newview/skins/default/xui/en/floater_live_material_editor.xml b/indra/newview/skins/default/xui/en/floater_live_material_editor.xml index 5b7dab6a527..a104923f8dc 100644 --- a/indra/newview/skins/default/xui/en/floater_live_material_editor.xml +++ b/indra/newview/skins/default/xui/en/floater_live_material_editor.xml @@ -4,9 +4,9 @@ can_resize="true" default_tab_group="1" height="790" - width="256" + width="267" min_height="500" - min_width="256" + min_width="267" layout="topleft" name="material editor" help_topic="material_editor" @@ -17,7 +17,7 @@ top="18" left="4" height="768" - width="250" + width="261" follows="all" layout="topleft" color="DkGray2" diff --git a/indra/newview/skins/default/xui/en/floater_material_editor.xml b/indra/newview/skins/default/xui/en/floater_material_editor.xml index 21ceeafeeac..f894e946221 100644 --- a/indra/newview/skins/default/xui/en/floater_material_editor.xml +++ b/indra/newview/skins/default/xui/en/floater_material_editor.xml @@ -4,9 +4,9 @@ can_resize="true" default_tab_group="1" height="891" - width="256" + width="267" min_height="500" - min_width="256" + min_width="267" layout="topleft" name="material editor" help_topic="material_editor" @@ -20,7 +20,7 @@ top="18" left="4" height="768" - width="250" + width="261" follows="all" layout="topleft" color="DkGray2" diff --git a/indra/newview/skins/default/xui/en/floater_my_environments.xml b/indra/newview/skins/default/xui/en/floater_my_environments.xml index 8c9c450d7c6..d85c0d84bf2 100644 --- a/indra/newview/skins/default/xui/en/floater_my_environments.xml +++ b/indra/newview/skins/default/xui/en/floater_my_environments.xml @@ -41,6 +41,7 @@ mouse_opaque="true" name="icon_settingsdays" left="4" + top="6" width="16" /> Enter part of the name: + width="257"> Roughness Factor @@ -273,7 +273,7 @@ Software updates: @@ -180,7 +180,7 @@ height="23" layout="topleft" left_delta="50" - top_pad="5" + top_pad="10" name="updater_service_combobox" width="300"> + width="400"/> + width="400"/> Proxy Settings: @@ -242,8 +242,7 @@ layout="topleft" left_delta="50" name="set_proxy" - top_pad="5" - > + top_pad="10" > diff --git a/indra/newview/skins/default/xui/en/panel_preferences_sound.xml b/indra/newview/skins/default/xui/en/panel_preferences_sound.xml index ab5709e8ee5..af3b2d6cb58 100644 --- a/indra/newview/skins/default/xui/en/panel_preferences_sound.xml +++ b/indra/newview/skins/default/xui/en/panel_preferences_sound.xml @@ -319,7 +319,7 @@ top_delta="25" name="Listen media from" height="15" - width="165" + width="175" halign="right"> Hear media and sounds from @@ -346,7 +346,7 @@ layout="topleft" height="15" left="23" - width="165" + width="175" name="media_autoplay_label" halign="right"> Auto-play media @@ -357,7 +357,7 @@ follows="left|top" layout="topleft" height="23" - left_delta="170" + left_delta="180" top_delta="-4" name="media_auto_play_combo" width="130"> @@ -379,7 +379,7 @@ layout="topleft" height="15" left="23" - width="165" + width="175" name="media_firstinteract_label" halign="right"> Media first-interact @@ -390,11 +390,12 @@ follows="left|top" layout="topleft" height="23" - left_delta="170" + left_delta="180" top_delta="-4" width="130" name="media_first_interact_combo" tool_tip="This setting controls which media (once loaded) does not require a first click to focus before interaction can begin. This allows clicks to be passed directly to media bypassing the focus click requirement. Each option also inherits the previous ones."> + Hear voice from @@ -513,7 +514,7 @@ control_name="VoiceEarLocation" follows="left|top" layout="topleft" - left_delta="170" + left_delta="180" top_delta="-6" width="130" height="23" diff --git a/indra/newview/skins/default/xui/en/panel_region_experiences.xml b/indra/newview/skins/default/xui/en/panel_region_experiences.xml index 199dca4853d..5e9ebabba76 100644 --- a/indra/newview/skins/default/xui/en/panel_region_experiences.xml +++ b/indra/newview/skins/default/xui/en/panel_region_experiences.xml @@ -13,7 +13,6 @@ Any Experience may be Key. - Key Experiences have permission to run on this estate. Additionally, if the estate does not allow public access, Residents participating in any Key Experience may enter the estate and can remain as long as they are in a Key Experience. diff --git a/indra/newview/skins/default/xui/en/panel_region_general.xml b/indra/newview/skins/default/xui/en/panel_region_general.xml index 47e1e669d10..4e624276ccf 100644 --- a/indra/newview/skins/default/xui/en/panel_region_general.xml +++ b/indra/newview/skins/default/xui/en/panel_region_general.xml @@ -67,12 +67,12 @@ unknown @@ -81,7 +81,7 @@ font="SansSerif" height="20" layout="topleft" - top_delta="0" + top_delta="-1" right="-100" name="grid_position_lbl" width="80"> diff --git a/indra/newview/skins/default/xui/en/panel_region_terrain.xml b/indra/newview/skins/default/xui/en/panel_region_terrain.xml index 73e0a1000f0..dd9907dc1f7 100644 --- a/indra/newview/skins/default/xui/en/panel_region_terrain.xml +++ b/indra/newview/skins/default/xui/en/panel_region_terrain.xml @@ -42,7 +42,7 @@ max_val="100" name="water_height_spin" top="40" - width="180" /> + width="190" /> + width="190" /> + width="190" /> @@ -349,7 +349,7 @@ min_val="-500" name="height_start_spin_1" top_delta="15" - width="100" /> + width="105" /> + width="105" /> + width="105" /> + width="105" /> @@ -425,7 +425,7 @@ min_val="-500" name="height_start_spin_0" top_delta="15" - width="100" /> + width="105" /> + width="105" /> + width="105" /> + width="105" /> - - - [[URL] Subscribe Now] - - - - - - - diff --git a/indra/newview/skins/default/xui/en/panel_voice_effect.xml b/indra/newview/skins/default/xui/en/panel_voice_effect.xml deleted file mode 100644 index 42cd510efda..00000000000 --- a/indra/newview/skins/default/xui/en/panel_voice_effect.xml +++ /dev/null @@ -1,33 +0,0 @@ - - - - Voice Morphing Off - - - Preview Voice Morphing ▶ - - - Get Voice Morphing ▶ - - - - - - diff --git a/indra/newview/skins/default/xui/es/floater_big_preview.xml b/indra/newview/skins/default/xui/es/floater_big_preview.xml deleted file mode 100644 index b112243d7a6..00000000000 --- a/indra/newview/skins/default/xui/es/floater_big_preview.xml +++ /dev/null @@ -1,2 +0,0 @@ - - diff --git a/indra/newview/skins/default/xui/es/floater_post_process.xml b/indra/newview/skins/default/xui/es/floater_post_process.xml deleted file mode 100644 index 5c62ccde360..00000000000 --- a/indra/newview/skins/default/xui/es/floater_post_process.xml +++ /dev/null @@ -1,53 +0,0 @@ - - - - - - - Brillo - - - Saturación - - - Contraste - - - Color base del contraste - - - - - - - - - - Amplificación de luz - - - Cantidad de ruido - - - Intensidad del ruido - - - - - - Extracción de la luminosidad - - - Bloom: cantidad - - - Bloom: intensidad - - - -