diff --git a/app/build.gradle b/app/build.gradle index c658f200b5..bfd2351e14 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -10,8 +10,8 @@ android { applicationId 'com.discord' minSdkVersion 21 targetSdkVersion 30 - versionCode 110200 - versionName "110.0 - Alpha" + versionCode 110201 + versionName "110.1 - Alpha" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" } diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 9be3cfef5b..3c2e61ae3a 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -1,5 +1,5 @@ - + diff --git a/app/src/main/java/b/i/e/r/a.java b/app/src/main/java/b/i/e/r/a.java index 1f4a485ecb..4c7c8c35e1 100644 --- a/app/src/main/java/b/i/e/r/a.java +++ b/app/src/main/java/b/i/e/r/a.java @@ -5,7 +5,6 @@ import androidx.core.view.InputDeviceCompat; import androidx.core.view.PointerIconCompat; import androidx.media.AudioAttributesCompat; import androidx.room.RoomDatabase; -import com.discord.BuildConfig; import com.discord.models.domain.ModelInvite; import com.discord.restapi.RestAPIAbortCodes; import com.discord.utilities.font.FontUtils; @@ -21,7 +20,7 @@ public final class a { public static final int[] a = new int[0]; /* renamed from: b reason: collision with root package name */ - public static final int[] f1860b = {66142, 66170, 66206, 66236, 66290, 66292, 66350, 66382, 66396, 66454, 66470, 66476, 66594, 66600, 66614, 66626, 66628, 66632, 66640, 66654, 66662, 66668, 66682, 66690, 66718, 66720, 66748, 66758, 66776, 66798, 66802, 66804, 66820, 66824, 66832, 66846, 66848, 66876, 66880, 66936, 66950, 66956, 66968, 66992, 67006, 67022, 67036, 67042, 67044, 67048, 67062, 67118, 67150, 67164, 67214, 67228, 67256, 67294, 67322, 67350, 67366, 67372, 67398, 67404, 67416, 67438, 67474, 67476, 67490, 67492, 67496, 67510, 67618, 67624, 67650, 67656, 67664, 67678, 67686, 67692, 67706, 67714, 67716, 67728, 67742, 67744, 67772, 67782, 67788, 67800, 67822, 67826, 67828, 67842, 67848, 67870, 67872, 67900, 67904, 67960, 67974, 67992, 68016, 68030, 68046, 68060, 68066, 68068, 68072, 68086, 68104, 68112, 68126, 68128, 68156, 68160, 68216, 68336, 68358, 68364, 68376, 68400, 68414, 68448, 68476, 68494, 68508, 68536, 68546, 68548, 68552, 68560, 68574, 68582, 68588, 68654, 68686, 68700, 68706, 68708, 68712, 68726, 68750, 68764, 68792, 68802, 68804, 68808, 68816, 68830, 68838, 68844, 68858, 68878, 68892, 68920, 68976, 68990, 68994, 68996, 69000, 69008, 69022, 69024, 69052, 69062, 69068, 69080, 69102, 69106, 69108, 69142, 69158, 69164, 69190, 69208, 69230, 69254, 69260, 69272, 69296, 69310, 69326, 69340, 69386, 69394, 69396, 69410, 69416, 69430, 69442, 69444, 69448, 69456, 69470, 69478, 69484, 69554, 69556, 69666, 69672, 69698, 69704, 69712, 69726, 69754, 69762, 69764, 69776, 69790, 69792, 69820, 69830, 69836, 69848, 69870, 69874, 69876, 69890, 69918, 69920, 69948, 69952, 70008, 70022, 70040, 70064, 70078, 70094, 70108, 70114, 70116, 70120, 70134, 70152, 70174, 70176, 70264, 70384, 70412, 70448, 70462, 70496, 70524, 70542, 70556, 70584, 70594, 70600, 70608, 70622, 70630, 70636, 70664, 70672, 70686, 70688, 70716, 70720, 70776, 70896, 71136, 71180, 71192, 71216, 71230, 71264, 71292, 71360, 71416, 71452, 71480, 71536, 71550, 71554, 71556, 71560, 71568, 71582, 71584, 71612, 71622, 71628, 71640, 71662, 71726, 71732, 71758, 71772, 71778, 71780, 71784, 71798, 71822, 71836, 71864, 71874, 71880, 71888, 71902, 71910, 71916, 71930, 71950, 71964, 71992, 72048, 72062, 72066, 72068, 72080, 72094, 72096, 72124, 72134, 72140, 72152, 72174, 72178, 72180, 72206, 72220, 72248, 72304, 72318, 72416, 72444, 72456, 72464, 72478, 72480, 72508, 72512, 72568, 72588, 72600, 72624, 72638, 72654, 72668, 72674, 72676, 72680, 72694, 72726, 72742, 72748, 72774, 72780, 72792, 72814, 72838, 72856, 72880, 72894, 72910, 72924, 72930, 72932, 72936, 72950, 72966, 72972, 72984, 73008, 73022, 73056, 73084, 73102, 73116, 73144, 73156, 73160, 73168, 73182, 73190, 73196, 73210, 73226, 73234, 73236, 73250, 73252, 73256, 73270, 73282, 73284, 73296, 73310, 73318, 73324, 73346, 73348, 73352, 73360, 73374, 73376, 73404, 73414, 73420, 73432, 73454, 73498, 73518, 73522, 73524, 73550, 73564, 73570, 73572, 73576, 73590, 73800, 73822, 73858, 73860, 73872, 73886, 73888, 73916, 73944, 73970, 73972, 73992, 74014, 74016, 74044, 74048, 74104, 74118, 74136, 74160, 74174, 74210, 74212, 74216, 74230, 74244, 74256, 74270, 74272, 74360, 74480, 74502, 74508, 74544, 74558, 74592, 74620, 74638, 74652, 74680, 74690, 74696, 74704, 74726, 74732, 74782, 74784, 74812, 74992, 75232, 75288, 75326, 75360, 75388, 75456, 75512, 75576, 75632, 75646, 75650, 75652, 75664, 75678, 75680, 75708, 75718, 75724, 75736, 75758, 75808, 75836, 75840, 75896, 76016, 76256, 76736, 76824, 76848, 76862, 76896, 76924, 76992, 77048, 77296, 77340, 77368, 77424, 77438, 77536, 77564, 77572, 77576, 77584, 77600, 77628, 77632, 77688, 77702, 77708, 77720, 77744, 77758, 77774, 77788, 77870, 77902, 77916, 77922, 77928, 77966, 77980, 78008, 78018, 78024, 78032, 78046, 78060, 78074, 78094, 78136, 78192, 78206, 78210, 78212, 78224, 78238, 78240, 78268, 78278, 78284, 78296, 78322, 78324, 78350, 78364, 78448, 78462, 78560, 78588, 78600, 78622, 78624, 78652, 78656, 78712, 78726, 78744, 78768, 78782, 78798, 78812, 78818, 78820, 78824, 78838, 78862, 78876, 78904, 78960, 78974, 79072, 79100, 79296, 79352, 79368, 79376, 79390, 79392, 79420, 79424, 79480, 79600, 79628, 79640, 79664, 79678, 79712, 79740, 79772, 79800, 79810, 79812, 79816, 79824, 79838, 79846, 79852, 79894, 79910, 79916, 79942, 79948, 79960, 79982, 79988, 80006, 80024, 80048, 80062, 80078, 80092, 80098, 80100, 80104, 80134, 80140, 80176, 80190, 80224, 80252, 80270, 80284, 80312, 80328, 80336, 80350, 80358, 80364, 80378, 80390, 80396, 80408, 80432, 80446, 80480, 80508, 80576, 80632, 80654, 80668, 80696, 80752, 80766, 80776, 80784, 80798, 80800, 80828, 80844, 80856, 80878, 80882, 80884, 80914, 80916, 80930, 80932, 80936, 80950, 80962, 80968, 80976, 80990, 80998, 81004, 81026, 81028, 81040, 81054, 81056, 81084, 81094, 81100, 81112, 81134, 81154, 81156, 81160, 81168, 81182, 81184, 81212, 81216, 81272, 81286, 81292, 81304, 81328, 81342, 81358, 81372, 81380, 81384, 81398, 81434, 81454, 81458, 81460, 81486, 81500, 81506, 81508, 81512, 81526, 81550, 81564, 81592, 81602, 81604, 81608, 81616, 81630, 81638, 81644, 81702, 81708, 81722, 81734, 81740, 81752, 81774, 81778, 81780, 82050, 82078, 82080, 82108, 82180, 82184, 82192, 82206, 82208, 82236, 82240, 82296, 82316, 82328, 82352, 82366, 82402, 82404, 82408, 82440, 82448, 82462, 82464, 82492, 82496, 82552, 82672, 82694, 82700, 82712, 82736, 82750, 82784, 82812, 82830, 82882, 82884, 82888, 82896, 82918, 82924, 82952, 82960, 82974, 82976, 83004, 83008, 83064, 83184, 83424, 83468, 83480, 83504, 83518, 83552, 83580, 83648, 83704, 83740, 83768, 83824, 83838, 83842, 83844, 83848, 83856, 83872, 83900, 83910, 83916, 83928, 83950, 83984, 84000, 84028, 84032, 84088, 84208, 84448, 84928, 85040, 85054, 85088, 85116, 85184, 85240, 85488, 85560, 85616, 85630, 85728, 85756, 85764, 85768, 85776, 85790, 85792, 85820, 85824, 85880, 85894, 85900, 85912, 85936, 85966, 85980, 86048, 86080, 86136, 86256, 86496, 86976, 88160, 88188, 88256, 88312, 88560, 89056, 89200, 89214, 89312, 89340, 89536, 89592, 89608, 89616, 89632, 89664, 89720, 89840, 89868, 89880, 89904, 89952, 89980, 89998, 90012, 90040, 90190, 90204, 90254, 90268, 90296, 90306, 90308, 90312, 90334, 90382, 90396, 90424, 90480, 90494, 90500, 90504, 90512, 90526, 90528, 90556, 90566, 90572, 90584, 90610, 90612, 90638, 90652, 90680, 90736, 90750, 90848, 90876, 90884, 90888, 90896, 90910, 90912, 90940, 90944, 91000, 91014, 91020, 91032, 91056, 91070, 91086, 91100, 91106, 91108, 91112, 91126, 91150, 91164, 91192, 91248, 91262, 91360, 91388, 91584, 91640, 91664, 91678, 91680, 91708, 91712, 91768, 91888, 91928, 91952, 91966, 92000, 92028, 92046, 92060, 92088, 92098, 92100, 92104, 92112, 92126, 92134, 92140, 92188, 92216, 92272, 92384, 92412, 92608, 92664, 93168, 93200, 93214, 93216, 93244, 93248, 93304, 93424, 93664, 93720, 93744, 93758, 93792, 93820, 93888, 93944, 93980, 94008, 94064, 94078, 94084, 94088, 94096, 94110, 94112, 94140, 94150, 94156, 94168, 94246, 94252, 94278, 94284, 94296, 94318, 94342, 94348, 94360, 94384, 94398, 94414, 94428, 94440, 94470, 94476, 94488, 94512, 94526, 94560, 94588, 94606, 94620, 94648, 94658, 94660, 94664, 94672, 94686, 94694, 94700, 94714, 94726, 94732, 94744, 94768, 94782, 94816, 94844, 94912, 94968, 94990, 95004, 95032, 95088, 95102, 95112, 95120, 95134, 95136, 95164, 95180, 95192, 95214, 95218, 95220, 95244, 95256, 95280, 95294, 95328, 95356, 95424, 95480, 95728, 95758, 95772, 95800, 95856, 95870, 95968, 95996, 96008, 96016, 96030, 96032, 96060, 96064, 96120, 96152, 96176, 96190, 96220, 96226, 96228, 96232, 96290, 96292, 96296, 96310, 96322, 96324, 96328, 96336, 96350, 96358, 96364, 96386, 96388, 96392, 96400, 96414, 96416, 96444, 96454, 96460, 96472, 96494, 96498, 96500, 96514, 96516, 96520, 96528, 96542, 96544, 96572, 96576, 96632, 96646, 96652, 96664, 96688, 96702, 96718, 96732, 96738, 96740, 96744, 96758, 96772, 96776, 96784, 96798, 96800, 96828, 96832, 96888, 97008, 97030, 97036, 97048, 97072, 97086, 97120, 97148, 97166, 97180, 97208, 97220, 97224, 97232, 97246, 97254, 97260, 97326, 97330, 97332, 97358, 97372, 97378, 97380, 97384, 97398, 97422, 97436, 97464, 97474, 97476, 97480, 97488, 97502, 97510, 97516, 97550, 97564, 97592, 97648, 97666, 97668, 97672, 97680, 97694, 97696, 97724, 97734, 97740, 97752, 97774, 97830, 97836, 97850, 97862, 97868, 97880, 97902, 97906, 97908, 97926, 97932, 97944, 97968, 97998, 98012, 98018, 98020, 98024, 98038, 98618, 98674, 98676, 98838, 98854, 98874, 98892, 98904, 98926, 98930, 98932, 98968, 99006, 99042, 99044, 99048, 99062, 99166, 99194, 99246, 99286, 99350, 99366, 99372, 99386, 99398, 99416, 99438, 99442, 99444, 99462, 99504, 99518, 99534, 99548, 99554, 99556, 99560, 99574, 99590, 99596, 99608, 99632, 99646, 99680, 99708, 99726, 99740, 99768, 99778, 99780, 99784, 99792, 99806, 99814, 99820, 99834, 99858, 99860, 99874, 99880, 99894, 99906, 99920, 99934, 99962, 99970, 99972, 99976, 99984, 99998, 100000, 100028, 100038, 100044, 100056, 100078, 100082, 100084, 100142, 100174, 100188, 100246, 100262, 100268, 100306, 100308, 100390, 100396, 100410, 100422, 100428, 100440, 100462, 100466, 100468, 100486, 100504, 100528, 100542, 100558, 100572, 100578, 100580, 100584, 100598, 100620, 100656, 100670, 100704, 100732, 100750, 100792, 100802, 100808, 100816, 100830, 100838, 100844, 100858, 100888, 100912, 100926, 100960, 100988, 101056, 101112, 101148, 101176, 101232, 101246, 101250, 101252, 101256, 101264, 101278, 101280, 101308, 101318, 101324, 101336, 101358, 101362, 101364, 101410, 101412, 101416, 101430, 101442, 101448, 101456, 101470, 101478, 101498, 101506, 101508, 101520, 101534, 101536, 101564, 101580, 101618, 101620, 101636, 101640, 101648, 101662, 101664, 101692, 101696, 101752, 101766, 101784, 101838, 101858, 101860, 101864, 101934, 101938, 101940, 101966, 101980, 101986, 101988, 101992, 102030, 102044, 102072, 102082, 102084, 102088, 102096, 102138, 102166, 102182, 102188, 102214, 102220, 102232, 102254, 102282, 102290, 102292, 102306, 102308, 102312, 102326, 102444, 102458, 102470, 102476, 102488, 102514, 102516, 102534, 102552, 102576, 102590, 102606, 102620, 102626, 102632, 102646, 102662, 102668, 102704, 102718, 102752, 102780, 102798, 102812, 102840, 102850, 102856, 102864, 102878, 102886, 102892, 102906, 102936, 102974, 103008, 103036, 103104, 103160, 103224, 103280, 103294, 103298, 103300, 103312, 103326, 103328, 103356, 103366, 103372, 103384, 103406, 103410, 103412, 103472, 103486, 103520, 103548, 103616, 103672, 103920, 103992, 104048, 104062, 104160, 104188, 104194, 104196, 104200, 104208, 104224, 104252, 104256, 104312, 104326, 104332, 104344, 104368, 104382, 104398, 104412, 104418, 104420, 104424, 104482, 104484, 104514, 104520, 104528, 104542, 104550, 104570, 104578, 104580, 104592, 104606, 104608, 104636, 104652, 104690, 104692, 104706, 104712, 104734, 104736, 104764, 104768, 104824, 104838, 104856, 104910, 104930, 104932, 104936, 104968, 104976, 104990, 104992, 105020, 105024, 105080, 105200, 105240, 105278, 105312, 105372, 105410, 105412, 105416, 105424, 105446, 105518, 105524, 105550, 105564, 105570, 105572, 105576, 105614, 105628, 105656, 105666, 105672, 105680, 105702, 105722, 105742, 105756, 105784, 105840, 105854, 105858, 105860, 105864, 105872, 105888, 105932, 105970, 105972, 106006, 106022, 106028, 106054, 106060, 106072, 106100, 106118, 106124, 106136, 106160, 106174, 106190, 106210, 106212, 106216, 106250, 106258, 106260, 106274, 106276, 106280, 106306, 106308, 106312, 106320, 106334, 106348, 106394, 106414, 106418, 106420, 106566, 106572, 106610, 106612, 106630, 106636, 106648, 106672, 106686, 106722, 106724, 106728, 106742, 106758, 106764, 106776, 106800, 106814, 106848, 106876, 106894, 106908, 106936, 106946, 106948, 106952, 106960, 106974, 106982, 106988, 107032, 107056, 107070, 107104, 107132, 107200, 107256, 107292, 107320, 107376, 107390, 107394, 107396, 107400, 107408, 107422, 107424, 107452, 107462, 107468, 107480, 107502, 107506, 107508, 107544, 107568, 107582, 107616, 107644, 107712, 107768, 108016, 108060, 108088, 108144, 108158, 108256, 108284, 108290, 108292, 108296, 108304, 108318, 108320, 108348, 108352, 108408, 108422, 108428, 108440, 108464, 108478, 108494, 108508, 108514, 108516, 108520, 108592, 108640, 108668, 108736, 108792, 109040, 109536, 109680, 109694, 109792, 109820, 110016, 110072, 110084, 110088, 110096, 110112, 110140, 110144, BuildConfig.VERSION_CODE, 110320, 110342, 110348, 110360, 110384, 110398, 110432, 110460, 110478, 110492, 110520, 110532, 110536, 110544, 110558, 110658, 110686, 110714, 110722, 110724, 110728, 110736, 110750, 110752, 110780, 110796, 110834, 110836, 110850, 110852, 110856, 110864, 110878, 110880, 110908, 110912, 110968, 110982, RestAPIAbortCodes.SEARCH_INDEXING, 111054, 111074, 111076, 111080, 111108, 111112, 111120, 111134, 111136, 111164, 111168, 111224, 111344, 111372, 111422, 111456, 111516, 111554, 111556, 111560, 111568, 111590, 111632, 111646, 111648, 111676, 111680, 111736, 111856, 112096, 112152, 112224, 112252, 112320, 112440, 112514, 112516, 112520, 112528, 112542, 112544, 112588, 112686, 112718, 112732, 112782, 112796, 112824, 112834, 112836, 112840, 112848, 112870, 112890, 112910, 112924, 112952, 113008, 113022, 113026, 113028, 113032, 113040, 113054, 113056, 113100, 113138, 113140, 113166, 113180, 113208, 113264, 113278, 113376, 113404, 113416, 113424, 113440, 113468, 113472, 113560, 113614, 113634, 113636, 113640, 113686, 113702, 113708, 113734, 113740, 113752, 113778, 113780, 113798, 113804, 113816, 113840, 113854, 113870, 113890, 113892, 113896, 113926, 113932, 113944, 113968, 113982, 114016, 114044, 114076, 114114, 114116, 114120, 114128, 114150, 114170, 114194, 114196, 114210, 114212, 114216, 114242, 114244, 114248, 114256, 114270, 114278, 114306, 114308, 114312, 114320, 114334, 114336, 114364, 114380, 114420, 114458, 114478, 114482, 114484, 114510, 114524, 114530, 114532, 114536, 114842, 114866, 114868, 114970, 114994, 114996, 115042, 115044, 115048, 115062, 115130, 115226, 115250, 115252, 115278, 115292, 115298, 115300, 115304, 115318, 115342, 115394, 115396, 115400, 115408, 115422, 115430, 115436, 115450, 115478, 115494, 115514, 115526, 115532, 115570, 115572, 115738, 115758, 115762, 115764, 115790, 115804, 115810, 115812, 115816, 115830, 115854, 115868, 115896, 115906, 115912, 115920, 115934, 115942, 115948, 115962, 115996, 116024, 116080, 116094, 116098, 116100, 116104, 116112, 116126, 116128, 116156, 116166, 116172, 116184, 116206, 116210, 116212, 116246, 116262, 116268, 116282, 116294, 116300, 116312, 116334, 116338, 116340, 116358, 116364, 116376, 116400, 116414, 116430, 116444, 116450, 116452, 116456, 116498, 116500, 116514, 116520, 116534, 116546, 116548, 116552, 116560, 116574, 116582, 116588, 116602, 116654, 116694, 116714, 116762, 116782, 116786, 116788, 116814, 116828, 116834, 116836, 116840, 116854, 116878, 116892, 116920, 116930, 116936, 116944, 116958, 116966, 116972, 116986, 117006, 117048, 117104, 117118, 117122, 117124, 117136, 117150, 117152, 117180, 117190, 117196, 117208, 117230, 117234, 117236, 117304, 117360, 117374, 117472, 117500, 117506, 117508, 117512, 117520, 117536, 117564, 117568, 117624, 117638, 117644, 117656, 117680, 117694, 117710, 117724, 117730, 117732, 117736, 117750, 117782, 117798, 117804, 117818, 117830, 117848, 117874, 117876, 117894, 117936, 117950, 117966, 117986, 117988, 117992, 118022, 118028, 118040, 118064, 118078, 118112, 118140, 118172, 118210, 118212, 118216, 118224, 118238, 118246, 118266, 118306, 118312, 118338, 118352, 118366, 118374, 118394, 118402, 118404, 118408, 118416, 118430, 118432, 118460, 118476, 118514, 118516, 118574, 118578, 118580, 118606, 118620, 118626, 118628, 118632, 118678, 118694, 118700, 118730, 118738, 118740, 118830, 118834, 118836, 118862, 118876, 118882, 118884, 118888, 118902, 118926, 118940, 118968, 118978, 118980, 118984, 118992, 119006, 119014, 119020, 119034, 119068, 119096, 119152, 119166, 119170, 119172, 119176, 119184, 119198, 119200, 119228, 119238, 119244, 119256, 119278, 119282, 119284, 119324, 119352, 119408, 119422, 119520, 119548, 119554, 119556, 119560, 119568, 119582, 119584, 119612, 119616, 119672, 119686, 119692, 119704, 119728, 119742, 119758, 119772, 119778, 119780, 119784, 119798, 119920, 119934, 120032, 120060, 120256, 120312, 120324, 120328, 120336, 120352, 120384, 120440, 120560, 120582, 120588, 120600, 120624, 120638, 120672, 120700, 120718, 120732, 120760, 120770, 120772, 120776, 120784, 120798, 120806, 120812, 120870, 120876, 120890, 120902, 120908, 120920, 120946, 120948, 120966, 120972, 120984, 121008, 121022, 121038, 121058, 121060, 121064, 121078, 121100, 121112, 121136, 121150, 121184, 121212, 121244, 121282, 121284, 121288, 121296, 121318, 121338, 121356, 121368, 121392, 121406, 121440, 121468, 121536, 121592, 121656, 121730, 121732, 121736, 121744, 121758, 121760, 121804, 121842, 121844, 121890, 121922, 121924, 121928, 121936, 121950, 121958, 121978, 121986, 121988, 121992, 122000, 122014, 122016, 122044, 122060, 122098, 122100, 122116, 122120, 122128, 122142, 122144, 122172, 122176, 122232, 122246, 122264, 122318, 122338, 122340, 122344, 122414, 122418, 122420, 122446, 122460, 122466, 122468, 122472, 122510, 122524, 122552, 122562, 122564, 122568, 122576, 122598, 122618, 122646, 122662, 122668, 122694, 122700, 122712, 122738, 122740, 122762, 122770, 122772, 122786, 122788, 122792, 123018, 123026, 123028, 123042, 123044, 123048, 123062, 123098, 123146, 123154, 123156, 123170, 123172, 123176, 123190, 123202, 123204, 123208, 123216, 123238, 123244, 123258, 123290, 123314, 123316, 123402, 123410, 123412, 123426, 123428, 123432, 123446, 123458, 123464, 123472, 123486, 123494, 123500, 123514, 123522, 123524, 123528, 123536, 123552, 123580, 123590, 123596, 123608, 123630, 123634, 123636, 123674, 123698, 123700, 123740, 123746, 123748, 123752, 123834, 123914, 123922, 123924, 123938, 123944, 123958, 123970, 123976, 123984, 123998, 124006, 124012, 124026, 124034, 124036, 124048, 124062, 124064, 124092, 124102, 124108, 124120, 124142, 124146, 124148, 124162, 124164, 124168, 124176, 124190, 124192, 124220, 124224, 124280, 124294, 124300, 124312, 124336, 124350, 124366, 124380, 124386, 124388, 124392, 124406, 124442, 124462, 124466, 124468, 124494, 124508, 124514, 124520, 124558, 124572, 124600, 124610, 124612, 124616, 124624, 124646, 124666, 124694, 124710, 124716, 124730, 124742, 124748, 124760, 124786, 124788, 124818, 124820, 124834, 124836, 124840, 124854, 124946, 124948, 124962, 124964, 124968, 124982, 124994, 124996, 125000, 125008, 125022, 125030, 125036, 125050, 125058, 125060, 125064, 125072, 125086, 125088, 125116, 125126, 125132, 125144, 125166, 125170, 125172, 125186, 125188, 125192, 125200, 125216, 125244, 125248, 125304, 125318, 125324, 125336, 125360, 125374, 125390, 125404, 125410, 125412, 125416, 125430, 125444, 125448, 125456, 125472, 125504, 125560, 125680, 125702, 125708, 125720, 125744, 125758, 125792, 125820, 125838, 125852, 125880, 125890, 125892, 125896, 125904, 125918, 125926, 125932, 125978, 125998, 126002, 126004, 126030, 126044, 126050, 126052, 126056, 126094, 126108, 126136, 126146, 126148, 126152, 126160, 126182, 126202, 126222, 126236, 126264, 126320, 126334, 126338, 126340, 126344, 126352, 126366, 126368, 126412, 126450, 126452, 126486, 126502, 126508, 126522, 126534, 126540, 126552, 126574, 126578, 126580, 126598, 126604, 126616, 126640, 126654, 126670, 126684, 126690, 126692, 126696, 126738, 126754, 126756, 126760, 126774, 126786, 126788, 126792, 126800, 126814, 126822, 126828, 126842, 126894, 126898, 126900, 126934, 127126, 127142, 127148, 127162, 127178, 127186, 127188, 127254, 127270, 127276, 127290, 127302, 127308, 127320, 127342, 127346, 127348, 127370, 127378, 127380, 127394, 127396, 127400, 127450, 127510, 127526, 127532, 127546, 127558, 127576, 127598, 127602, 127604, 127622, 127628, 127640, 127664, 127678, 127694, 127708, 127714, 127716, 127720, 127734, 127754, 127762, 127764, 127778, 127784, 127810, 127812, 127816, 127824, 127838, 127846, 127866, 127898, 127918, 127922, 127924, 128022, 128038, 128044, 128058, 128070, 128076, 128088, 128110, 128114, 128116, 128134, 128140, 128152, 128176, 128190, 128206, 128220, 128226, 128228, 128232, 128246, 128262, 128268, 128280, 128304, 128318, 128352, 128380, 128398, 128412, 128440, 128450, 128452, 128456, 128464, 128478, 128486, 128492, 128506, 128522, 128530, 128532, 128546, 128548, 128552, 128566, 128578, 128580, 128584, 128592, 128606, 128614, 128634, 128642, 128644, 128648, 128656, 128670, 128672, 128700, 128716, 128754, 128756, 128794, 128814, 128818, 128820, 128846, 128860, 128866, 128868, 128872, 128886, 128918, 128934, 128940, 128954, 128978, 128980, 129178, 129198, 129202, 129204, 129238, 129258, 129306, 129326, 129330, 129332, 129358, 129372, 129378, 129380, 129384, 129398, 129430, 129446, 129452, 129466, 129482, 129490, 129492, 129562, 129582, 129586, 129588, 129614, 129628, 129634, 129636, 129640, 129654, 129678, 129692, 129720, 129730, 129732, 129736, 129744, 129758, 129766, 129772, 129814, 129830, 129836, 129850, 129862, 129868, 129880, 129902, 129906, 129908, 129930, 129938, 129940, 129954, 129956, 129960, 129974, 130010}; + public static final int[] f1860b = {66142, 66170, 66206, 66236, 66290, 66292, 66350, 66382, 66396, 66454, 66470, 66476, 66594, 66600, 66614, 66626, 66628, 66632, 66640, 66654, 66662, 66668, 66682, 66690, 66718, 66720, 66748, 66758, 66776, 66798, 66802, 66804, 66820, 66824, 66832, 66846, 66848, 66876, 66880, 66936, 66950, 66956, 66968, 66992, 67006, 67022, 67036, 67042, 67044, 67048, 67062, 67118, 67150, 67164, 67214, 67228, 67256, 67294, 67322, 67350, 67366, 67372, 67398, 67404, 67416, 67438, 67474, 67476, 67490, 67492, 67496, 67510, 67618, 67624, 67650, 67656, 67664, 67678, 67686, 67692, 67706, 67714, 67716, 67728, 67742, 67744, 67772, 67782, 67788, 67800, 67822, 67826, 67828, 67842, 67848, 67870, 67872, 67900, 67904, 67960, 67974, 67992, 68016, 68030, 68046, 68060, 68066, 68068, 68072, 68086, 68104, 68112, 68126, 68128, 68156, 68160, 68216, 68336, 68358, 68364, 68376, 68400, 68414, 68448, 68476, 68494, 68508, 68536, 68546, 68548, 68552, 68560, 68574, 68582, 68588, 68654, 68686, 68700, 68706, 68708, 68712, 68726, 68750, 68764, 68792, 68802, 68804, 68808, 68816, 68830, 68838, 68844, 68858, 68878, 68892, 68920, 68976, 68990, 68994, 68996, 69000, 69008, 69022, 69024, 69052, 69062, 69068, 69080, 69102, 69106, 69108, 69142, 69158, 69164, 69190, 69208, 69230, 69254, 69260, 69272, 69296, 69310, 69326, 69340, 69386, 69394, 69396, 69410, 69416, 69430, 69442, 69444, 69448, 69456, 69470, 69478, 69484, 69554, 69556, 69666, 69672, 69698, 69704, 69712, 69726, 69754, 69762, 69764, 69776, 69790, 69792, 69820, 69830, 69836, 69848, 69870, 69874, 69876, 69890, 69918, 69920, 69948, 69952, 70008, 70022, 70040, 70064, 70078, 70094, 70108, 70114, 70116, 70120, 70134, 70152, 70174, 70176, 70264, 70384, 70412, 70448, 70462, 70496, 70524, 70542, 70556, 70584, 70594, 70600, 70608, 70622, 70630, 70636, 70664, 70672, 70686, 70688, 70716, 70720, 70776, 70896, 71136, 71180, 71192, 71216, 71230, 71264, 71292, 71360, 71416, 71452, 71480, 71536, 71550, 71554, 71556, 71560, 71568, 71582, 71584, 71612, 71622, 71628, 71640, 71662, 71726, 71732, 71758, 71772, 71778, 71780, 71784, 71798, 71822, 71836, 71864, 71874, 71880, 71888, 71902, 71910, 71916, 71930, 71950, 71964, 71992, 72048, 72062, 72066, 72068, 72080, 72094, 72096, 72124, 72134, 72140, 72152, 72174, 72178, 72180, 72206, 72220, 72248, 72304, 72318, 72416, 72444, 72456, 72464, 72478, 72480, 72508, 72512, 72568, 72588, 72600, 72624, 72638, 72654, 72668, 72674, 72676, 72680, 72694, 72726, 72742, 72748, 72774, 72780, 72792, 72814, 72838, 72856, 72880, 72894, 72910, 72924, 72930, 72932, 72936, 72950, 72966, 72972, 72984, 73008, 73022, 73056, 73084, 73102, 73116, 73144, 73156, 73160, 73168, 73182, 73190, 73196, 73210, 73226, 73234, 73236, 73250, 73252, 73256, 73270, 73282, 73284, 73296, 73310, 73318, 73324, 73346, 73348, 73352, 73360, 73374, 73376, 73404, 73414, 73420, 73432, 73454, 73498, 73518, 73522, 73524, 73550, 73564, 73570, 73572, 73576, 73590, 73800, 73822, 73858, 73860, 73872, 73886, 73888, 73916, 73944, 73970, 73972, 73992, 74014, 74016, 74044, 74048, 74104, 74118, 74136, 74160, 74174, 74210, 74212, 74216, 74230, 74244, 74256, 74270, 74272, 74360, 74480, 74502, 74508, 74544, 74558, 74592, 74620, 74638, 74652, 74680, 74690, 74696, 74704, 74726, 74732, 74782, 74784, 74812, 74992, 75232, 75288, 75326, 75360, 75388, 75456, 75512, 75576, 75632, 75646, 75650, 75652, 75664, 75678, 75680, 75708, 75718, 75724, 75736, 75758, 75808, 75836, 75840, 75896, 76016, 76256, 76736, 76824, 76848, 76862, 76896, 76924, 76992, 77048, 77296, 77340, 77368, 77424, 77438, 77536, 77564, 77572, 77576, 77584, 77600, 77628, 77632, 77688, 77702, 77708, 77720, 77744, 77758, 77774, 77788, 77870, 77902, 77916, 77922, 77928, 77966, 77980, 78008, 78018, 78024, 78032, 78046, 78060, 78074, 78094, 78136, 78192, 78206, 78210, 78212, 78224, 78238, 78240, 78268, 78278, 78284, 78296, 78322, 78324, 78350, 78364, 78448, 78462, 78560, 78588, 78600, 78622, 78624, 78652, 78656, 78712, 78726, 78744, 78768, 78782, 78798, 78812, 78818, 78820, 78824, 78838, 78862, 78876, 78904, 78960, 78974, 79072, 79100, 79296, 79352, 79368, 79376, 79390, 79392, 79420, 79424, 79480, 79600, 79628, 79640, 79664, 79678, 79712, 79740, 79772, 79800, 79810, 79812, 79816, 79824, 79838, 79846, 79852, 79894, 79910, 79916, 79942, 79948, 79960, 79982, 79988, 80006, 80024, 80048, 80062, 80078, 80092, 80098, 80100, 80104, 80134, 80140, 80176, 80190, 80224, 80252, 80270, 80284, 80312, 80328, 80336, 80350, 80358, 80364, 80378, 80390, 80396, 80408, 80432, 80446, 80480, 80508, 80576, 80632, 80654, 80668, 80696, 80752, 80766, 80776, 80784, 80798, 80800, 80828, 80844, 80856, 80878, 80882, 80884, 80914, 80916, 80930, 80932, 80936, 80950, 80962, 80968, 80976, 80990, 80998, 81004, 81026, 81028, 81040, 81054, 81056, 81084, 81094, 81100, 81112, 81134, 81154, 81156, 81160, 81168, 81182, 81184, 81212, 81216, 81272, 81286, 81292, 81304, 81328, 81342, 81358, 81372, 81380, 81384, 81398, 81434, 81454, 81458, 81460, 81486, 81500, 81506, 81508, 81512, 81526, 81550, 81564, 81592, 81602, 81604, 81608, 81616, 81630, 81638, 81644, 81702, 81708, 81722, 81734, 81740, 81752, 81774, 81778, 81780, 82050, 82078, 82080, 82108, 82180, 82184, 82192, 82206, 82208, 82236, 82240, 82296, 82316, 82328, 82352, 82366, 82402, 82404, 82408, 82440, 82448, 82462, 82464, 82492, 82496, 82552, 82672, 82694, 82700, 82712, 82736, 82750, 82784, 82812, 82830, 82882, 82884, 82888, 82896, 82918, 82924, 82952, 82960, 82974, 82976, 83004, 83008, 83064, 83184, 83424, 83468, 83480, 83504, 83518, 83552, 83580, 83648, 83704, 83740, 83768, 83824, 83838, 83842, 83844, 83848, 83856, 83872, 83900, 83910, 83916, 83928, 83950, 83984, 84000, 84028, 84032, 84088, 84208, 84448, 84928, 85040, 85054, 85088, 85116, 85184, 85240, 85488, 85560, 85616, 85630, 85728, 85756, 85764, 85768, 85776, 85790, 85792, 85820, 85824, 85880, 85894, 85900, 85912, 85936, 85966, 85980, 86048, 86080, 86136, 86256, 86496, 86976, 88160, 88188, 88256, 88312, 88560, 89056, 89200, 89214, 89312, 89340, 89536, 89592, 89608, 89616, 89632, 89664, 89720, 89840, 89868, 89880, 89904, 89952, 89980, 89998, 90012, 90040, 90190, 90204, 90254, 90268, 90296, 90306, 90308, 90312, 90334, 90382, 90396, 90424, 90480, 90494, 90500, 90504, 90512, 90526, 90528, 90556, 90566, 90572, 90584, 90610, 90612, 90638, 90652, 90680, 90736, 90750, 90848, 90876, 90884, 90888, 90896, 90910, 90912, 90940, 90944, 91000, 91014, 91020, 91032, 91056, 91070, 91086, 91100, 91106, 91108, 91112, 91126, 91150, 91164, 91192, 91248, 91262, 91360, 91388, 91584, 91640, 91664, 91678, 91680, 91708, 91712, 91768, 91888, 91928, 91952, 91966, 92000, 92028, 92046, 92060, 92088, 92098, 92100, 92104, 92112, 92126, 92134, 92140, 92188, 92216, 92272, 92384, 92412, 92608, 92664, 93168, 93200, 93214, 93216, 93244, 93248, 93304, 93424, 93664, 93720, 93744, 93758, 93792, 93820, 93888, 93944, 93980, 94008, 94064, 94078, 94084, 94088, 94096, 94110, 94112, 94140, 94150, 94156, 94168, 94246, 94252, 94278, 94284, 94296, 94318, 94342, 94348, 94360, 94384, 94398, 94414, 94428, 94440, 94470, 94476, 94488, 94512, 94526, 94560, 94588, 94606, 94620, 94648, 94658, 94660, 94664, 94672, 94686, 94694, 94700, 94714, 94726, 94732, 94744, 94768, 94782, 94816, 94844, 94912, 94968, 94990, 95004, 95032, 95088, 95102, 95112, 95120, 95134, 95136, 95164, 95180, 95192, 95214, 95218, 95220, 95244, 95256, 95280, 95294, 95328, 95356, 95424, 95480, 95728, 95758, 95772, 95800, 95856, 95870, 95968, 95996, 96008, 96016, 96030, 96032, 96060, 96064, 96120, 96152, 96176, 96190, 96220, 96226, 96228, 96232, 96290, 96292, 96296, 96310, 96322, 96324, 96328, 96336, 96350, 96358, 96364, 96386, 96388, 96392, 96400, 96414, 96416, 96444, 96454, 96460, 96472, 96494, 96498, 96500, 96514, 96516, 96520, 96528, 96542, 96544, 96572, 96576, 96632, 96646, 96652, 96664, 96688, 96702, 96718, 96732, 96738, 96740, 96744, 96758, 96772, 96776, 96784, 96798, 96800, 96828, 96832, 96888, 97008, 97030, 97036, 97048, 97072, 97086, 97120, 97148, 97166, 97180, 97208, 97220, 97224, 97232, 97246, 97254, 97260, 97326, 97330, 97332, 97358, 97372, 97378, 97380, 97384, 97398, 97422, 97436, 97464, 97474, 97476, 97480, 97488, 97502, 97510, 97516, 97550, 97564, 97592, 97648, 97666, 97668, 97672, 97680, 97694, 97696, 97724, 97734, 97740, 97752, 97774, 97830, 97836, 97850, 97862, 97868, 97880, 97902, 97906, 97908, 97926, 97932, 97944, 97968, 97998, 98012, 98018, 98020, 98024, 98038, 98618, 98674, 98676, 98838, 98854, 98874, 98892, 98904, 98926, 98930, 98932, 98968, 99006, 99042, 99044, 99048, 99062, 99166, 99194, 99246, 99286, 99350, 99366, 99372, 99386, 99398, 99416, 99438, 99442, 99444, 99462, 99504, 99518, 99534, 99548, 99554, 99556, 99560, 99574, 99590, 99596, 99608, 99632, 99646, 99680, 99708, 99726, 99740, 99768, 99778, 99780, 99784, 99792, 99806, 99814, 99820, 99834, 99858, 99860, 99874, 99880, 99894, 99906, 99920, 99934, 99962, 99970, 99972, 99976, 99984, 99998, 100000, 100028, 100038, 100044, 100056, 100078, 100082, 100084, 100142, 100174, 100188, 100246, 100262, 100268, 100306, 100308, 100390, 100396, 100410, 100422, 100428, 100440, 100462, 100466, 100468, 100486, 100504, 100528, 100542, 100558, 100572, 100578, 100580, 100584, 100598, 100620, 100656, 100670, 100704, 100732, 100750, 100792, 100802, 100808, 100816, 100830, 100838, 100844, 100858, 100888, 100912, 100926, 100960, 100988, 101056, 101112, 101148, 101176, 101232, 101246, 101250, 101252, 101256, 101264, 101278, 101280, 101308, 101318, 101324, 101336, 101358, 101362, 101364, 101410, 101412, 101416, 101430, 101442, 101448, 101456, 101470, 101478, 101498, 101506, 101508, 101520, 101534, 101536, 101564, 101580, 101618, 101620, 101636, 101640, 101648, 101662, 101664, 101692, 101696, 101752, 101766, 101784, 101838, 101858, 101860, 101864, 101934, 101938, 101940, 101966, 101980, 101986, 101988, 101992, 102030, 102044, 102072, 102082, 102084, 102088, 102096, 102138, 102166, 102182, 102188, 102214, 102220, 102232, 102254, 102282, 102290, 102292, 102306, 102308, 102312, 102326, 102444, 102458, 102470, 102476, 102488, 102514, 102516, 102534, 102552, 102576, 102590, 102606, 102620, 102626, 102632, 102646, 102662, 102668, 102704, 102718, 102752, 102780, 102798, 102812, 102840, 102850, 102856, 102864, 102878, 102886, 102892, 102906, 102936, 102974, 103008, 103036, 103104, 103160, 103224, 103280, 103294, 103298, 103300, 103312, 103326, 103328, 103356, 103366, 103372, 103384, 103406, 103410, 103412, 103472, 103486, 103520, 103548, 103616, 103672, 103920, 103992, 104048, 104062, 104160, 104188, 104194, 104196, 104200, 104208, 104224, 104252, 104256, 104312, 104326, 104332, 104344, 104368, 104382, 104398, 104412, 104418, 104420, 104424, 104482, 104484, 104514, 104520, 104528, 104542, 104550, 104570, 104578, 104580, 104592, 104606, 104608, 104636, 104652, 104690, 104692, 104706, 104712, 104734, 104736, 104764, 104768, 104824, 104838, 104856, 104910, 104930, 104932, 104936, 104968, 104976, 104990, 104992, 105020, 105024, 105080, 105200, 105240, 105278, 105312, 105372, 105410, 105412, 105416, 105424, 105446, 105518, 105524, 105550, 105564, 105570, 105572, 105576, 105614, 105628, 105656, 105666, 105672, 105680, 105702, 105722, 105742, 105756, 105784, 105840, 105854, 105858, 105860, 105864, 105872, 105888, 105932, 105970, 105972, 106006, 106022, 106028, 106054, 106060, 106072, 106100, 106118, 106124, 106136, 106160, 106174, 106190, 106210, 106212, 106216, 106250, 106258, 106260, 106274, 106276, 106280, 106306, 106308, 106312, 106320, 106334, 106348, 106394, 106414, 106418, 106420, 106566, 106572, 106610, 106612, 106630, 106636, 106648, 106672, 106686, 106722, 106724, 106728, 106742, 106758, 106764, 106776, 106800, 106814, 106848, 106876, 106894, 106908, 106936, 106946, 106948, 106952, 106960, 106974, 106982, 106988, 107032, 107056, 107070, 107104, 107132, 107200, 107256, 107292, 107320, 107376, 107390, 107394, 107396, 107400, 107408, 107422, 107424, 107452, 107462, 107468, 107480, 107502, 107506, 107508, 107544, 107568, 107582, 107616, 107644, 107712, 107768, 108016, 108060, 108088, 108144, 108158, 108256, 108284, 108290, 108292, 108296, 108304, 108318, 108320, 108348, 108352, 108408, 108422, 108428, 108440, 108464, 108478, 108494, 108508, 108514, 108516, 108520, 108592, 108640, 108668, 108736, 108792, 109040, 109536, 109680, 109694, 109792, 109820, 110016, 110072, 110084, 110088, 110096, 110112, 110140, 110144, 110200, 110320, 110342, 110348, 110360, 110384, 110398, 110432, 110460, 110478, 110492, 110520, 110532, 110536, 110544, 110558, 110658, 110686, 110714, 110722, 110724, 110728, 110736, 110750, 110752, 110780, 110796, 110834, 110836, 110850, 110852, 110856, 110864, 110878, 110880, 110908, 110912, 110968, 110982, RestAPIAbortCodes.SEARCH_INDEXING, 111054, 111074, 111076, 111080, 111108, 111112, 111120, 111134, 111136, 111164, 111168, 111224, 111344, 111372, 111422, 111456, 111516, 111554, 111556, 111560, 111568, 111590, 111632, 111646, 111648, 111676, 111680, 111736, 111856, 112096, 112152, 112224, 112252, 112320, 112440, 112514, 112516, 112520, 112528, 112542, 112544, 112588, 112686, 112718, 112732, 112782, 112796, 112824, 112834, 112836, 112840, 112848, 112870, 112890, 112910, 112924, 112952, 113008, 113022, 113026, 113028, 113032, 113040, 113054, 113056, 113100, 113138, 113140, 113166, 113180, 113208, 113264, 113278, 113376, 113404, 113416, 113424, 113440, 113468, 113472, 113560, 113614, 113634, 113636, 113640, 113686, 113702, 113708, 113734, 113740, 113752, 113778, 113780, 113798, 113804, 113816, 113840, 113854, 113870, 113890, 113892, 113896, 113926, 113932, 113944, 113968, 113982, 114016, 114044, 114076, 114114, 114116, 114120, 114128, 114150, 114170, 114194, 114196, 114210, 114212, 114216, 114242, 114244, 114248, 114256, 114270, 114278, 114306, 114308, 114312, 114320, 114334, 114336, 114364, 114380, 114420, 114458, 114478, 114482, 114484, 114510, 114524, 114530, 114532, 114536, 114842, 114866, 114868, 114970, 114994, 114996, 115042, 115044, 115048, 115062, 115130, 115226, 115250, 115252, 115278, 115292, 115298, 115300, 115304, 115318, 115342, 115394, 115396, 115400, 115408, 115422, 115430, 115436, 115450, 115478, 115494, 115514, 115526, 115532, 115570, 115572, 115738, 115758, 115762, 115764, 115790, 115804, 115810, 115812, 115816, 115830, 115854, 115868, 115896, 115906, 115912, 115920, 115934, 115942, 115948, 115962, 115996, 116024, 116080, 116094, 116098, 116100, 116104, 116112, 116126, 116128, 116156, 116166, 116172, 116184, 116206, 116210, 116212, 116246, 116262, 116268, 116282, 116294, 116300, 116312, 116334, 116338, 116340, 116358, 116364, 116376, 116400, 116414, 116430, 116444, 116450, 116452, 116456, 116498, 116500, 116514, 116520, 116534, 116546, 116548, 116552, 116560, 116574, 116582, 116588, 116602, 116654, 116694, 116714, 116762, 116782, 116786, 116788, 116814, 116828, 116834, 116836, 116840, 116854, 116878, 116892, 116920, 116930, 116936, 116944, 116958, 116966, 116972, 116986, 117006, 117048, 117104, 117118, 117122, 117124, 117136, 117150, 117152, 117180, 117190, 117196, 117208, 117230, 117234, 117236, 117304, 117360, 117374, 117472, 117500, 117506, 117508, 117512, 117520, 117536, 117564, 117568, 117624, 117638, 117644, 117656, 117680, 117694, 117710, 117724, 117730, 117732, 117736, 117750, 117782, 117798, 117804, 117818, 117830, 117848, 117874, 117876, 117894, 117936, 117950, 117966, 117986, 117988, 117992, 118022, 118028, 118040, 118064, 118078, 118112, 118140, 118172, 118210, 118212, 118216, 118224, 118238, 118246, 118266, 118306, 118312, 118338, 118352, 118366, 118374, 118394, 118402, 118404, 118408, 118416, 118430, 118432, 118460, 118476, 118514, 118516, 118574, 118578, 118580, 118606, 118620, 118626, 118628, 118632, 118678, 118694, 118700, 118730, 118738, 118740, 118830, 118834, 118836, 118862, 118876, 118882, 118884, 118888, 118902, 118926, 118940, 118968, 118978, 118980, 118984, 118992, 119006, 119014, 119020, 119034, 119068, 119096, 119152, 119166, 119170, 119172, 119176, 119184, 119198, 119200, 119228, 119238, 119244, 119256, 119278, 119282, 119284, 119324, 119352, 119408, 119422, 119520, 119548, 119554, 119556, 119560, 119568, 119582, 119584, 119612, 119616, 119672, 119686, 119692, 119704, 119728, 119742, 119758, 119772, 119778, 119780, 119784, 119798, 119920, 119934, 120032, 120060, 120256, 120312, 120324, 120328, 120336, 120352, 120384, 120440, 120560, 120582, 120588, 120600, 120624, 120638, 120672, 120700, 120718, 120732, 120760, 120770, 120772, 120776, 120784, 120798, 120806, 120812, 120870, 120876, 120890, 120902, 120908, 120920, 120946, 120948, 120966, 120972, 120984, 121008, 121022, 121038, 121058, 121060, 121064, 121078, 121100, 121112, 121136, 121150, 121184, 121212, 121244, 121282, 121284, 121288, 121296, 121318, 121338, 121356, 121368, 121392, 121406, 121440, 121468, 121536, 121592, 121656, 121730, 121732, 121736, 121744, 121758, 121760, 121804, 121842, 121844, 121890, 121922, 121924, 121928, 121936, 121950, 121958, 121978, 121986, 121988, 121992, 122000, 122014, 122016, 122044, 122060, 122098, 122100, 122116, 122120, 122128, 122142, 122144, 122172, 122176, 122232, 122246, 122264, 122318, 122338, 122340, 122344, 122414, 122418, 122420, 122446, 122460, 122466, 122468, 122472, 122510, 122524, 122552, 122562, 122564, 122568, 122576, 122598, 122618, 122646, 122662, 122668, 122694, 122700, 122712, 122738, 122740, 122762, 122770, 122772, 122786, 122788, 122792, 123018, 123026, 123028, 123042, 123044, 123048, 123062, 123098, 123146, 123154, 123156, 123170, 123172, 123176, 123190, 123202, 123204, 123208, 123216, 123238, 123244, 123258, 123290, 123314, 123316, 123402, 123410, 123412, 123426, 123428, 123432, 123446, 123458, 123464, 123472, 123486, 123494, 123500, 123514, 123522, 123524, 123528, 123536, 123552, 123580, 123590, 123596, 123608, 123630, 123634, 123636, 123674, 123698, 123700, 123740, 123746, 123748, 123752, 123834, 123914, 123922, 123924, 123938, 123944, 123958, 123970, 123976, 123984, 123998, 124006, 124012, 124026, 124034, 124036, 124048, 124062, 124064, 124092, 124102, 124108, 124120, 124142, 124146, 124148, 124162, 124164, 124168, 124176, 124190, 124192, 124220, 124224, 124280, 124294, 124300, 124312, 124336, 124350, 124366, 124380, 124386, 124388, 124392, 124406, 124442, 124462, 124466, 124468, 124494, 124508, 124514, 124520, 124558, 124572, 124600, 124610, 124612, 124616, 124624, 124646, 124666, 124694, 124710, 124716, 124730, 124742, 124748, 124760, 124786, 124788, 124818, 124820, 124834, 124836, 124840, 124854, 124946, 124948, 124962, 124964, 124968, 124982, 124994, 124996, 125000, 125008, 125022, 125030, 125036, 125050, 125058, 125060, 125064, 125072, 125086, 125088, 125116, 125126, 125132, 125144, 125166, 125170, 125172, 125186, 125188, 125192, 125200, 125216, 125244, 125248, 125304, 125318, 125324, 125336, 125360, 125374, 125390, 125404, 125410, 125412, 125416, 125430, 125444, 125448, 125456, 125472, 125504, 125560, 125680, 125702, 125708, 125720, 125744, 125758, 125792, 125820, 125838, 125852, 125880, 125890, 125892, 125896, 125904, 125918, 125926, 125932, 125978, 125998, 126002, 126004, 126030, 126044, 126050, 126052, 126056, 126094, 126108, 126136, 126146, 126148, 126152, 126160, 126182, 126202, 126222, 126236, 126264, 126320, 126334, 126338, 126340, 126344, 126352, 126366, 126368, 126412, 126450, 126452, 126486, 126502, 126508, 126522, 126534, 126540, 126552, 126574, 126578, 126580, 126598, 126604, 126616, 126640, 126654, 126670, 126684, 126690, 126692, 126696, 126738, 126754, 126756, 126760, 126774, 126786, 126788, 126792, 126800, 126814, 126822, 126828, 126842, 126894, 126898, 126900, 126934, 127126, 127142, 127148, 127162, 127178, 127186, 127188, 127254, 127270, 127276, 127290, 127302, 127308, 127320, 127342, 127346, 127348, 127370, 127378, 127380, 127394, 127396, 127400, 127450, 127510, 127526, 127532, 127546, 127558, 127576, 127598, 127602, 127604, 127622, 127628, 127640, 127664, 127678, 127694, 127708, 127714, 127716, 127720, 127734, 127754, 127762, 127764, 127778, 127784, 127810, 127812, 127816, 127824, 127838, 127846, 127866, 127898, 127918, 127922, 127924, 128022, 128038, 128044, 128058, 128070, 128076, 128088, 128110, 128114, 128116, 128134, 128140, 128152, 128176, 128190, 128206, 128220, 128226, 128228, 128232, 128246, 128262, 128268, 128280, 128304, 128318, 128352, 128380, 128398, 128412, 128440, 128450, 128452, 128456, 128464, 128478, 128486, 128492, 128506, 128522, 128530, 128532, 128546, 128548, 128552, 128566, 128578, 128580, 128584, 128592, 128606, 128614, 128634, 128642, 128644, 128648, 128656, 128670, 128672, 128700, 128716, 128754, 128756, 128794, 128814, 128818, 128820, 128846, 128860, 128866, 128868, 128872, 128886, 128918, 128934, 128940, 128954, 128978, 128980, 129178, 129198, 129202, 129204, 129238, 129258, 129306, 129326, 129330, 129332, 129358, 129372, 129378, 129380, 129384, 129398, 129430, 129446, 129452, 129466, 129482, 129490, 129492, 129562, 129582, 129586, 129588, 129614, 129628, 129634, 129636, 129640, 129654, 129678, 129692, 129720, 129730, 129732, 129736, 129744, 129758, 129766, 129772, 129814, 129830, 129836, 129850, 129862, 129868, 129880, 129902, 129906, 129908, 129930, 129938, 129940, 129954, 129956, 129960, 129974, 130010}; public static final int[] c = {2627, 1819, 2622, 2621, 1813, 1812, 2729, 2724, 2723, 2779, 2774, 2773, 902, 896, 908, 868, 865, 861, 859, 2511, 873, 871, 1780, 835, 2493, 825, 2491, 842, 837, 844, 1764, 1762, 811, 810, 809, 2483, 807, 2482, 806, 2480, 815, 814, 813, 812, 2484, 817, 816, 1745, 1744, 1742, 1746, 2655, 2637, 2635, 2626, 2625, 2623, 2628, 1820, 2752, 2739, 2737, 2728, 2727, 2725, 2730, 2785, 2783, 2778, 2777, 2775, 2780, 787, 781, 747, 739, 736, 2413, 754, 752, 1719, 692, 689, 681, 2371, 678, 2369, 700, 697, 694, 703, 1688, 1686, 642, 638, 2343, 631, 2341, 627, 2338, 651, 646, 643, 2345, 654, 652, 1652, 1650, 1647, 1654, 601, 599, 2322, 596, 2321, 594, 2319, 2317, 611, 610, 608, 606, 2324, 603, 2323, 615, 614, 612, 1617, 1616, 1614, 1612, 616, 1619, 1618, 2575, 2538, 2536, 905, 901, 898, 909, 2509, 2507, 2504, 870, 867, 864, 860, 2512, 875, 872, 1781, 2490, 2489, 2487, 2485, 1748, 836, 834, 832, 830, 2494, 827, 2492, 843, 841, 839, 845, 1765, 1763, 2701, 2676, 2674, 2653, 2648, 2656, 2634, 2633, 2631, 2629, 1821, 2638, 2636, 2770, 2763, 2761, 2750, 2745, 2753, 2736, 2735, 2733, 2731, 1848, 2740, 2738, 2786, 2784, 591, 588, 576, 569, 566, 2296, 1590, 537, 534, 526, 2276, 522, 2274, 545, 542, 539, 548, 1572, 1570, 481, 2245, 466, 2242, 462, 2239, 492, 485, 482, 2249, 496, 494, 1534, 1531, 1528, 1538, 413, 2196, 406, 2191, 2188, 425, 419, 2202, 415, 2199, 432, 430, 427, 1472, 1467, 1464, 433, 1476, 1474, 368, 367, 2160, 365, 2159, 362, 2157, 2155, 2152, 378, 377, 375, 2166, 372, 2165, 369, 2162, 383, 381, 379, 2168, 1419, 1418, 1416, 1414, 385, 1411, 384, 1423, 1422, 1420, 1424, 2461, 802, 2441, 2439, 790, 786, 783, 794, 2409, 2406, 2403, 750, 742, 738, 2414, 756, 753, 1720, 2367, 2365, 2362, 2359, 1663, 693, 691, 684, 2373, 680, 2370, 702, 699, 696, 704, 1690, 1687, 2337, 2336, 2334, 2332, 1624, 2329, 1622, 640, 637, 2344, 634, 2342, 630, 2340, 650, 648, 645, 2346, 655, 653, 1653, 1651, 1649, 1655, 2612, 2597, 2595, 2571, 2568, 2565, 2576, 2534, 2529, 2526, 1787, 2540, 2537, 907, 904, 900, 910, 2503, 2502, GuildConstantsKt.MAX_GUILD_MEMBERS_NOTIFY_ALL_MESSAGES, 2498, 1768, 2495, 1767, 2510, 2508, 2506, 869, 866, 863, 2513, 876, 874, 1782, 2720, 2713, 2711, 2697, 2694, 2691, 2702, 2672, 2670, 2664, 1828, 2678, 2675, 2647, 2646, 2644, 2642, 1823, 2639, 1822, 2654, 2652, 2650, 2657, 2771, 1855, 2765, 2762, 1850, 1849, 2751, 2749, 2747, 2754, 353, 2148, 344, 342, 336, 2142, 332, 2140, 345, 1375, 1373, 306, 2130, 299, 2128, 295, 2125, 319, 314, 311, 2132, 1354, 1352, 1349, 1356, 262, 257, 2101, 253, 2096, 2093, 274, AudioAttributesCompat.FLAG_ALL_PUBLIC, 267, 2107, 263, 2104, 280, 278, 275, 1316, 1311, 1308, 1320, 1318, 2052, 202, 2050, 2044, 2040, 219, 2063, 212, 2060, 208, 2055, 224, 221, 2066, 1260, 1258, 1252, 231, 1248, 229, 1266, 1264, 1261, 1268, 155, 1998, 153, 1996, 1994, 1991, 1988, 165, 164, 2007, 162, 2006, 159, 2003, 2000, 172, 171, 169, 2012, 166, 2010, 1186, 1184, 1182, 1179, HideBottomViewOnScrollBehavior.EXIT_ANIMATION_DURATION, 1176, 173, 1192, 1191, 1189, 1187, 176, 1194, 1193, 2313, 2307, 2305, 592, 589, 2294, 2292, 2289, 578, 572, 568, 2297, 580, 1591, 2272, 2267, 2264, 1547, 538, 536, 529, 2278, 525, 2275, 547, 544, 541, 1574, 1571, 2237, 2235, 2229, 1493, 2225, 1489, 478, 2247, 470, 2244, 465, 2241, 493, 488, 484, 2250, 498, 495, 1536, 1533, 1530, 1539, 2187, 2186, 2184, 2182, 1432, 2179, 1430, 2176, 1427, 414, 412, 2197, 409, 2195, 405, 2193, 2190, 426, 424, 421, 2203, 418, 2201, 431, 429, 1473, 1471, 1469, 1466, 434, 1477, 1475, 2478, 2472, 2470, 2459, 2457, 2454, 2462, 803, 2437, 2432, 2429, 1726, 2443, 2440, 792, 789, 785, 2401, 2399, 2393, 1702, 2389, 1699, 2411, 2408, 2405, 745, 741, 2415, 758, 755, 1721, 2358, 2357, 2355, 2353, 1661, 2350, 1660, 2347, 1657, 2368, 2366, 2364, 2361, 1666, 690, 687, 2374, 683, 2372, 701, 698, 705, 1691, 1689, 2619, 2617, 2610, 2608, 2605, 2613, 2593, 2588, 2585, 1803, 2599, 2596, 2563, 2561, 2555, 1797, 2551, 1795, 2573, 2570, 2567, 2577, 2525, 2524, 2522, 2520, 1786, 2517, 1785, 2514, 1783, 2535, 2533, 2531, 2528, 1788, 2541, 2539, 906, 903, 911, 2721, 1844, 2715, 2712, 1838, 1836, 2699, 2696, 2693, 2703, 1827, 1826, 1824, 2673, 2671, 2669, 2666, 1829, 2679, 2677, 1858, 1857, 2772, 1854, 1853, 1851, 1856, 2766, 2764, 143, 1987, 139, 1986, 135, 133, 131, 1984, 128, 1983, 125, 1981, 138, 137, 136, 1985, 1133, 1132, 1130, 112, 110, 1974, 107, 1973, 104, 1971, 1969, 122, 121, 119, 117, 1977, 114, 1976, 124, 1115, 1114, 1112, 1110, 1117, 1116, 84, 83, 1953, 81, 1952, 78, 1950, 1948, 1945, 94, 93, 91, 1959, 88, 1958, 85, 1955, 99, 97, 95, 1961, 1086, 1085, 1083, 1081, 1078, 100, 1090, 1089, 1087, 1091, 49, 47, 1917, 44, 1915, 1913, 1910, 1907, 59, 1926, 56, 1925, 53, 1922, 1919, 66, 64, 1931, 61, 1929, 1042, 1040, 1038, 71, 1035, 70, 1032, 68, 1048, 1047, 1045, 1043, 1050, 1049, 12, 10, 1869, 1867, 1864, 1861, 21, 1880, 19, 1877, 1874, 1871, 28, 1888, 25, 1886, 22, 1883, 982, 980, 977, 974, 32, 30, 991, 989, 987, 984, 34, 995, 994, 992, 2151, 2150, 2147, 2146, 2144, 356, 355, 354, 2149, 2139, 2138, 2136, 2134, 1359, 343, 341, 338, 2143, 335, 2141, 348, 347, 346, 1376, 1374, 2124, 2123, 2121, 2119, 1326, 2116, 1324, 310, 308, 305, 2131, 302, 2129, 298, 2127, 320, 318, 316, 313, 2133, 322, 321, 1355, 1353, 1351, 1357, 2092, 2091, 2089, 2087, 1276, 2084, 1274, 2081, 1271, 259, 2102, 256, 2100, 252, 2098, 2095, 272, 269, 2108, 266, 2106, 281, 279, 277, 1317, 1315, 1313, 1310, 282, 1321, 1319, 2039, 2037, 2035, 2032, 1203, 2029, 1200, 1197, 207, 2053, 205, 2051, 201, 2049, 2046, 2043, 220, 218, 2064, 215, 2062, 211, 2059, 228, 226, 223, 2069, 1259, 1257, 1254, 232, 1251, 230, 1267, 1265, 1263, 2316, 2315, 2312, 2311, 2309, 2314, 2304, 2303, 2301, 2299, 1593, 2308, 2306, 590, 2288, 2287, 2285, 2283, 1578, 2280, 1577, 2295, 2293, 2291, 579, 577, 574, 571, 2298, 582, 581, 1592, 2263, 2262, 2260, 2258, 1545, 2255, 1544, 2252, 1541, 2273, 2271, 2269, 2266, 1550, 535, 532, 2279, 528, 2277, 546, 543, 549, 1575, 1573, 2224, 2222, 2220, 1486, 2217, 1485, 2214, 1482, 1479, 2238, 2236, 2234, 2231, 1496, 2228, 1492, 480, 477, 2248, 473, 2246, 469, 2243, 490, 487, 2251, 497, 1537, 1535, 1532, 2477, 2476, 2474, 2479, 2469, 2468, 2466, 2464, 1730, 2473, 2471, 2453, 2452, 2450, 2448, 1729, 2445, 1728, 2460, 2458, 2456, 2463, 805, 804, 2428, 2427, 2425, 2423, 1725, 2420, 1724, 2417, 1722, 2438, 2436, 2434, 2431, 1727, 2444, 2442, 793, 791, 788, 795, 2388, 2386, 2384, 1697, 2381, 1696, 2378, 1694, 1692, 2402, 2400, 2398, 2395, 1703, 2392, 1701, 2412, 2410, 2407, 751, 748, 744, 2416, 759, 757, 1807, 2620, 2618, 1806, 1805, 2611, 2609, 2607, 2614, 1802, 1801, 1799, 2594, 2592, 2590, 2587, 1804, 2600, 2598, 1794, 1793, 1791, 1789, 2564, 2562, 2560, 2557, 1798, 2554, 1796, 2574, 2572, 2569, 2578, 1847, 1846, 2722, 1843, 1842, 1840, 1845, 2716, 2714, 1835, 1834, 1832, 1830, 1839, 1837, 2700, 2698, 2695, 2704, 1817, 1811, 1810, 897, 862, 1777, 829, 826, 838, 1760, 1758, 808, 2481, 1741, 1740, 1738, 1743, 2624, 1818, 2726, 2776, 782, 740, 737, 1715, 686, 679, 695, 1682, 1680, 639, 628, 2339, 647, 644, 1645, 1643, 1640, 1648, 602, 600, 597, 595, 2320, 593, 2318, 609, 607, 604, 1611, 1610, 1608, 1606, 613, 1615, 1613, 2328, 926, 924, 892, 886, 899, 857, 850, 2505, 1778, 824, 823, 821, 819, 2488, 818, 2486, 833, 831, 828, 840, 1761, 1759, 2649, 2632, 2630, 2746, 2734, 2732, 2782, 2781, 570, 567, 1587, 531, 527, 523, 540, 1566, 1564, 476, 467, 463, 2240, 486, 483, 1524, 1521, 1518, 1529, 411, 403, 2192, 399, 2189, 423, 416, 1462, 1457, 1454, 428, 1468, 1465, 2210, 366, 363, 2158, 360, 2156, 357, 2153, 376, 373, 370, 2163, 1410, 1409, 1407, 1405, 382, 1402, 380, 1417, 1415, 1412, 1421, 2175, 2174, 777, 774, 771, 784, 732, 725, 722, 2404, 743, 1716, 676, 674, 668, 2363, 665, 2360, 685, 1684, 1681, 626, 624, 622, 2335, 620, 2333, 617, 2330, 641, 635, 649, 1646, 1644, 1642, 2566, 928, 925, 2530, 2527, 894, 891, 888, 2501, 2499, 2496, 858, 856, 854, 851, 1779, 2692, 2668, 2665, 2645, 2643, 2640, 2651, 2768, 2759, 2757, 2744, 2743, 2741, 2748, 352, 1382, 340, 337, 333, 1371, 1369, 307, 300, 296, 2126, 315, 312, 1347, 1342, 1350, 261, 258, 250, 2097, 246, 2094, 271, 268, 264, 1306, 1301, 1298, 276, 1312, 1309, 2115, 203, 2048, 195, 2045, 191, 2041, 213, 209, 2056, 1246, 1244, 1238, HideBottomViewOnScrollBehavior.ENTER_ANIMATION_DURATION, 1234, 222, 1256, 1253, 1249, 1262, 2080, 2079, 154, 1997, FontUtils.MAX_FONT_SCALING, 1995, 147, 1992, 1989, 163, 160, 2004, 156, 2001, 1175, 1174, 1172, 1170, 1167, 170, 1164, 167, 1185, 1183, 1180, 1177, 174, 1190, 1188, 2025, 2024, 2022, 587, 586, 564, 559, 556, 2290, 573, 1588, 520, 518, 512, 2268, 508, 2265, 530, 1568, 1565, 461, 457, 2233, 450, 2230, 446, 2226, 479, 471, 489, 1526, 1523, 1520, 397, 395, 2185, 392, 2183, 389, 2180, 2177, 410, 2194, 402, 422, 1463, 1461, 1459, 1456, 1470, 2455, 799, 2433, 2430, 779, 776, 773, 2397, 2394, 2390, 734, 728, 724, 746, 1717, 2356, 2354, 2351, 2348, 1658, 677, 675, 673, 670, 667, 688, 1685, 1683, 2606, 2589, 2586, 2559, 2556, 2552, 927, 2523, 2521, 2518, 2515, 1784, 2532, 895, 893, 890, 2718, 2709, 2707, 2689, 2687, 2684, 2663, 2662, 2660, 2658, 1825, 2667, 2769, 1852, 2760, 2758, 142, 141, 1139, 1138, 134, 132, 129, 126, 1982, 1129, 1128, 1126, 1131, 113, 111, 108, 105, 1972, 101, 1970, 120, 118, 115, 1109, 1108, 1106, 1104, 123, 1113, 1111, 82, 79, 1951, 75, 1949, 72, 1946, 92, 89, 86, 1956, 1077, 1076, 1074, 1072, 98, 1069, 96, 1084, 1082, 1079, 1088, 1968, 1967, 48, 45, 1916, 42, 1914, 39, 1911, 1908, 60, 57, 54, 1923, 50, 1920, 1031, 1030, 1028, 1026, 67, AudioAttributesCompat.FLAG_ALL, 65, PointerIconCompat.TYPE_GRAB, 62, 1041, 1039, 1036, 1033, 69, 1046, 1044, 1944, 1943, 1941, 11, 9, 1868, 7, 1865, 1862, 1859, 20, 1878, 16, 1875, 13, 1872, 970, 968, 966, 963, 29, 960, 26, 23, 983, 981, 978, 975, 33, 971, 31, 990, 988, 985, 1906, 1904, 1902, 993, 351, 2145, 1383, 331, 330, 328, 326, 2137, 323, 2135, 339, 1372, 1370, 294, 293, 291, 289, 2122, 286, 2120, 283, 2117, 309, 303, 317, 1348, 1346, 1344, 245, 244, 242, 2090, 239, 2088, 236, 2085, 2082, 260, 2099, 249, 270, 1307, 1305, 1303, 1300, 1314, 189, 2038, 186, 2036, 183, 2033, 2030, 2026, 206, 198, 2047, 194, 216, 1247, 1245, 1243, 1240, 227, 1237, 1255, 2310, 2302, 2300, 2286, 2284, 2281, 565, 563, 561, 558, 575, 1589, 2261, 2259, 2256, 2253, 1542, 521, 519, 517, 514, 2270, FrameMetricsAggregator.EVERY_DURATION, 533, 1569, 1567, 2223, 2221, 2218, 2215, 1483, 2211, 1480, 459, 456, 453, 2232, 449, 474, 491, 1527, 1525, 1522, 2475, 2467, 2465, 2451, 2449, 2446, 801, 800, 2426, 2424, 2421, 2418, 1723, 2435, 780, 778, 775, 2387, 2385, 2382, 2379, 1695, 2375, 1693, 2396, 735, 733, 730, 727, 749, 1718, 2616, 2615, 2604, 2603, 2601, 2584, 2583, 2581, 2579, ModelInvite.Settings.HALF_HOUR, 2591, 2550, 2549, 2547, 2545, 1792, 2542, 1790, 2558, 929, 2719, 1841, 2710, 2708, 1833, 1831, 2690, 2688, 2686, 1815, 1809, 1808, 1774, 1756, 1754, 1737, 1736, 1734, 1739, 1816, 1711, 1676, 1674, 633, 629, 1638, 1636, 1633, 1641, 598, 1605, 1604, 1602, 1600, 605, 1609, 1607, 2327, 887, 853, 1775, 822, 820, 1757, 1755, 1584, 524, 1560, 1558, 468, 464, 1514, 1511, 1508, 1519, 408, 404, 400, 1452, 1447, 1444, 417, 1458, 1455, 2208, 364, 361, 358, 2154, 1401, 1400, 1398, 1396, 374, 1393, 371, 1408, 1406, 1403, 1413, 2173, 2172, 772, 726, 723, 1712, 672, 669, 666, 682, 1678, 1675, 625, 623, 621, 618, 2331, 636, 632, 1639, 1637, 1635, 920, 918, 884, 880, 889, 849, 848, 847, 846, 2497, 855, 852, 1776, 2641, 2742, 2787, 1380, 334, 1367, 1365, 301, 297, 1340, 1338, 1335, 1343, 255, 251, 247, 1296, 1291, 1288, 265, 1302, 1299, 2113, 204, 196, 192, 2042, 1232, 1230, 1224, 214, 1220, 210, 1242, 1239, 1235, 1250, 2077, 2075, 151, 148, 1993, 144, 1990, 1163, 1162, 1160, 1158, 1155, 161, 1152, 157, 1173, 1171, 1168, 1165, 168, 1181, 1178, 2021, 2020, 2018, 2023, 585, 560, 557, 1585, 516, 509, 1562, 1559, 458, 447, 2227, 472, 1516, 1513, 1510, 398, 396, 393, 390, 2181, 386, 2178, 407, 1453, 1451, 1449, 1446, 420, 1460, 2209, 769, 764, 720, 712, 2391, 729, 1713, 664, 663, 661, 659, 2352, 656, 2349, 671, 1679, 1677, 2553, 922, 919, 2519, 2516, 885, 883, 881, 2685, 2661, 2659, 2767, 2756, 2755, 140, 1137, 1136, 130, 127, 1125, 1124, 1122, 1127, 109, 106, 102, 1103, 1102, 1100, 1098, 116, 1107, 1105, 1980, 80, 76, 73, 1947, 1068, 1067, 1065, 1063, 90, 1060, 87, 1075, 1073, 1070, WidgetEditUserOrGuildMemberProfile.MAX_BANNER_IMAGE_SIZE, 1966, 1965, 46, 43, 40, 1912, 36, 1909, PointerIconCompat.TYPE_ZOOM_OUT, PointerIconCompat.TYPE_ZOOM_IN, PointerIconCompat.TYPE_TOP_RIGHT_DIAGONAL_DOUBLE_ARROW, PointerIconCompat.TYPE_HORIZONTAL_DOUBLE_ARROW, 58, PointerIconCompat.TYPE_COPY, 55, PointerIconCompat.TYPE_TEXT, 51, 1029, 1027, 1024, PointerIconCompat.TYPE_GRABBING, 63, 1037, 1034, 1940, 1939, 1937, 1942, 8, 1866, 4, 1863, 1, 1860, 956, 954, 952, 949, 946, 17, 14, 969, 967, 964, 961, 27, 957, 24, 979, 976, 972, 1901, 1900, 1898, 1896, 986, 1905, 1903, 350, 349, 1381, 329, 327, 324, 1368, 1366, 292, 290, 287, 284, 2118, 304, 1341, 1339, 1337, 1345, 243, 240, 237, 2086, 233, 2083, 254, 1297, 1295, 1293, 1290, 1304, 2114, 190, 187, 184, 2034, BaseTransientBottomBar.ANIMATION_FADE_DURATION, 2031, 177, 2027, 199, 1233, 1231, 1229, 1226, 217, 1223, 1241, 2078, 2076, 584, 555, 554, 552, 550, 2282, 562, 1586, 507, 506, 504, 502, 2257, 499, 2254, 515, 1563, 1561, 445, 443, 441, 2219, 438, 2216, 435, 2212, 460, 454, 475, 1517, 1515, 1512, 2447, 798, 797, 2422, 2419, 770, 768, 766, 2383, 2380, 2376, 721, 719, 717, 714, 731, 1714, 2602, 2582, 2580, 2548, 2546, 2543, 923, 921, 2717, 2706, 2705, 2683, 2682, 2680, 1771, 1752, 1750, 1733, 1732, 1731, 1735, 1814, 1707, 1670, 1668, 1631, 1629, 1626, 1634, 1599, 1598, 1596, 1594, 1603, 1601, 2326, 1772, 1753, 1751, 1581, 1554, 1552, 1504, 1501, 1498, 1509, 1442, 1437, 1434, 401, 1448, 1445, 2206, 1392, 1391, 1389, 1387, 1384, 359, 1399, 1397, 1394, 1404, 2171, 2170, 1708, 1672, 1669, 619, 1632, 1630, 1628, 1773, 1378, 1363, 1361, 1333, 1328, 1336, 1286, 1281, 1278, 248, 1292, 1289, 2111, 1218, 1216, 1210, 197, 1206, 193, 1228, 1225, 1221, 1236, 2073, 2071, 1151, 1150, 1148, 1146, 152, 1143, 149, 1140, 145, 1161, 1159, 1156, 1153, 158, 1169, 1166, 2017, 2016, 2014, 2019, 1582, 510, 1556, 1553, 452, 448, 1506, 1500, 394, 391, 387, 1443, 1441, 1439, 1436, 1450, 2207, 765, 716, 713, 1709, 662, 660, 657, 1673, 1671, 916, 914, 879, 878, 877, 882, 1135, 1134, 1121, 1120, 1118, 1123, 1097, 1096, 1094, 1092, 103, 1101, 1099, 1979, 1059, 1058, 1056, 1054, 77, 1051, 74, 1066, 1064, 1061, 1071, 1964, 1963, PointerIconCompat.TYPE_CROSSHAIR, PointerIconCompat.TYPE_CELL, PointerIconCompat.TYPE_WAIT, PointerIconCompat.TYPE_HAND, RoomDatabase.MAX_BIND_PARAMETER_CNT, 41, 996, 37, PointerIconCompat.TYPE_TOP_LEFT_DIAGONAL_DOUBLE_ARROW, PointerIconCompat.TYPE_VERTICAL_DOUBLE_ARROW, PointerIconCompat.TYPE_NO_DROP, PointerIconCompat.TYPE_VERTICAL_TEXT, 52, InputDeviceCompat.SOURCE_GAMEPAD, 1022, 1936, 1935, 1933, 1938, 942, 940, 938, 935, 932, 5, 2, 955, 953, 950, 947, 18, 943, 15, 965, 962, 958, 1895, 1894, 1892, 1890, 973, 1899, 1897, 1379, 325, 1364, 1362, ScreenShareManager.THUMBNAIL_HEIGHT_PX, 285, 1334, 1332, 1330, 241, 238, 234, 1287, 1285, 1283, 1280, 1294, 2112, 188, 185, 181, 178, 2028, 1219, 1217, 1215, 1212, 200, 1209, 1227, 2074, 2072, 583, 553, 551, 1583, 505, 503, 500, InputDeviceCompat.SOURCE_DPAD, 1557, 1555, 444, 442, 439, 436, 2213, 455, 451, 1507, 1505, 1502, 796, 763, 762, 760, 767, 711, 710, 708, 706, 2377, 718, 715, 1710, 2544, 917, 915, 2681, 1627, 1597, 1595, 2325, 1769, 1749, 1747, 1499, 1438, 1435, 2204, 1390, 1388, 1385, 1395, 2169, 2167, 1704, 1665, 1662, 1625, 1623, 1620, 1770, 1329, 1282, 1279, 2109, 1214, 1207, 1222, 2068, 2065, 1149, 1147, 1144, 1141, 146, 1157, 1154, 2013, 2011, 2008, 2015, 1579, 1549, 1546, 1495, 1487, 1433, 1431, 1428, 1425, 388, 1440, 2205, 1705, 658, 1667, 1664, 1119, 1095, 1093, 1978, 1057, 1055, 1052, 1062, 1962, 1960, 1005, PointerIconCompat.TYPE_HELP, 1000, 997, 38, PointerIconCompat.TYPE_ALL_SCROLL, PointerIconCompat.TYPE_ALIAS, 1932, 1930, 1927, 1934, 941, 939, 936, 933, 6, 930, 3, 951, 948, 944, 1889, 1887, 1884, 1881, 959, 1893, 1891, 35, 1377, 1360, 1358, 1327, 1325, 1322, 1331, 1277, 1275, 1272, 1269, 235, 1284, 2110, 1205, 1204, 1201, 1198, 182, 1195, 179, 1213, 2070, 2067, 1580, 501, 1551, 1548, 440, 437, 1497, 1494, 1490, 1503, 761, 709, 707, 1706, 913, 912, 2198, 1386, 2164, 2161, 1621, 1766, 2103, 1208, 2058, 2054, 1145, 1142, 2005, 2002, 1999, 2009, 1488, 1429, 1426, 2200, 1698, 1659, 1656, 1975, 1053, 1957, 1954, PointerIconCompat.TYPE_CONTEXT_MENU, 998, 1924, 1921, 1918, 1928, 937, 934, 931, 1879, 1876, 1873, 1870, 945, 1885, 1882, 1323, 1273, 1270, 2105, 1202, 1199, 1196, 1211, 2061, 2057, 1576, 1543, 1540, 1484, 1481, 1478, 1491, 1700}; public static int a(int i) { diff --git a/app/src/main/java/com/discord/api/permission/Permission.java b/app/src/main/java/com/discord/api/permission/Permission.java index 48a84ee236..0d92ccbcb5 100644 --- a/app/src/main/java/com/discord/api/permission/Permission.java +++ b/app/src/main/java/com/discord/api/permission/Permission.java @@ -3,7 +3,7 @@ package com.discord.api.permission; public final class Permission { public static final long ADD_REACTIONS = 64; public static final long ADMINISTRATOR = 8; - public static final long ALL = 549755289343L; + public static final long ALL = 1649266917119L; public static final long ATTACH_FILES = 32768; public static final long BAN_MEMBERS = 4; public static final long CHANGE_NICKNAME = 67108864; @@ -13,11 +13,11 @@ public final class Permission { public static final long CREATE_PUBLIC_THREADS = 34359738368L; public static final long DEAFEN_MEMBERS = 8388608; public static final long DEFAULT = 521942851137L; - public static final long ELEVATED = 26038247486L; + public static final long ELEVATED = 1125549875262L; public static final long EMBED_LINKS = 16384; public static final Permission INSTANCE = new Permission(); public static final long KICK_MEMBERS = 2; - public static final long MANAGEMENT_PERMISSIONS = 10615783486L; + public static final long MANAGEMENT_PERMISSIONS = 1110127411262L; public static final long MANAGE_CHANNELS = 16; public static final long MANAGE_EMOJIS_AND_STICKERS = 1073741824; public static final long MANAGE_EVENTS = 8589934592L; @@ -28,9 +28,9 @@ public final class Permission { public static final long MANAGE_THREADS = 17179869184L; public static final long MANAGE_WEBHOOKS = 536870912; public static final long MENTION_EVERYONE = 131072; - public static final long MODERATE_MEMBER = 1099511627776L; + public static final long MODERATE_MEMBERS = 1099511627776L; public static final long MODERATE_STAGE_CHANNEL = 20971536; - public static final long MODERATOR_PERMISSIONS = 17448443966L; + public static final long MODERATOR_PERMISSIONS = 1116960071742L; public static final long MOVE_MEMBERS = 16777216; public static final long MUTE_MEMBERS = 4194304; public static final long NONE = 0; diff --git a/app/src/main/java/com/discord/models/domain/emoji/ModelEmojiCustom.java b/app/src/main/java/com/discord/models/domain/emoji/ModelEmojiCustom.java index 1b8b87b77e..919502dafb 100644 --- a/app/src/main/java/com/discord/models/domain/emoji/ModelEmojiCustom.java +++ b/app/src/main/java/com/discord/models/domain/emoji/ModelEmojiCustom.java @@ -133,7 +133,7 @@ public class ModelEmojiCustom implements Emoji { } public static void setCdnUri(String str) { - emojiUriFormat = a.v(str, "/emojis/%s.%s?size=%s"); + emojiUriFormat = a.v(str, "/emojis/%s.%s?size=%s&quality=lossless"); } public boolean canEqual(Object obj) { diff --git a/app/src/main/java/com/discord/utilities/auditlogs/AuditLogChangeUtils.java b/app/src/main/java/com/discord/utilities/auditlogs/AuditLogChangeUtils.java index 33daf2e20a..63a7df7d79 100644 --- a/app/src/main/java/com/discord/utilities/auditlogs/AuditLogChangeUtils.java +++ b/app/src/main/java/com/discord/utilities/auditlogs/AuditLogChangeUtils.java @@ -1272,6 +1272,9 @@ public final class AuditLogChangeUtils { if (j == Permission.MANAGE_THREADS) { return R.string.manage_threads; } + if (j == Permission.MODERATE_MEMBERS) { + return R.string.moderate_member; + } return 0; } diff --git a/app/src/main/java/com/discord/utilities/experiments/ExperimentRegistry.java b/app/src/main/java/com/discord/utilities/experiments/ExperimentRegistry.java index 7cf17c2eb6..0936bae2f2 100644 --- a/app/src/main/java/com/discord/utilities/experiments/ExperimentRegistry.java +++ b/app/src/main/java/com/discord/utilities/experiments/ExperimentRegistry.java @@ -15,7 +15,7 @@ public final class ExperimentRegistry { registeredExperiments = linkedHashMap; RegisteredExperiment.Type type = RegisteredExperiment.Type.USER; RegisteredExperiment.Type type2 = RegisteredExperiment.Type.GUILD; - for (Object obj : n.listOf((Object[]) new RegisteredExperiment[]{new RegisteredExperiment("Compact Invite Widget", "2020-01_mobile_invite_suggestion_compact", type, n.listOf((Object[]) new String[]{"Control", "Treatment 1: Use compact view"}), true), new RegisteredExperiment("Guild Invite Sheet", "2020-12_android_guild_channel_invite_sheet", type, n.listOf((Object[]) new String[]{"Control: Use the full-screen guild invite UI", "Treatment 1: Use the bottom sheet guild invite UI"}), true), new RegisteredExperiment("Disable mentions in landscape", "2020-12_android_disable_landscape_mentions", type, n.listOf((Object[]) new String[]{"Control", "Treatment 1: Hide mentions in landscape"}), true), new RegisteredExperiment("Invite to GDM Sheet", "2020-12_invite_to_gdm", type, n.listOf((Object[]) new String[]{"Control: Use the full-screen GDM invite UI", "Treatment 1: Use the bottom sheet GDM invite UI"}), true), new RegisteredExperiment("Guild Delete Feedback", "2020-12_guild_delete_feedback", type, n.listOf((Object[]) new String[]{"Control: Do not show the feedback modal", "Treatment 1: Show the feedback modal"}), true), new RegisteredExperiment("View Threads", "2021-02_view_threads", type, n.listOf((Object[]) new String[]{"Control: Do not display anything threads-related, except if receiving a notification", "Treatment 1: Show view-only threads features in channel list, in chat view, etc."}), true), new RegisteredExperiment("Create Threads", "2020-09_threads", type2, n.listOf((Object[]) new String[]{"Control: Do not show thread creation entrypoints, or Thread Browser", "Treatment 1: Show thread creation buttons, and show button to open Thread Browser"}), true), new RegisteredExperiment("Disable Camera 2", "2021-02_android_webrtc_camera2", type, n.listOf((Object[]) new String[]{"Control: Use Camera 2 API if supported", "Treatment 1: Force Camera 1 API"}), true), new RegisteredExperiment("MediaSinkWants", "2021-03_android_media_sink_wants", type, n.listOf((Object[]) new String[]{"Control: disabled", "Treatment 1: use MediaSinkWants"}), true), new RegisteredExperiment("Default Invite Expiration", "2021-03_android_extend_invite_expiration", type2, n.listOf((Object[]) new String[]{"Control: Default Invite Expiration is 1 day", "Treatment 1: Default Invite Expiration is 7 days"}), true), new RegisteredExperiment("Emoji Autocomplete Upsell", "2021-03_nitro_emoji_autocomplete_upsell_android", type, n.listOf((Object[]) new String[]{"Control", "Treatment 1: Show Emoji Autocomplete Upsell"}), true), new RegisteredExperiment("Application Command Frecency", "2021-09_android_app_commands_frecency", type, n.listOf((Object[]) new String[]{"Control", "Treatment 1: Show frecent application commands"}), true), new RegisteredExperiment("Attachments Bottom Sheet", "2021-10_android_attachment_bottom_sheet", type, n.listOf((Object[]) new String[]{"Control", "Treatment 1: Show attachments bottom sheet"}), true), new RegisteredExperiment("Bot UI Kit Components", "2021-03_bot_ui_kit_components_android", type, n.listOf((Object[]) new String[]{"Control", "Treatment 1: Show Bot UI Kit Components"}), true), new RegisteredExperiment("Select Bot UI Component", "2021-05_bot_ui_kit_select", type, n.listOf((Object[]) new String[]{"Control", "Treatment 1: Show Select Bot Ui Component"}), true), new RegisteredExperiment("Stage Events Guilds", "2021-06_stage_events", type2, n.listOf((Object[]) new String[]{"Control", "Treatment 1: Enables users to see events in guilds"}), true), new RegisteredExperiment("Contact Sync: Base Experiment", "2021-04_contact_sync_android_main", type, n.listOf((Object[]) new String[]{"Control", "Treatment 1: Enable core Contact Sync features"}), true), new RegisteredExperiment("Stop Offscreen Video Streams", "2021-03_stop_offscreen_video_streams", type, n.listOf((Object[]) new String[]{"Control", "Treatment 1: Stop offscreen video streams"}), true), new RegisteredExperiment("Hub Multiple Domains", "2021-08_hub_multi_domain_mobile", type, n.listOf((Object[]) new String[]{"Control", "Treatment 1: Enable multiple domains for hubs"}), true), new RegisteredExperiment("Enabled Discord Hub Directories", "2021-06_desktop_school_hubs", type, n.listOf((Object[]) new String[]{"Control", "Treatment 1: See Discord Hub Directories"}), true), new RegisteredExperiment("Enabled Discord Hub Emails", "2021-06_hub_email_connection", type, n.listOf((Object[]) new String[]{"Control", "Treatment 1: See Discord Hub Emails"}), true), new RegisteredExperiment("Enabled Discord Hub Recommendations", "2021-10_hubs_recs_and_rankings", type, n.listOf((Object[]) new String[]{"Control", "Treatment 1: Hub Ranks Enabled", "Treatment 2: Hub Recommendations Enabled", "Treatment 3: Hub Ranks and Recommendations Enabled"}), true), new RegisteredExperiment("Enabled Discord Hub Study Groups", "2021-10_study_group", type, n.listOf((Object[]) new String[]{"Control", "Treatment 1: Hub Study Groups Enabled"}), true), new RegisteredExperiment("Enabled Discord Hub Unreads", "2021-11_hub_unreads", type2, n.listOf((Object[]) new String[]{"Control", "Treatment 1: Enabled hub Unreads w/ Recommendations", "Treatment 2: Enabled hub Unreads w/ all"}), true), new RegisteredExperiment("Enabled Hub Guild Events", "2021-11_hub_events", type, n.listOf((Object[]) new String[]{"Control", "Treatment 1: Enabled hub Guild events"}), true), new RegisteredExperiment("Enable Impression Logging", "2021-08_impression_logging_enabled_android", type, n.listOf((Object[]) new String[]{"Control", "Treatment 1: Enable Impression Logging"}), true), new RegisteredExperiment("AudioManager V2 and OpenSL ES", "2021-05_opensl_default_enable_android", type, n.listOf((Object[]) new String[]{"Control", "Treatment 1: Default enable OpenSL", "Treatment 2: Use StoreAudioManagerV2 for output routing"}), true), new RegisteredExperiment("Phone Registration - Bailout to Email", "2021-06_reg_bailout_to_email_android", type, n.listOf((Object[]) new String[]{"Control: Just the back button", "Treatment 1: Static button to bailout to the email tab"}), true), new RegisteredExperiment("Enable Network Action Logging", "2021-07_network_action_logging_android", type, n.listOf((Object[]) new String[]{"Off: No Action logging", "On: Enable Action Logging"}), true), new RegisteredExperiment("Preview Promotions", "2021-06_preview_promotions", type, n.listOf((Object[]) new String[]{"Off: Hit normal endpoint", "On: Hit preview endpoint"}), true), new RegisteredExperiment("Route audio to speakerphone by default", "2021-08_android_speakerphone_default", type, n.listOf((Object[]) new String[]{"Control", "Treatment 1: Always default to speakerphone"}), true), new RegisteredExperiment("New Thread Perms", "2021-08_threads_permissions", type2, n.listOf((Object[]) new String[]{"Control: Use old threads permissions.", "Treatment 1: Use new threads permissions."}), true), new RegisteredExperiment("Longer billing grace periods", "2021-09_longer_billing_grace_periods", type, n.listOf((Object[]) new String[]{"Control: 3-day grace period", "Treatment 1: 7-day grace period"}), true), new RegisteredExperiment("SMS Autofill", "2021-09_android_sms_autofill", type, n.listOf((Object[]) new String[]{"Control: No SMS Autofill", "Treatment 1: SMS Code autofills"}), true), new RegisteredExperiment("Android Text-In-Voice", "2021-10_android_textinvoice", type, n.listOf((Object[]) new String[]{"Control: No Android text-in-voice.", "Treatment 1: Android text-in-voice enabled, if it's enabled for the guild."}), true), new RegisteredExperiment("Guild Member Profiles v2", "2021-10_premium_guild_member_profiles", type, n.listOf((Object[]) new String[]{"Control: No editing of guild member premium profiles.", "Treatment 1: Can edit guild member premium profiles"}), true), new RegisteredExperiment("Animated Guild Banner", "2021-10_animated_guild_banners", type2, n.listOf((Object[]) new String[]{"Control: No Animated Guild Banners", "Treatment 1: Animated Guild Banners"}), true), new RegisteredExperiment("Guild Communication Disabled - Guilds Experiment", "2021-11_guild_communication_disabled_guilds", type2, n.listOf((Object[]) new String[]{"Control: No timing out of malicious users.", "Treatment 1: Can grant the MODERATE_MEMBER permission for timing out malicious users"}), true), new RegisteredExperiment("Guild Communication Disabled - Users Experiment", "2021-11_guild_communication_disabled_users", type, n.listOf((Object[]) new String[]{"Control: No timing out of malicious users.", "Treatment 1: Can grant the MODERATE_MEMBER permission for timing out malicious users"}), true)})) { + for (Object obj : n.listOf((Object[]) new RegisteredExperiment[]{new RegisteredExperiment("Compact Invite Widget", "2020-01_mobile_invite_suggestion_compact", type, n.listOf((Object[]) new String[]{"Control", "Treatment 1: Use compact view"}), true), new RegisteredExperiment("Guild Invite Sheet", "2020-12_android_guild_channel_invite_sheet", type, n.listOf((Object[]) new String[]{"Control: Use the full-screen guild invite UI", "Treatment 1: Use the bottom sheet guild invite UI"}), true), new RegisteredExperiment("Disable mentions in landscape", "2020-12_android_disable_landscape_mentions", type, n.listOf((Object[]) new String[]{"Control", "Treatment 1: Hide mentions in landscape"}), true), new RegisteredExperiment("Invite to GDM Sheet", "2020-12_invite_to_gdm", type, n.listOf((Object[]) new String[]{"Control: Use the full-screen GDM invite UI", "Treatment 1: Use the bottom sheet GDM invite UI"}), true), new RegisteredExperiment("Guild Delete Feedback", "2020-12_guild_delete_feedback", type, n.listOf((Object[]) new String[]{"Control: Do not show the feedback modal", "Treatment 1: Show the feedback modal"}), true), new RegisteredExperiment("View Threads", "2021-02_view_threads", type, n.listOf((Object[]) new String[]{"Control: Do not display anything threads-related, except if receiving a notification", "Treatment 1: Show view-only threads features in channel list, in chat view, etc."}), true), new RegisteredExperiment("Create Threads", "2020-09_threads", type2, n.listOf((Object[]) new String[]{"Control: Do not show thread creation entrypoints, or Thread Browser", "Treatment 1: Show thread creation buttons, and show button to open Thread Browser"}), true), new RegisteredExperiment("Disable Camera 2", "2021-02_android_webrtc_camera2", type, n.listOf((Object[]) new String[]{"Control: Use Camera 2 API if supported", "Treatment 1: Force Camera 1 API"}), true), new RegisteredExperiment("MediaSinkWants", "2021-03_android_media_sink_wants", type, n.listOf((Object[]) new String[]{"Control: disabled", "Treatment 1: use MediaSinkWants"}), true), new RegisteredExperiment("Default Invite Expiration", "2021-03_android_extend_invite_expiration", type2, n.listOf((Object[]) new String[]{"Control: Default Invite Expiration is 1 day", "Treatment 1: Default Invite Expiration is 7 days"}), true), new RegisteredExperiment("Emoji Autocomplete Upsell", "2021-03_nitro_emoji_autocomplete_upsell_android", type, n.listOf((Object[]) new String[]{"Control", "Treatment 1: Show Emoji Autocomplete Upsell"}), true), new RegisteredExperiment("Application Command Frecency", "2021-09_android_app_commands_frecency", type, n.listOf((Object[]) new String[]{"Control", "Treatment 1: Show frecent application commands"}), true), new RegisteredExperiment("Attachments Bottom Sheet", "2021-10_android_attachment_bottom_sheet", type, n.listOf((Object[]) new String[]{"Control", "Treatment 1: Show attachments bottom sheet"}), true), new RegisteredExperiment("Stage Events Guilds", "2021-06_stage_events", type2, n.listOf((Object[]) new String[]{"Control", "Treatment 1: Enables users to see events in guilds"}), true), new RegisteredExperiment("Contact Sync: Base Experiment", "2021-04_contact_sync_android_main", type, n.listOf((Object[]) new String[]{"Control", "Treatment 1: Enable core Contact Sync features"}), true), new RegisteredExperiment("Stop Offscreen Video Streams", "2021-03_stop_offscreen_video_streams", type, n.listOf((Object[]) new String[]{"Control", "Treatment 1: Stop offscreen video streams"}), true), new RegisteredExperiment("Hub Multiple Domains", "2021-08_hub_multi_domain_mobile", type, n.listOf((Object[]) new String[]{"Control", "Treatment 1: Enable multiple domains for hubs"}), true), new RegisteredExperiment("Enabled Discord Hub Directories", "2021-06_desktop_school_hubs", type, n.listOf((Object[]) new String[]{"Control", "Treatment 1: See Discord Hub Directories"}), true), new RegisteredExperiment("Enabled Discord Hub Emails", "2021-06_hub_email_connection", type, n.listOf((Object[]) new String[]{"Control", "Treatment 1: See Discord Hub Emails"}), true), new RegisteredExperiment("Enabled Discord Hub Recommendations", "2021-10_hubs_recs_and_rankings", type, n.listOf((Object[]) new String[]{"Control", "Treatment 1: Hub Ranks Enabled", "Treatment 2: Hub Recommendations Enabled", "Treatment 3: Hub Ranks and Recommendations Enabled"}), true), new RegisteredExperiment("Enabled Discord Hub Study Groups", "2021-10_study_group", type, n.listOf((Object[]) new String[]{"Control", "Treatment 1: Hub Study Groups Enabled"}), true), new RegisteredExperiment("Enabled Discord Hub Unreads", "2021-11_hub_unreads", type2, n.listOf((Object[]) new String[]{"Control", "Treatment 1: Enabled hub Unreads w/ Recommendations", "Treatment 2: Enabled hub Unreads w/ all"}), true), new RegisteredExperiment("Enabled Hub Guild Events", "2021-11_hub_events", type, n.listOf((Object[]) new String[]{"Control", "Treatment 1: Enabled hub Guild events"}), true), new RegisteredExperiment("Enable Impression Logging", "2021-08_impression_logging_enabled_android", type, n.listOf((Object[]) new String[]{"Control", "Treatment 1: Enable Impression Logging"}), true), new RegisteredExperiment("AudioManager V2 and OpenSL ES", "2021-05_opensl_default_enable_android", type, n.listOf((Object[]) new String[]{"Control", "Treatment 1: Default enable OpenSL", "Treatment 2: Use StoreAudioManagerV2 for output routing"}), true), new RegisteredExperiment("Phone Registration - Bailout to Email", "2021-06_reg_bailout_to_email_android", type, n.listOf((Object[]) new String[]{"Control: Just the back button", "Treatment 1: Static button to bailout to the email tab"}), true), new RegisteredExperiment("Enable Network Action Logging", "2021-07_network_action_logging_android", type, n.listOf((Object[]) new String[]{"Off: No Action logging", "On: Enable Action Logging"}), true), new RegisteredExperiment("Preview Promotions", "2021-06_preview_promotions", type, n.listOf((Object[]) new String[]{"Off: Hit normal endpoint", "On: Hit preview endpoint"}), true), new RegisteredExperiment("Route audio to speakerphone by default", "2021-08_android_speakerphone_default", type, n.listOf((Object[]) new String[]{"Control", "Treatment 1: Always default to speakerphone"}), true), new RegisteredExperiment("New Thread Perms", "2021-08_threads_permissions", type2, n.listOf((Object[]) new String[]{"Control: Use old threads permissions.", "Treatment 1: Use new threads permissions."}), true), new RegisteredExperiment("Longer billing grace periods", "2021-09_longer_billing_grace_periods", type, n.listOf((Object[]) new String[]{"Control: 3-day grace period", "Treatment 1: 7-day grace period"}), true), new RegisteredExperiment("SMS Autofill", "2021-09_android_sms_autofill", type, n.listOf((Object[]) new String[]{"Control: No SMS Autofill", "Treatment 1: SMS Code autofills"}), true), new RegisteredExperiment("Android Text-In-Voice", "2021-10_android_textinvoice", type, n.listOf((Object[]) new String[]{"Control: No Android text-in-voice.", "Treatment 1: Android text-in-voice enabled, if it's enabled for the guild."}), true), new RegisteredExperiment("Guild Member Profiles v2", "2021-10_premium_guild_member_profiles", type, n.listOf((Object[]) new String[]{"Control: No editing of guild member premium profiles.", "Treatment 1: Can edit guild member premium profiles"}), true), new RegisteredExperiment("Guild Communication Disabled - Guilds Experiment", "2021-11_guild_communication_disabled_guilds", type2, n.listOf((Object[]) new String[]{"Control: No timing out of malicious users.", "Treatment 1: Can grant the MODERATE_MEMBER permission for timing out malicious users"}), true), new RegisteredExperiment("Guild Communication Disabled - Users Experiment", "2021-11_guild_communication_disabled_users", type, n.listOf((Object[]) new String[]{"Control: No timing out of malicious users.", "Treatment 1: Can grant the MODERATE_MEMBER permission for timing out malicious users"}), true)})) { linkedHashMap.put(((RegisteredExperiment) obj).getName(), obj); } } diff --git a/app/src/main/java/com/discord/utilities/permissions/ManageUserContext.java b/app/src/main/java/com/discord/utilities/permissions/ManageUserContext.java index 229c347936..27704ba3f8 100644 --- a/app/src/main/java/com/discord/utilities/permissions/ManageUserContext.java +++ b/app/src/main/java/com/discord/utilities/permissions/ManageUserContext.java @@ -51,7 +51,7 @@ public final class ManageUserContext { boolean z6 = (z2 || z4) && (z5 || PermissionUtils.canAndIsElevated(Permission.MANAGE_ROLES, l, mfaEnabled, mfaLevel)); boolean z7 = !z2 && z4 && (z5 || PermissionUtils.canAndIsElevated(2, l, mfaEnabled, mfaLevel)); boolean z8 = !z2 && z4 && (z5 || PermissionUtils.canAndIsElevated(4, l, mfaEnabled, mfaLevel)); - boolean z9 = !z2 && z4 && (z5 || PermissionUtils.canAndIsElevated(Permission.MODERATE_MEMBER, l, mfaEnabled, mfaLevel)); + boolean z9 = !z2 && z4 && (z5 || PermissionUtils.canAndIsElevated(Permission.MODERATE_MEMBERS, l, mfaEnabled, mfaLevel)); return new ManageUserContext(z6, z7, z8, z5 || PermissionUtils.can(Permission.MUTE_MEMBERS, l), z5 || PermissionUtils.can(Permission.DEAFEN_MEMBERS, l), z5 || PermissionUtils.can(Permission.MOVE_MEMBERS, l), !z2 ? !(!z4 || (!z5 && !PermissionUtils.canAndIsElevated(Permission.MANAGE_NICKNAMES, l, mfaEnabled, mfaLevel))) : !(!z5 && !PermissionUtils.can(Permission.CHANGE_NICKNAME, l)), z9, !z2 && z3); } } diff --git a/app/src/main/java/com/discord/widgets/botuikit/BotComponentExperiments.java b/app/src/main/java/com/discord/widgets/botuikit/BotComponentExperiments.java index 4cfa61dab0..baa5788473 100644 --- a/app/src/main/java/com/discord/widgets/botuikit/BotComponentExperiments.java +++ b/app/src/main/java/com/discord/widgets/botuikit/BotComponentExperiments.java @@ -79,14 +79,8 @@ public final class BotComponentExperiments implements ComponentExperiments { if (ordinal == 0) { return false; } - if (ordinal == 1) { - return isExperimentEnabled("2021-03_bot_ui_kit_components_android"); - } - if (ordinal == 2) { - return isExperimentEnabled("2021-03_bot_ui_kit_components_android"); - } - if (ordinal == 3) { - return isExperimentEnabled("2021-05_bot_ui_kit_select"); + if (ordinal == 1 || ordinal == 2 || ordinal == 3) { + return true; } throw new NoWhenBranchMatchedException(); } diff --git a/app/src/main/java/com/discord/widgets/channels/list/WidgetChannelsList.java b/app/src/main/java/com/discord/widgets/channels/list/WidgetChannelsList.java index 1dbc00862d..2ec694cf00 100644 --- a/app/src/main/java/com/discord/widgets/channels/list/WidgetChannelsList.java +++ b/app/src/main/java/com/discord/widgets/channels/list/WidgetChannelsList.java @@ -21,7 +21,6 @@ import com.discord.R; import com.discord.api.guild.GuildFeature; import com.discord.app.AppFragment; import com.discord.databinding.WidgetChannelsListBinding; -import com.discord.models.experiments.domain.Experiment; import com.discord.models.guild.Guild; import com.discord.stores.StoreNavigation; import com.discord.stores.StoreStream; @@ -211,9 +210,6 @@ public final class WidgetChannelsList extends AppFragment { textView.setCompoundDrawablesWithIntrinsicBounds(drawable2, (Drawable) null, drawable, (Drawable) null); } - /* JADX WARNING: Code restructure failed: missing block: B:97:0x01bc, code lost: - if ((r1 != null ? r1.canHaveAnimatedBanner() : false) != false) goto L_0x01c0; - */ private final void configureUI(WidgetChannelListModel widgetChannelListModel) { Guild selectedGuild = widgetChannelListModel.getSelectedGuild(); String str = null; @@ -280,7 +276,10 @@ public final class WidgetChannelsList extends AppFragment { simpleDraweeView.setVisibility(z3 ? 0 : 8); FrameLayout frameLayout = getBinding().e; m.checkNotNullExpressionValue(frameLayout, "binding.channelsListBannerForeground"); - frameLayout.setVisibility(z3 && !this.isCollapsed ? 0 : 8); + if (!z3 || this.isCollapsed) { + z2 = false; + } + frameLayout.setVisibility(z2 ? 0 : 8); if (z3) { SimpleDraweeView simpleDraweeView2 = getBinding().d; ViewGroup.LayoutParams layoutParams3 = simpleDraweeView2.getLayoutParams(); @@ -288,12 +287,9 @@ public final class WidgetChannelsList extends AppFragment { ViewGroup.MarginLayoutParams marginLayoutParams = (ViewGroup.MarginLayoutParams) layoutParams3; marginLayoutParams.bottomMargin = !widgetChannelListModel.getStartsWithPaddedElement() ? DimenUtils.dpToPixels(8) : 0; simpleDraweeView2.setLayoutParams(marginLayoutParams); - Experiment guildExperiment = StoreStream.Companion.getExperiments().getGuildExperiment("2021-10_animated_guild_banners", selectedGuild != null ? selectedGuild.getId() : 0, true); - if (guildExperiment != null && guildExperiment.getBucket() == 1) { - } - z2 = false; + boolean canHaveAnimatedBanner = selectedGuild != null ? selectedGuild.canHaveAnimatedBanner() : false; m.checkNotNullExpressionValue(simpleDraweeView2, "this"); - MGImages.setImage$default(simpleDraweeView2, IconUtils.INSTANCE.getBannerForGuild(selectedGuild, Integer.valueOf(simpleDraweeView2.getResources().getDimensionPixelSize(R.dimen.nav_panel_width)), z2), 0, 0, false, null, this.bannerChangeDetector, 60, null); + MGImages.setImage$default(simpleDraweeView2, IconUtils.INSTANCE.getBannerForGuild(selectedGuild, Integer.valueOf(simpleDraweeView2.getResources().getDimensionPixelSize(R.dimen.nav_panel_width)), canHaveAnimatedBanner), 0, 0, false, null, this.bannerChangeDetector, 60, null); } getBinding().f2253b.setOnPercentCollapsedCallback(new WidgetChannelsList$configureUI$5(this, selectedGuild, widgetChannelListModel, z3)); ConstraintLayout constraintLayout = getBinding().h; diff --git a/app/src/main/java/com/discord/widgets/chat/list/adapter/WidgetChatListAdapterItemMessage.java b/app/src/main/java/com/discord/widgets/chat/list/adapter/WidgetChatListAdapterItemMessage.java index 7d8bcd84cc..d99b201216 100644 --- a/app/src/main/java/com/discord/widgets/chat/list/adapter/WidgetChatListAdapterItemMessage.java +++ b/app/src/main/java/com/discord/widgets/chat/list/adapter/WidgetChatListAdapterItemMessage.java @@ -124,7 +124,7 @@ public final class WidgetChatListAdapterItemMessage extends WidgetChatListItem { private final void configureCommunicationDisabled(GuildMember guildMember, Long l) { boolean z2 = false; boolean isCommunicationDisabled = guildMember != null ? guildMember.isCommunicationDisabled() : false; - boolean z3 = PermissionUtils.can(Permission.MODERATE_MEMBER, l) || PermissionUtils.can(8, l); + boolean z3 = PermissionUtils.can(Permission.MODERATE_MEMBERS, l) || PermissionUtils.can(8, l); if (isCommunicationDisabled && z3) { z2 = true; } diff --git a/app/src/main/java/com/discord/widgets/chat/list/model/WidgetChatListModelMessages$Companion$get$1.java b/app/src/main/java/com/discord/widgets/chat/list/model/WidgetChatListModelMessages$Companion$get$1.java index f5ee68d371..2443f8886d 100644 --- a/app/src/main/java/com/discord/widgets/chat/list/model/WidgetChatListModelMessages$Companion$get$1.java +++ b/app/src/main/java/com/discord/widgets/chat/list/model/WidgetChatListModelMessages$Companion$get$1.java @@ -1,16 +1,179 @@ package com.discord.widgets.chat.list.model; -import com.discord.models.experiments.domain.Experiment; -import j0.k.b; +import com.discord.api.channel.Channel; +import com.discord.api.role.GuildRole; +import com.discord.api.user.User; +import com.discord.api.utcdatetime.UtcDateTime; +import com.discord.models.member.GuildMember; +import com.discord.models.message.Message; +import com.discord.utilities.embed.InviteEmbedModel; +import com.discord.widgets.botuikit.ComponentChatListState; +import com.discord.widgets.chat.list.entries.ChatListEntry; +import com.discord.widgets.chat.list.model.WidgetChatListModelMessages; +import d0.t.n; +import d0.t.t; +import d0.t.u; +import d0.z.d.m; +import d0.z.d.o; +import java.util.Iterator; +import java.util.List; +import java.util.Map; +import kotlin.jvm.functions.Function14; /* compiled from: WidgetChatListModelMessages.kt */ -public final class WidgetChatListModelMessages$Companion$get$1 implements b { - public static final WidgetChatListModelMessages$Companion$get$1 INSTANCE = new WidgetChatListModelMessages$Companion$get$1(); +public final class WidgetChatListModelMessages$Companion$get$1 extends o implements Function14, List, Map, Long, Map, Long, Boolean, Boolean, Boolean, Long, Map, InviteEmbedModel, WidgetChatListModelMessages> { + public final /* synthetic */ Channel $channel; - public final Boolean call(Experiment experiment) { - boolean z2 = true; - if (experiment == null || experiment.getBucket() != 1) { - z2 = false; + /* JADX INFO: super call moved to the top of the method (can break code semantics) */ + public WidgetChatListModelMessages$Companion$get$1(Channel channel) { + super(14); + this.$channel = channel; + } + + public final WidgetChatListModelMessages invoke(WidgetChatListModelMessages.MessagesWithMetadata messagesWithMetadata, Channel channel, Map map, List list, Map map2, Long l, Map map3, Long l2, boolean z2, boolean z3, boolean z4, long j, Map map4, InviteEmbedModel inviteEmbedModel) { + Object obj; + boolean z5; + boolean z6; + Message message; + boolean z7; + String str; + Message message2; + Message message3; + WidgetChatListModelMessages.Companion companion; + WidgetChatListModelMessages.Items items; + WidgetChatListModelMessages.Items items2; + WidgetChatListModelMessages$Companion$get$1 widgetChatListModelMessages$Companion$get$1 = this; + WidgetChatListModelMessages.MessagesWithMetadata messagesWithMetadata2 = messagesWithMetadata; + Map map5 = map; + m.checkNotNullParameter(messagesWithMetadata2, "messagesWithMetadata"); + m.checkNotNullParameter(map5, "blockedRelationships"); + m.checkNotNullParameter(list, "blockedExpanded"); + m.checkNotNullParameter(map3, "guildRoles"); + m.checkNotNullParameter(map4, "componentStoreState"); + m.checkNotNullParameter(inviteEmbedModel, "inviteEmbedModel"); + WidgetChatListModelMessages.Items items3 = new WidgetChatListModelMessages.Items(messagesWithMetadata.getMessages().size()); + long j2 = 0; + Message message4 = null; + Message message5 = null; + int i = 0; + int i2 = 0; + boolean z8 = false; + boolean z9 = false; + for (Object obj2 : messagesWithMetadata.getMessages()) { + int i3 = i + 1; + if (i < 0) { + n.throwIndexOverflow(); + } + Message message6 = (Message) obj2; + WidgetChatListModelMessages.Companion companion2 = WidgetChatListModelMessages.Companion; + UtcDateTime timestamp = message6.getTimestamp(); + if (WidgetChatListModelMessages.Companion.access$willAddTimestamp(companion2, timestamp != null ? timestamp.g() : 0, j2)) { + i2 = WidgetChatListModelMessages.Companion.access$addBlockedMessage(companion2, items3, message4, i2, z8); + } + long id2 = message6.getId(); + UtcDateTime timestamp2 = message6.getTimestamp(); + long access$tryAddTimestamp = WidgetChatListModelMessages.Companion.access$tryAddTimestamp(companion2, items3, id2, timestamp2 != null ? timestamp2.g() : 0, j2); + boolean z10 = i == messagesWithMetadata.getMessages().size() - 1; + Integer type = message6.getType(); + if (type != null && type.intValue() == 21) { + User author = ((Message) WidgetChatListModelMessages.Companion.access$getThreadStarterMessageAndChannel(companion2, channel, widgetChatListModelMessages$Companion$get$1.$channel, message6, messagesWithMetadata2).getFirst()).getAuthor(); + z6 = map5.containsKey(author != null ? Long.valueOf(author.i()) : null); + } else { + User author2 = message6.getAuthor(); + z6 = map5.containsKey(author2 != null ? Long.valueOf(author2.i()) : null); + } + if (!z6 || (i2 = i2 + 1) != 1) { + z7 = z8; + message = message4; + } else { + z7 = list.contains(Long.valueOf(message6.getId())); + message = message6; + } + int access$addBlockedMessage = (!z6 || z10) ? WidgetChatListModelMessages.Companion.access$addBlockedMessage(companion2, items3, message, i2, z7) : i2; + boolean z11 = (z6 || !z7) ? z7 : false; + if (!z6 || z11) { + boolean access$shouldConcatMessage = WidgetChatListModelMessages.Companion.access$shouldConcatMessage(companion2, items3, message6, message5); + items3.setConcatCount(access$shouldConcatMessage ? items3.getConcatCount() + 1 : 0); + Integer type2 = message6.getType(); + if (type2 != null && type2.intValue() == 21) { + Channel channel2 = widgetChatListModelMessages$Companion$get$1.$channel; + m.checkNotNullExpressionValue(map2, "guildMembers"); + message3 = message; + message2 = message6; + str = "newMessagesMarkerMessageId"; + companion = companion2; + items3.addItems(companion2.getThreadStarterMessageItems(channel, channel2, map2, map3, map, message6, messagesWithMetadata, z2, z3, z4, j, true, map4, inviteEmbedModel)); + items = items3; + } else { + message3 = message; + message2 = message6; + str = "newMessagesMarkerMessageId"; + companion = companion2; + Channel channel3 = widgetChatListModelMessages$Companion$get$1.$channel; + m.checkNotNullExpressionValue(map2, "guildMembers"); + items = items3; + items.addItems(WidgetChatListModelMessages.Companion.getMessageItems$default(companion, channel3, map2, map3, map, messagesWithMetadata.getMessageThreads().get(Long.valueOf(message2.getId())), messagesWithMetadata.getThreadCountsAndLatestMessages().get(Long.valueOf(message2.getId())), message2, messagesWithMetadata.getMessageState().get(Long.valueOf(message2.getId())), messagesWithMetadata.getMessageReplyState(), z11, access$shouldConcatMessage, l2, z2, z3, z4, j, true, map4, inviteEmbedModel, false, 524288, null)); + } + } else { + message3 = message; + items = items3; + message2 = message6; + str = "newMessagesMarkerMessageId"; + companion = companion2; + } + if (!z9) { + m.checkNotNullExpressionValue(l, str); + items2 = items; + widgetChatListModelMessages$Companion$get$1 = this; + z9 = WidgetChatListModelMessages.Companion.access$tryAddNewMessagesSeparator(companion, items2, l.longValue(), z10, message2.getId(), widgetChatListModelMessages$Companion$get$1.$channel); + } else { + items2 = items; + widgetChatListModelMessages$Companion$get$1 = this; + } + messagesWithMetadata2 = messagesWithMetadata; + map5 = map; + items3 = items2; + i = i3; + j2 = access$tryAddTimestamp; + i2 = access$addBlockedMessage; + z8 = z11; + message4 = message3; + message5 = message2; } - return Boolean.valueOf(z2); + t.reverse(items3.getItems()); + List items4 = items3.getItems(); + Message message7 = (Message) u.firstOrNull((List) messagesWithMetadata.getMessages()); + long id3 = message7 != null ? message7.getId() : 0; + Message message8 = (Message) u.lastOrNull((List) messagesWithMetadata.getMessages()); + long id4 = message8 != null ? message8.getId() : 0; + m.checkNotNullExpressionValue(l, "newMessagesMarkerMessageId"); + long longValue = l.longValue(); + Iterator it = messagesWithMetadata.getMessages().iterator(); + while (true) { + if (!it.hasNext()) { + obj = null; + break; + } + obj = it.next(); + User author3 = ((Message) obj).getAuthor(); + if (author3 == null || author3.i() != j) { + z5 = false; + continue; + } else { + z5 = true; + continue; + } + if (z5) { + break; + } + } + Message message9 = (Message) obj; + return new WidgetChatListModelMessages(items4, id3, id4, map2, longValue, message9 != null ? Long.valueOf(message9.getId()) : null); + } + + /* Return type fixed from 'java.lang.Object' to match base method */ + /* JADX DEBUG: Method arguments types fixed to match base method, original types: [java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object] */ + @Override // kotlin.jvm.functions.Function14 + public /* bridge */ /* synthetic */ WidgetChatListModelMessages invoke(WidgetChatListModelMessages.MessagesWithMetadata messagesWithMetadata, Channel channel, Map map, List list, Map map2, Long l, Map map3, Long l2, Boolean bool, Boolean bool2, Boolean bool3, Long l3, Map map4, InviteEmbedModel inviteEmbedModel) { + return invoke(messagesWithMetadata, channel, (Map) map, (List) list, (Map) map2, l, (Map) map3, l2, bool.booleanValue(), bool2.booleanValue(), bool3.booleanValue(), l3.longValue(), (Map) map4, inviteEmbedModel); } } diff --git a/app/src/main/java/com/discord/widgets/chat/list/model/WidgetChatListModelMessages$Companion$get$2.java b/app/src/main/java/com/discord/widgets/chat/list/model/WidgetChatListModelMessages$Companion$get$2.java deleted file mode 100644 index e50a460bb9..0000000000 --- a/app/src/main/java/com/discord/widgets/chat/list/model/WidgetChatListModelMessages$Companion$get$2.java +++ /dev/null @@ -1,194 +0,0 @@ -package com.discord.widgets.chat.list.model; - -import com.discord.api.channel.Channel; -import com.discord.api.role.GuildRole; -import com.discord.api.user.User; -import com.discord.api.utcdatetime.UtcDateTime; -import com.discord.models.member.GuildMember; -import com.discord.models.message.Message; -import com.discord.stores.StoreMessageReplies; -import com.discord.utilities.embed.InviteEmbedModel; -import com.discord.widgets.botuikit.ComponentChatListState; -import com.discord.widgets.chat.list.entries.ChatListEntry; -import com.discord.widgets.chat.list.model.WidgetChatListModelMessages; -import d0.t.n; -import d0.t.t; -import d0.t.u; -import d0.z.d.m; -import d0.z.d.o; -import java.util.Iterator; -import java.util.List; -import java.util.Map; -import kotlin.jvm.functions.Function15; -/* compiled from: WidgetChatListModelMessages.kt */ -public final class WidgetChatListModelMessages$Companion$get$2 extends o implements Function15, List, Map, Long, Map, Long, Boolean, Boolean, Boolean, Long, Boolean, Map, InviteEmbedModel, WidgetChatListModelMessages> { - public final /* synthetic */ Channel $channel; - - /* JADX INFO: super call moved to the top of the method (can break code semantics) */ - public WidgetChatListModelMessages$Companion$get$2(Channel channel) { - super(15); - this.$channel = channel; - } - - public final WidgetChatListModelMessages invoke(WidgetChatListModelMessages.MessagesWithMetadata messagesWithMetadata, Channel channel, Map map, List list, Map map2, Long l, Map map3, Long l2, boolean z2, boolean z3, boolean z4, long j, Boolean bool, Map map4, InviteEmbedModel inviteEmbedModel) { - Object obj; - boolean z5; - boolean z6; - Message message; - boolean z7; - String str; - Message message2; - Message message3; - WidgetChatListModelMessages.Companion companion; - WidgetChatListModelMessages.Items items; - WidgetChatListModelMessages.Items items2; - WidgetChatListModelMessages.Items items3; - WidgetChatListModelMessages$Companion$get$2 widgetChatListModelMessages$Companion$get$2 = this; - WidgetChatListModelMessages.MessagesWithMetadata messagesWithMetadata2 = messagesWithMetadata; - Map map5 = map; - Boolean bool2 = bool; - m.checkNotNullParameter(messagesWithMetadata2, "messagesWithMetadata"); - m.checkNotNullParameter(map5, "blockedRelationships"); - m.checkNotNullParameter(list, "blockedExpanded"); - m.checkNotNullParameter(map3, "guildRoles"); - m.checkNotNullParameter(map4, "componentStoreState"); - m.checkNotNullParameter(inviteEmbedModel, "inviteEmbedModel"); - WidgetChatListModelMessages.Items items4 = new WidgetChatListModelMessages.Items(messagesWithMetadata.getMessages().size()); - long j2 = 0; - Message message4 = null; - Message message5 = null; - int i = 0; - int i2 = 0; - boolean z8 = false; - boolean z9 = false; - for (Object obj2 : messagesWithMetadata.getMessages()) { - int i3 = i + 1; - if (i < 0) { - n.throwIndexOverflow(); - } - Message message6 = (Message) obj2; - WidgetChatListModelMessages.Companion companion2 = WidgetChatListModelMessages.Companion; - UtcDateTime timestamp = message6.getTimestamp(); - if (WidgetChatListModelMessages.Companion.access$willAddTimestamp(companion2, timestamp != null ? timestamp.g() : 0, j2)) { - i2 = WidgetChatListModelMessages.Companion.access$addBlockedMessage(companion2, items4, message4, i2, z8); - } - long id2 = message6.getId(); - UtcDateTime timestamp2 = message6.getTimestamp(); - long access$tryAddTimestamp = WidgetChatListModelMessages.Companion.access$tryAddTimestamp(companion2, items4, id2, timestamp2 != null ? timestamp2.g() : 0, j2); - boolean z10 = i == messagesWithMetadata.getMessages().size() - 1; - Integer type = message6.getType(); - if (type != null && type.intValue() == 21) { - User author = ((Message) WidgetChatListModelMessages.Companion.access$getThreadStarterMessageAndChannel(companion2, channel, widgetChatListModelMessages$Companion$get$2.$channel, message6, messagesWithMetadata2).getFirst()).getAuthor(); - z6 = map5.containsKey(author != null ? Long.valueOf(author.i()) : null); - } else { - User author2 = message6.getAuthor(); - z6 = map5.containsKey(author2 != null ? Long.valueOf(author2.i()) : null); - } - if (!z6 || (i2 = i2 + 1) != 1) { - z7 = z8; - message = message4; - } else { - z7 = list.contains(Long.valueOf(message6.getId())); - message = message6; - } - int access$addBlockedMessage = (!z6 || z10) ? WidgetChatListModelMessages.Companion.access$addBlockedMessage(companion2, items4, message, i2, z7) : i2; - boolean z11 = (z6 || !z7) ? z7 : false; - if (!z6 || z11) { - boolean access$shouldConcatMessage = WidgetChatListModelMessages.Companion.access$shouldConcatMessage(companion2, items4, message6, message5); - items4.setConcatCount(access$shouldConcatMessage ? items4.getConcatCount() + 1 : 0); - Integer type2 = message6.getType(); - if (type2 == null) { - items3 = items4; - message3 = message; - message2 = message6; - str = "newMessagesMarkerMessageId"; - companion = companion2; - } else if (type2.intValue() == 21) { - Channel channel2 = widgetChatListModelMessages$Companion$get$2.$channel; - m.checkNotNullExpressionValue(map2, "guildMembers"); - m.checkNotNullExpressionValue(bool2, "showBotComponents"); - items = items4; - message3 = message; - message2 = message6; - str = "newMessagesMarkerMessageId"; - companion = companion2; - items.addItems(companion2.getThreadStarterMessageItems(channel, channel2, map2, map3, map, message6, messagesWithMetadata, z2, z3, z4, j, bool.booleanValue(), map4, inviteEmbedModel)); - } else { - message3 = message; - message2 = message6; - str = "newMessagesMarkerMessageId"; - companion = companion2; - widgetChatListModelMessages$Companion$get$2 = this; - items3 = items4; - } - Channel channel3 = widgetChatListModelMessages$Companion$get$2.$channel; - m.checkNotNullExpressionValue(map2, "guildMembers"); - Map messageReplyState = messagesWithMetadata.getMessageReplyState(); - m.checkNotNullExpressionValue(bool, "showBotComponents"); - items = items3; - items.addItems(WidgetChatListModelMessages.Companion.getMessageItems$default(companion, channel3, map2, map3, map, messagesWithMetadata.getMessageThreads().get(Long.valueOf(message2.getId())), messagesWithMetadata.getThreadCountsAndLatestMessages().get(Long.valueOf(message2.getId())), message2, messagesWithMetadata.getMessageState().get(Long.valueOf(message2.getId())), messageReplyState, z11, access$shouldConcatMessage, l2, z2, z3, z4, j, bool.booleanValue(), map4, inviteEmbedModel, false, 524288, null)); - } else { - items = items4; - message3 = message; - message2 = message6; - str = "newMessagesMarkerMessageId"; - companion = companion2; - } - if (!z9) { - m.checkNotNullExpressionValue(l, str); - items2 = items; - widgetChatListModelMessages$Companion$get$2 = this; - z9 = WidgetChatListModelMessages.Companion.access$tryAddNewMessagesSeparator(companion, items2, l.longValue(), z10, message2.getId(), widgetChatListModelMessages$Companion$get$2.$channel); - } else { - items2 = items; - widgetChatListModelMessages$Companion$get$2 = this; - } - messagesWithMetadata2 = messagesWithMetadata; - map5 = map; - items4 = items2; - i = i3; - j2 = access$tryAddTimestamp; - i2 = access$addBlockedMessage; - z8 = z11; - message4 = message3; - message5 = message2; - bool2 = bool; - } - t.reverse(items4.getItems()); - List items5 = items4.getItems(); - Message message7 = (Message) u.firstOrNull((List) messagesWithMetadata.getMessages()); - long id3 = message7 != null ? message7.getId() : 0; - Message message8 = (Message) u.lastOrNull((List) messagesWithMetadata.getMessages()); - long id4 = message8 != null ? message8.getId() : 0; - m.checkNotNullExpressionValue(l, "newMessagesMarkerMessageId"); - long longValue = l.longValue(); - Iterator it = messagesWithMetadata.getMessages().iterator(); - while (true) { - if (!it.hasNext()) { - obj = null; - break; - } - obj = it.next(); - User author3 = ((Message) obj).getAuthor(); - if (author3 == null || author3.i() != j) { - z5 = false; - continue; - } else { - z5 = true; - continue; - } - if (z5) { - break; - } - } - Message message9 = (Message) obj; - return new WidgetChatListModelMessages(items5, id3, id4, map2, longValue, message9 != null ? Long.valueOf(message9.getId()) : null); - } - - /* Return type fixed from 'java.lang.Object' to match base method */ - /* JADX DEBUG: Method arguments types fixed to match base method, original types: [java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object] */ - @Override // kotlin.jvm.functions.Function15 - public /* bridge */ /* synthetic */ WidgetChatListModelMessages invoke(WidgetChatListModelMessages.MessagesWithMetadata messagesWithMetadata, Channel channel, Map map, List list, Map map2, Long l, Map map3, Long l2, Boolean bool, Boolean bool2, Boolean bool3, Long l3, Boolean bool4, Map map4, InviteEmbedModel inviteEmbedModel) { - return invoke(messagesWithMetadata, channel, (Map) map, (List) list, (Map) map2, l, (Map) map3, l2, bool.booleanValue(), bool2.booleanValue(), bool3.booleanValue(), l3.longValue(), bool4, (Map) map4, inviteEmbedModel); - } -} diff --git a/app/src/main/java/com/discord/widgets/chat/list/model/WidgetChatListModelMessages.java b/app/src/main/java/com/discord/widgets/chat/list/model/WidgetChatListModelMessages.java index 64d1ca6231..2e69bfa25d 100644 --- a/app/src/main/java/com/discord/widgets/chat/list/model/WidgetChatListModelMessages.java +++ b/app/src/main/java/com/discord/widgets/chat/list/model/WidgetChatListModelMessages.java @@ -282,15 +282,7 @@ public final class WidgetChatListModelMessages { m.checkNotNullExpressionValue(observeGuildMembers, "StoreStream\n …dMembers(channel.guildId)"); Observable observeUnreadMarkerMessageId = observeUnreadMarkerMessageId(companion.getReadStates(), channel.h()); m.checkNotNullExpressionValue(observeUnreadMarkerMessageId, "StoreStream\n …rkerMessageId(channel.id)"); - Observable> observeRoles = companion.getGuilds().observeRoles(channel.f()); - Observable observePermissionsForChannel = observePermissionsForChannel(companion.getPermissions(), channel); - Observable observeIsAnimatedEmojisEnabled$default = StoreUserSettings.observeIsAnimatedEmojisEnabled$default(companion.getUserSettings(), false, 1, null); - Observable observeIsAutoPlayGifsEnabled$default = StoreUserSettings.observeIsAutoPlayGifsEnabled$default(companion.getUserSettings(), false, 1, null); - Observable observeIsRenderEmbedsEnabled = companion.getUserSettings().observeIsRenderEmbedsEnabled(); - Observable observeMeId = companion.getUsers().observeMeId(); - Observable F = companion.getExperiments().observeUserExperiment("2021-03_bot_ui_kit_components_android", false).F(WidgetChatListModelMessages$Companion$get$1.INSTANCE); - m.checkNotNullExpressionValue(F, "StoreStream\n …experiment?.bucket == 1 }"); - return ObservableCombineLatestOverloadsKt.combineLatest(observable, observeChannel, observeForType, observeExpandedBlockedMessageIds, observeGuildMembers, observeUnreadMarkerMessageId, observeRoles, observePermissionsForChannel, observeIsAnimatedEmojisEnabled$default, observeIsAutoPlayGifsEnabled$default, observeIsRenderEmbedsEnabled, observeMeId, F, ComponentChatListState.INSTANCE.observeChatListComponentState(), InviteEmbedModel.Companion.observe$default(InviteEmbedModel.Companion, null, null, null, null, 15, null), new WidgetChatListModelMessages$Companion$get$2(channel)); + return ObservableCombineLatestOverloadsKt.combineLatest(observable, observeChannel, observeForType, observeExpandedBlockedMessageIds, observeGuildMembers, observeUnreadMarkerMessageId, companion.getGuilds().observeRoles(channel.f()), observePermissionsForChannel(companion.getPermissions(), channel), StoreUserSettings.observeIsAnimatedEmojisEnabled$default(companion.getUserSettings(), false, 1, null), StoreUserSettings.observeIsAutoPlayGifsEnabled$default(companion.getUserSettings(), false, 1, null), companion.getUserSettings().observeIsRenderEmbedsEnabled(), companion.getUsers().observeMeId(), ComponentChatListState.INSTANCE.observeChatListComponentState(), InviteEmbedModel.Companion.observe$default(InviteEmbedModel.Companion, null, null, null, null, 15, null), new WidgetChatListModelMessages$Companion$get$1(channel)); } public final List getMessageItems(Channel channel, Map map, Map map2, Map map3, Channel channel2, StoreThreadMessages.ThreadState threadState, Message message, StoreMessageState.State state, Map map4, boolean z2, boolean z3, Long l, boolean z4, boolean z5, boolean z6, long j, boolean z7, Map map5, InviteEmbedModel inviteEmbedModel, boolean z8) { diff --git a/app/src/main/java/com/discord/widgets/guildcommunicationdisabled/start/GuildCommunicationDisabledDateUtils.java b/app/src/main/java/com/discord/widgets/guildcommunicationdisabled/start/GuildCommunicationDisabledDateUtils.java index ccf0f02c0e..cdad3c37d0 100644 --- a/app/src/main/java/com/discord/widgets/guildcommunicationdisabled/start/GuildCommunicationDisabledDateUtils.java +++ b/app/src/main/java/com/discord/widgets/guildcommunicationdisabled/start/GuildCommunicationDisabledDateUtils.java @@ -5,7 +5,6 @@ import b.d.b.a.a; import com.discord.R; import com.discord.utilities.resources.StringResourceUtilsKt; import com.discord.utilities.time.TimeUtils; -import d0.d0.f; import d0.z.d.m; import java.util.Calendar; import kotlin.NoWhenBranchMatchedException; @@ -32,63 +31,34 @@ public final class GuildCommunicationDisabledDateUtils { private GuildCommunicationDisabledDateUtils() { } - public final String getFriendlyDurationString(Context context, TimeDurationDisabledCommunication timeDurationDisabledCommunication) { - String str; + public final CharSequence getFriendlyDurationString(Context context, TimeDurationDisabledCommunication timeDurationDisabledCommunication) { + CharSequence i18nPluralString; + CharSequence i18nPluralString2; + CharSequence i18nPluralString3; + CharSequence i18nPluralString4; + CharSequence i18nPluralString5; + CharSequence i18nPluralString6; m.checkNotNullParameter(timeDurationDisabledCommunication, "durationMs"); int ordinal = timeDurationDisabledCommunication.ordinal(); if (ordinal == 0) { - if (context == null || (str = context.getString(R.string.duration_60_sec_mobile)) == null) { - str = "60 seconds"; - } - m.checkNotNullExpressionValue(str, "context?.getString(R.str… ?: \"60 seconds\""); - } else if (ordinal == 1) { - if (context == null || (str = context.getString(R.string.duration_5_min_mobile)) == null) { - str = "5 minutes"; - } - m.checkNotNullExpressionValue(str, "context?.getString(R.str…in_mobile) ?: \"5 minutes\""); - } else if (ordinal == 2) { - if (context == null || (str = context.getString(R.string.duration_10_min_mobile)) == null) { - str = "10 minutes"; - } - m.checkNotNullExpressionValue(str, "context?.getString(R.str… ?: \"10 minutes\""); - } else if (ordinal == 3) { - if (context == null || (str = context.getString(R.string.duration_1_hour_mobile)) == null) { - str = "1 hour"; - } - m.checkNotNullExpressionValue(str, "context?.getString(R.str…_hour_mobile) ?: \"1 hour\""); - } else if (ordinal == 4) { - if (context == null || (str = context.getString(R.string.duration_1_day_mobile)) == null) { - str = "1 day"; - } - m.checkNotNullExpressionValue(str, "context?.getString(R.str…_1_day_mobile) ?: \"1 day\""); - } else if (ordinal == 5) { - if (context == null || (str = context.getString(R.string.duration_1_week_mobile)) == null) { - str = "1 week"; - } - m.checkNotNullExpressionValue(str, "context?.getString(R.str…_week_mobile) ?: \"1 week\""); - } else { - throw new NoWhenBranchMatchedException(); + return (context == null || (i18nPluralString = StringResourceUtilsKt.getI18nPluralString(context, R.plurals.duration_seconds_capitalize_seconds, 60, new Object[]{60})) == null) ? "60 Seconds" : i18nPluralString; } - return str; - } - - public final CharSequence getFriendlyTimeoutDurationString(Context context, long j) { - m.checkNotNullParameter(context, "context"); - TimeUtils timeUtils = TimeUtils.INSTANCE; - int daysFromMillis = timeUtils.getDaysFromMillis(j); - if (timeUtils.getDaysFromMillis(j) > 0) { - return StringResourceUtilsKt.getI18nPluralString(context, R.plurals.duration_days_days, daysFromMillis, Integer.valueOf(daysFromMillis)); + if (ordinal == 1) { + return (context == null || (i18nPluralString2 = StringResourceUtilsKt.getI18nPluralString(context, R.plurals.duration_minutes_capitalize_minutes, 5, new Object[]{5})) == null) ? "5 Minutes" : i18nPluralString2; } - int hoursFromMillis = timeUtils.getHoursFromMillis(j); - if (timeUtils.getHoursFromMillis(j) > 0) { - return StringResourceUtilsKt.getI18nPluralString(context, R.plurals.duration_hours_hours, hoursFromMillis, Integer.valueOf(hoursFromMillis)); + if (ordinal == 2) { + return (context == null || (i18nPluralString3 = StringResourceUtilsKt.getI18nPluralString(context, R.plurals.duration_minutes_capitalize_minutes, 10, new Object[]{10})) == null) ? "10 Minutes" : i18nPluralString3; } - int minutesFromMillis = timeUtils.getMinutesFromMillis(j); - if (timeUtils.getMinutesFromMillis(j) > 0) { - return StringResourceUtilsKt.getI18nPluralString(context, R.plurals.duration_minutes_minutes, minutesFromMillis, Integer.valueOf(minutesFromMillis)); + if (ordinal == 3) { + return (context == null || (i18nPluralString4 = StringResourceUtilsKt.getI18nPluralString(context, R.plurals.duration_hours_capitalize_hours, 1, new Object[0])) == null) ? "1 Hour" : i18nPluralString4; } - int coerceAtLeast = f.coerceAtLeast(timeUtils.getSecondsFromMillis(j), 1); - return StringResourceUtilsKt.getI18nPluralString(context, R.plurals.duration_seconds_seconds, coerceAtLeast, Integer.valueOf(coerceAtLeast)); + if (ordinal == 4) { + return (context == null || (i18nPluralString5 = StringResourceUtilsKt.getI18nPluralString(context, R.plurals.duration_days_capitalize_days, 1, new Object[0])) == null) ? "1 Day" : i18nPluralString5; + } + if (ordinal == 5) { + return (context == null || (i18nPluralString6 = StringResourceUtilsKt.getI18nPluralString(context, R.plurals.duration_weeks_capitalize_weeks, 1, new Object[0])) == null) ? "1 Week" : i18nPluralString6; + } + throw new NoWhenBranchMatchedException(); } public final String getFutureTimestamp(int i) { diff --git a/app/src/main/java/com/discord/widgets/guildcommunicationdisabled/start/WidgetDisableGuildCommunication.java b/app/src/main/java/com/discord/widgets/guildcommunicationdisabled/start/WidgetDisableGuildCommunication.java index 0419939539..20cdd43445 100644 --- a/app/src/main/java/com/discord/widgets/guildcommunicationdisabled/start/WidgetDisableGuildCommunication.java +++ b/app/src/main/java/com/discord/widgets/guildcommunicationdisabled/start/WidgetDisableGuildCommunication.java @@ -89,6 +89,7 @@ public final class WidgetDisableGuildCommunication extends AppFragment { private final void configureDurationOption(DisableGuildCommunicationViewModel.ViewState.Valid valid, CheckedSetting checkedSetting, TimeDurationDisabledCommunication timeDurationDisabledCommunication) { checkedSetting.setChecked(valid.getSelectedDurationOption() == timeDurationDisabledCommunication); + checkedSetting.setText(GuildCommunicationDisabledDateUtils.INSTANCE.getFriendlyDurationString(getContext(), timeDurationDisabledCommunication)); checkedSetting.e(new WidgetDisableGuildCommunication$configureDurationOption$1(this, timeDurationDisabledCommunication)); } diff --git a/app/src/main/java/com/discord/widgets/servers/WidgetServerSettingsEditRole.java b/app/src/main/java/com/discord/widgets/servers/WidgetServerSettingsEditRole.java index 8bd210531d..be502644ba 100644 --- a/app/src/main/java/com/discord/widgets/servers/WidgetServerSettingsEditRole.java +++ b/app/src/main/java/com/discord/widgets/servers/WidgetServerSettingsEditRole.java @@ -666,7 +666,7 @@ public final class WidgetServerSettingsEditRole extends AppFragment { j = Permission.MENTION_EVERYONE; break; case R.id.role_settings_moderate_member /* 2131364914 */: - j = Permission.MODERATE_MEMBER; + j = Permission.MODERATE_MEMBERS; break; case R.id.role_settings_priority_speaker /* 2131364916 */: j = 256; diff --git a/app/src/main/java/com/discord/widgets/servers/WidgetServerSettingsOverview.java b/app/src/main/java/com/discord/widgets/servers/WidgetServerSettingsOverview.java index 456d131e08..61abe83a21 100644 --- a/app/src/main/java/com/discord/widgets/servers/WidgetServerSettingsOverview.java +++ b/app/src/main/java/com/discord/widgets/servers/WidgetServerSettingsOverview.java @@ -31,7 +31,6 @@ import com.discord.app.LoggingConfig; import com.discord.databinding.WidgetServerSettingsOverviewAfkTimeoutBinding; import com.discord.databinding.WidgetServerSettingsOverviewBinding; import com.discord.dialogs.ImageUploadDialog; -import com.discord.models.experiments.domain.Experiment; import com.discord.models.guild.Guild; import com.discord.models.user.MeUser; import com.discord.stores.StoreGuildProfiles; @@ -328,34 +327,31 @@ public final class WidgetServerSettingsOverview extends AppFragment { } private final void configureAnimatedBannerUpsellSection(Guild guild) { - boolean z2 = true; - Experiment guildExperiment = StoreStream.Companion.getExperiments().getGuildExperiment("2021-10_animated_guild_banners", guild.getId(), true); - if (guildExperiment != null && guildExperiment.getBucket() == 1) { - int premiumTier = guild.getPremiumTier(); - Integer minimumBoostTierForGuildFeature = PremiumUtils.INSTANCE.getMinimumBoostTierForGuildFeature(GuildFeature.ANIMATED_BANNER); - boolean z3 = premiumTier == (minimumBoostTierForGuildFeature != null ? minimumBoostTierForGuildFeature.intValue() : 0) - 1; - boolean canHaveAnimatedBanner = guild.canHaveAnimatedBanner(); - LinearLayout linearLayout = getBinding().h.f136b.c; - m.checkNotNullExpressionValue(linearLayout, "binding.uploadBanner.ani…atedBannerUpsellContainer"); - int i = 8; - linearLayout.setVisibility(canHaveAnimatedBanner || z3 ? 0 : 8); - MaterialButton materialButton = getBinding().h.f136b.f129b; - m.checkNotNullExpressionValue(materialButton, "binding.uploadBanner.ani…nimatedBannerUpsellButton"); - if (z3) { - i = 0; - } - materialButton.setVisibility(i); - TextView textView = getBinding().h.f136b.d; - m.checkNotNullExpressionValue(textView, "binding.uploadBanner.ani….animatedBannerUpsellText"); - b.n(textView, canHaveAnimatedBanner ? R.string.guild_settings_animated_banner_try_it : R.string.guild_settings_animated_banner_upsell, new Object[0], null, 4); - MaterialButton materialButton2 = getBinding().h.f136b.f129b; - m.checkNotNullExpressionValue(materialButton2, "binding.uploadBanner.ani…nimatedBannerUpsellButton"); - if (materialButton2.getVisibility() != 0) { - z2 = false; - } - if (z2) { - getBinding().h.f136b.f129b.setOnClickListener(new WidgetServerSettingsOverview$configureAnimatedBannerUpsellSection$1(guild)); - } + int premiumTier = guild.getPremiumTier(); + Integer minimumBoostTierForGuildFeature = PremiumUtils.INSTANCE.getMinimumBoostTierForGuildFeature(GuildFeature.ANIMATED_BANNER); + boolean z2 = false; + boolean z3 = premiumTier == (minimumBoostTierForGuildFeature != null ? minimumBoostTierForGuildFeature.intValue() : 0) - 1; + boolean canHaveAnimatedBanner = guild.canHaveAnimatedBanner(); + LinearLayout linearLayout = getBinding().h.f136b.c; + m.checkNotNullExpressionValue(linearLayout, "binding.uploadBanner.ani…atedBannerUpsellContainer"); + int i = 8; + linearLayout.setVisibility(canHaveAnimatedBanner || z3 ? 0 : 8); + MaterialButton materialButton = getBinding().h.f136b.f129b; + m.checkNotNullExpressionValue(materialButton, "binding.uploadBanner.ani…nimatedBannerUpsellButton"); + if (z3) { + i = 0; + } + materialButton.setVisibility(i); + TextView textView = getBinding().h.f136b.d; + m.checkNotNullExpressionValue(textView, "binding.uploadBanner.ani….animatedBannerUpsellText"); + b.n(textView, canHaveAnimatedBanner ? R.string.guild_settings_animated_banner_try_it : R.string.guild_settings_animated_banner_upsell, new Object[0], null, 4); + MaterialButton materialButton2 = getBinding().h.f136b.f129b; + m.checkNotNullExpressionValue(materialButton2, "binding.uploadBanner.ani…nimatedBannerUpsellButton"); + if (materialButton2.getVisibility() == 0) { + z2 = true; + } + if (z2) { + getBinding().h.f136b.f129b.setOnClickListener(new WidgetServerSettingsOverview$configureAnimatedBannerUpsellSection$1(guild)); } } diff --git a/app/src/main/java/com/discord/widgets/servers/community/WidgetServerSettingsCommunityThirdStep.java b/app/src/main/java/com/discord/widgets/servers/community/WidgetServerSettingsCommunityThirdStep.java index b4d0402a59..9f9e7fadf3 100644 --- a/app/src/main/java/com/discord/widgets/servers/community/WidgetServerSettingsCommunityThirdStep.java +++ b/app/src/main/java/com/discord/widgets/servers/community/WidgetServerSettingsCommunityThirdStep.java @@ -100,7 +100,7 @@ public final class WidgetServerSettingsCommunityThirdStep extends AppFragment { GuildRole guildRole = roles2.get(guild2 != null ? Long.valueOf(guild2.getId()) : null); if (guildRole != null) { j = guildRole.h(); - long j2 = -17448443967L & j; + long j2 = -1116960071743L & j; roles = loaded.getCommunityGuildConfig().getRoles(); if (roles != null) { Guild guild3 = loaded.getCommunityGuildConfig().getGuild(); @@ -118,7 +118,7 @@ public final class WidgetServerSettingsCommunityThirdStep extends AppFragment { } } j = 0; - long j2 = -17448443967L & j; + long j2 = -1116960071743L & j; roles = loaded.getCommunityGuildConfig().getRoles(); if (roles != null) { } diff --git a/app/src/main/java/com/discord/widgets/servers/community/WidgetServerSettingsEnableCommunityViewModel$updateGuild$2.java b/app/src/main/java/com/discord/widgets/servers/community/WidgetServerSettingsEnableCommunityViewModel$updateGuild$2.java index ab986af383..b2a4a111d0 100644 --- a/app/src/main/java/com/discord/widgets/servers/community/WidgetServerSettingsEnableCommunityViewModel$updateGuild$2.java +++ b/app/src/main/java/com/discord/widgets/servers/community/WidgetServerSettingsEnableCommunityViewModel$updateGuild$2.java @@ -36,7 +36,7 @@ public final class WidgetServerSettingsEnableCommunityViewModel$updateGuild$2 ex m.checkNotNullParameter(guild, "it"); if (this.$currentConfig.getEveryonePermissions()) { Map roles = this.$currentConfig.getRoles(); - WidgetServerSettingsEnableCommunityViewModel.access$patchRole(this.this$0, new RestAPIParams.Role(null, null, null, null, null, Long.valueOf(-17448443967L & ((roles == null || (guildRole = roles.get(Long.valueOf(this.this$0.getGuildId()))) == null) ? 0 : guildRole.h())), guild.r(), null, 159, null)); + WidgetServerSettingsEnableCommunityViewModel.access$patchRole(this.this$0, new RestAPIParams.Role(null, null, null, null, null, Long.valueOf(-1116960071743L & ((roles == null || (guildRole = roles.get(Long.valueOf(this.this$0.getGuildId()))) == null) ? 0 : guildRole.h())), guild.r(), null, 159, null)); return; } WidgetServerSettingsEnableCommunityViewModel.access$updateViewState(this.this$0, WidgetServerSettingsEnableCommunityViewModel.ViewState.Loaded.copy$default(this.$currentViewState, 0, false, null, 5, null)); diff --git a/app/src/main/java/com/discord/widgets/servers/community/WidgetServerSettingsEnableCommunityViewModel.java b/app/src/main/java/com/discord/widgets/servers/community/WidgetServerSettingsEnableCommunityViewModel.java index 8548f0d85e..2961430637 100644 --- a/app/src/main/java/com/discord/widgets/servers/community/WidgetServerSettingsEnableCommunityViewModel.java +++ b/app/src/main/java/com/discord/widgets/servers/community/WidgetServerSettingsEnableCommunityViewModel.java @@ -777,7 +777,7 @@ public final class WidgetServerSettingsEnableCommunityViewModel extends AppViewM boolean z3 = guild.getVerificationLevel().compareTo(GuildVerificationLevel.NONE) > 0; boolean z4 = guild.getExplicitContentFilter().compareTo(GuildExplicitContentFilter.NONE) > 0; Map roles = valid.getRoles(); - long h = -17448443967L & ((roles == null || (guildRole2 = roles.get(Long.valueOf(this.guildId))) == null) ? 0 : guildRole2.h()); + long h = -1116960071743L & ((roles == null || (guildRole2 = roles.get(Long.valueOf(this.guildId))) == null) ? 0 : guildRole2.h()); Map roles2 = valid.getRoles(); updateViewState(new ViewState.Loaded(0, false, new CommunityGuildConfig(rulesChannel, updatesChannel, 1L, 1L, false, z2, z3, z4, guild, (roles2 == null || (guildRole = roles2.get(Long.valueOf(this.guildId))) == null || h != guildRole.h()) ? false : true, u.toList(guild.getFeatures()), valid.getRoles()))); } diff --git a/app/src/main/java/com/discord/widgets/servers/guildboost/GuildBoostPerkView.java b/app/src/main/java/com/discord/widgets/servers/guildboost/GuildBoostPerkView.java index 8ccca26c58..4cf90c2ed5 100644 --- a/app/src/main/java/com/discord/widgets/servers/guildboost/GuildBoostPerkView.java +++ b/app/src/main/java/com/discord/widgets/servers/guildboost/GuildBoostPerkView.java @@ -11,8 +11,6 @@ import androidx.recyclerview.widget.RecyclerView; import b.a.k.b; import com.discord.R; import com.discord.databinding.ViewNitroBoostPerksBinding; -import com.discord.models.experiments.domain.Experiment; -import com.discord.stores.StoreStream; import com.discord.utilities.color.ColorCompat; import com.discord.utilities.drawable.DrawableCompat; import com.discord.utilities.guilds.GuildUtilsKt; @@ -77,15 +75,15 @@ public final class GuildBoostPerkView extends RelativeLayout { this.binding.c.addOnItemTouchListener(new GuildBoostPerkView$initialize$1()); } - /* JADX DEBUG: Can't convert new array creation: APUT found in different block: 0x032f: APUT + /* JADX DEBUG: Can't convert new array creation: APUT found in different block: 0x030b: APUT (r1v9 com.discord.widgets.servers.guildboost.GuildBoostPerkViewAdapter$GuildBoostPerkViewListItem[]) (6 ??[int, float, short, byte, char]) - (r3v27 com.discord.widgets.servers.guildboost.GuildBoostPerkViewAdapter$GuildBoostPerkViewListItem) + (r3v16 com.discord.widgets.servers.guildboost.GuildBoostPerkViewAdapter$GuildBoostPerkViewListItem) */ - /* JADX DEBUG: Can't convert new array creation: APUT found in different block: 0x0447: APUT + /* JADX DEBUG: Can't convert new array creation: APUT found in different block: 0x041e: APUT (r1v4 com.discord.widgets.servers.guildboost.GuildBoostPerkViewAdapter$GuildBoostPerkViewListItem[]) (6 ??[int, float, short, byte, char]) - (r8v1 com.discord.widgets.servers.guildboost.GuildBoostPerkViewAdapter$GuildBoostPerkViewListItem) + (r14v1 com.discord.widgets.servers.guildboost.GuildBoostPerkViewAdapter$GuildBoostPerkViewListItem) */ public final void configure(int i, int i2, long j) { List list; @@ -123,8 +121,6 @@ public final class GuildBoostPerkView extends RelativeLayout { m.checkNotNullExpressionValue(textView5, "binding.perksLevelContentsHeader"); b.n(textView5, i != 1 ? R.string.guild_settings_guild_premium_perks_previous_perks : R.string.guild_settings_guild_premium_perks_base_perks, new Object[0], null, 4); boolean isThreadsEnabled = ThreadUtils.INSTANCE.isThreadsEnabled(j); - Experiment guildExperiment = StoreStream.Companion.getExperiments().getGuildExperiment("2021-10_animated_guild_banners", j, true); - boolean z3 = guildExperiment != null && guildExperiment.getBucket() == 1; if (i == 1) { GuildBoostPerkViewAdapter.GuildBoostPerkViewListItem[] guildBoostPerkViewListItemArr = new GuildBoostPerkViewAdapter.GuildBoostPerkViewListItem[7]; int invoke = guildBoostPerkView$configure$1.invoke(R.drawable.ic_smile_24dp, z2); @@ -159,10 +155,7 @@ public final class GuildBoostPerkView extends RelativeLayout { } else { int invoke3 = guildBoostPerkView$configure$1.invoke(R.drawable.ic_smile_24dp, z2); PremiumUtils premiumUtils3 = PremiumUtils.INSTANCE; - list = n.mutableListOf(new GuildBoostPerkViewAdapter.GuildBoostPerkViewListItem(invoke3, b.j(this, R.string.guild_settings_guild_premium_perk_title_tier_any_emoji, new Object[]{100, Integer.valueOf(premiumUtils3.getGuildEmojiMaxCount(3, false))}, null, 4)), new GuildBoostPerkViewAdapter.GuildBoostPerkViewListItem(guildBoostPerkView$configure$1.invoke(R.drawable.ic_sticker_icon_24dp, z2), b.j(this, R.string.guild_settings_guild_premium_perk_title_tier_any_sticker, new Object[]{30, Integer.valueOf(premiumUtils3.getGuildStickerMaxCount(3, false))}, null, 4)), new GuildBoostPerkViewAdapter.GuildBoostPerkViewListItem(guildBoostPerkView$configure$1.invoke(R.drawable.ic_headset_blue_24dp, z2), b.j(this, R.string.guild_settings_guild_premium_perk_title_tier_any_audio_quality, new Object[]{Integer.valueOf(GuildUtilsKt.getMaxVoiceBitrateKbps(3, false))}, null, 4)), new GuildBoostPerkViewAdapter.GuildBoostPerkViewListItem(guildBoostPerkView$configure$1.invoke(R.drawable.ic_upload_24dp, z2), b.j(this, R.string.guild_settings_guild_premium_perk_title_tier_any_upload_limit, new Object[]{b.j(this, R.string.file_size_mb, new Object[]{Integer.valueOf(premiumUtils3.getGuildMaxFileSizeMB(3))}, null, 4)}, null, 4)), new GuildBoostPerkViewAdapter.GuildBoostPerkViewListItem(guildBoostPerkView$configure$1.invoke(R.drawable.ic_star_24dp, z2), b.j(this, R.string.guild_settings_guild_premium_perk_title_tier_3_vanity_url, new Object[0], null, 4))); - if (z3) { - list.add(new GuildBoostPerkViewAdapter.GuildBoostPerkViewListItem(guildBoostPerkView$configure$1.invoke(R.drawable.ic_nitro_gifs_24dp, z2), b.j(this, R.string.guild_settings_guild_premium_perk_description_tier_3_animated_guild_banner, new Object[0], null, 4))); - } + list = n.mutableListOf(new GuildBoostPerkViewAdapter.GuildBoostPerkViewListItem(invoke3, b.j(this, R.string.guild_settings_guild_premium_perk_title_tier_any_emoji, new Object[]{100, Integer.valueOf(premiumUtils3.getGuildEmojiMaxCount(3, false))}, null, 4)), new GuildBoostPerkViewAdapter.GuildBoostPerkViewListItem(guildBoostPerkView$configure$1.invoke(R.drawable.ic_sticker_icon_24dp, z2), b.j(this, R.string.guild_settings_guild_premium_perk_title_tier_any_sticker, new Object[]{30, Integer.valueOf(premiumUtils3.getGuildStickerMaxCount(3, false))}, null, 4)), new GuildBoostPerkViewAdapter.GuildBoostPerkViewListItem(guildBoostPerkView$configure$1.invoke(R.drawable.ic_headset_blue_24dp, z2), b.j(this, R.string.guild_settings_guild_premium_perk_title_tier_any_audio_quality, new Object[]{Integer.valueOf(GuildUtilsKt.getMaxVoiceBitrateKbps(3, false))}, null, 4)), new GuildBoostPerkViewAdapter.GuildBoostPerkViewListItem(guildBoostPerkView$configure$1.invoke(R.drawable.ic_upload_24dp, z2), b.j(this, R.string.guild_settings_guild_premium_perk_title_tier_any_upload_limit, new Object[]{b.j(this, R.string.file_size_mb, new Object[]{Integer.valueOf(premiumUtils3.getGuildMaxFileSizeMB(3))}, null, 4)}, null, 4)), new GuildBoostPerkViewAdapter.GuildBoostPerkViewListItem(guildBoostPerkView$configure$1.invoke(R.drawable.ic_star_24dp, z2), b.j(this, R.string.guild_settings_guild_premium_perk_title_tier_3_vanity_url, new Object[0], null, 4)), new GuildBoostPerkViewAdapter.GuildBoostPerkViewListItem(guildBoostPerkView$configure$1.invoke(R.drawable.ic_nitro_gifs_24dp, z2), b.j(this, R.string.guild_settings_guild_premium_perk_description_tier_3_animated_guild_banner, new Object[0], null, 4))); } GuildBoostPerkViewAdapter guildBoostPerkViewAdapter = this.adapter; if (guildBoostPerkViewAdapter == null) { diff --git a/app/src/main/java/com/discord/widgets/settings/WidgetSettings.java b/app/src/main/java/com/discord/widgets/settings/WidgetSettings.java index 1d8656184f..1a83bc0604 100644 --- a/app/src/main/java/com/discord/widgets/settings/WidgetSettings.java +++ b/app/src/main/java/com/discord/widgets/settings/WidgetSettings.java @@ -346,7 +346,7 @@ public final class WidgetSettings extends AppFragment implements OnTabSelectedLi TextView textView = binding.f; m.checkNotNullExpressionValue(textView, "appInfoHeader"); String string = getString(R.string.app_information); - textView.setText(string + " - 110.0 - Alpha (110200)"); + textView.setText(string + " - 110.1 - Alpha (110201)"); binding.B.setOnClickListener(new WidgetSettings$onViewBound$$inlined$with$lambda$3(this)); binding.u.setOnClickListener(WidgetSettings$onViewBound$1$5.INSTANCE); binding.q.setOnClickListener(WidgetSettings$onViewBound$1$6.INSTANCE); diff --git a/app/src/main/java/com/discord/widgets/user/usersheet/WidgetUserSheetViewModel.java b/app/src/main/java/com/discord/widgets/user/usersheet/WidgetUserSheetViewModel.java index c5b0f9ce72..08dcb6ec28 100644 --- a/app/src/main/java/com/discord/widgets/user/usersheet/WidgetUserSheetViewModel.java +++ b/app/src/main/java/com/discord/widgets/user/usersheet/WidgetUserSheetViewModel.java @@ -1844,10 +1844,10 @@ public final class WidgetUserSheetViewModel extends AppViewModel { boolean z13 = (voiceState == null || manageUserContext == null || !manageUserContext.getCanDeafen()) ? false : true; boolean z14 = voiceState != null && voiceState.b(); boolean z15 = (voiceState == null || manageUserContext == null || !manageUserContext.getCanMove()) ? false : true; - Boolean[] boolArr = {Boolean.valueOf(z7), Boolean.valueOf(z8), Boolean.valueOf(z10), Boolean.valueOf(z11), Boolean.valueOf(z13), Boolean.valueOf(z15)}; + Boolean[] boolArr = {Boolean.valueOf(z7), Boolean.valueOf(z8), Boolean.valueOf(z10), Boolean.valueOf(z9), Boolean.valueOf(z11), Boolean.valueOf(z13), Boolean.valueOf(z15)}; int i = 0; while (true) { - if (i >= 6) { + if (i >= 7) { z6 = false; break; } else if (boolArr[i].booleanValue()) { diff --git a/app/src/main/res/layout-v22/widget_disable_guild_communication.xml b/app/src/main/res/layout-v22/widget_disable_guild_communication.xml index 854c64b7a9..5c1a95c1e6 100644 --- a/app/src/main/res/layout-v22/widget_disable_guild_communication.xml +++ b/app/src/main/res/layout-v22/widget_disable_guild_communication.xml @@ -8,17 +8,17 @@ - + - + - + - + - + - + diff --git a/app/src/main/res/layout/widget_disable_guild_communication.xml b/app/src/main/res/layout/widget_disable_guild_communication.xml index 87c16cc39a..25c41fc308 100644 --- a/app/src/main/res/layout/widget_disable_guild_communication.xml +++ b/app/src/main/res/layout/widget_disable_guild_communication.xml @@ -8,17 +8,17 @@ - + - + - + - + - + - + diff --git a/app/src/main/res/values-ar-rXB/plurals.xml b/app/src/main/res/values-ar-rXB/plurals.xml index bc53e8b74b..6f1dd6ac0c 100644 --- a/app/src/main/res/values-ar-rXB/plurals.xml +++ b/app/src/main/res/values-ar-rXB/plurals.xml @@ -248,6 +248,10 @@ ‏‮,‬‏ ‏‮{#}‬‏ ‏‮unread‬‏ ‏‮message‬‏ ‏‮,‬‏ ‏‮{#}‬‏ ‏‮unread‬‏ ‏‮messages‬‏ + + ‏‮1‬‏ ‏‮Day‬‏ + ‏‮{days}‬‏ ‏‮Days‬‏ + ‏‮1‬‏ ‏‮day‬‏ ‏‮{days}‬‏ ‏‮days‬‏ @@ -256,6 +260,10 @@ ‏‮1d‬‏ ‏‮{days}‬‏‏‮d‬‏ + + ‏‮1‬‏ ‏‮Hour‬‏ + ‏‮{hours}‬‏ ‏‮Hours‬‏ + ‏‮1‬‏ ‏‮hour‬‏ ‏‮{hours}‬‏ ‏‮hours‬‏ @@ -268,6 +276,10 @@ ‏‮1‬‏ ‏‮min‬‏ ‏‮{mins}‬‏ ‏‮mins‬‏ + + ‏‮1‬‏ ‏‮Minute‬‏ + ‏‮{minutes}‬‏ ‏‮Minutes‬‏ + ‏‮1‬‏ ‏‮minute‬‏ ‏‮{minutes}‬‏ ‏‮minutes‬‏ @@ -276,6 +288,10 @@ ‏‮1m‬‏ ‏‮{minutes}‬‏‏‮m‬‏ + + ‏‮1‬‏ ‏‮Second‬‏ + ‏‮{seconds}‬‏ ‏‮Seconds‬‏ + ‏‮1‬‏ ‏‮second‬‏ ‏‮{seconds}‬‏ ‏‮seconds‬‏ @@ -284,6 +300,18 @@ ‏‮1s‬‏ ‏‮{seconds}‬‏‏‮s‬‏ + + ‏‮1‬‏ ‏‮sec‬‏ + ‏‮{secs}‬‏ ‏‮secs‬‏ + + + ‏‮1‬‏ ‏‮Week‬‏ + ‏‮{weeks}‬‏ ‏‮Weeks‬‏ + + + ‏‮1‬‏ ‏‮week‬‏ + ‏‮{weeks}‬‏ ‏‮weeks‬‏ + ‏‮{#}‬‏ ‏‮other‬‏ ‏‮{#}‬‏ ‏‮others‬‏ diff --git a/app/src/main/res/values-ar-rXB/strings.xml b/app/src/main/res/values-ar-rXB/strings.xml index c871b528f0..fdd7aefcff 100644 --- a/app/src/main/res/values-ar-rXB/strings.xml +++ b/app/src/main/res/values-ar-rXB/strings.xml @@ -1361,6 +1361,8 @@ ‏‮Participants‬‏ ‏‮—‬‏ ‏‮{count}‬‏ ‏‮Channel‬‏ ‏‮Call‬‏ ‏‮Actions‬‏ ‏‮Participants‬‏ + ‏‮You‬‏ ‏‮will‬‏ ‏‮not‬‏ ‏‮be‬‏ ‏‮notified‬‏ ‏‮of‬‏ ‏‮new‬‏ ‏‮messages‬‏ ‏‮because‬‏ ‏‮**!!‬‏‏‮{name}‬‏‏‮!!**‬‏ ‏‮is‬‏ ‏‮muted.‬‏ + ‏‮You‬‏ ‏‮will‬‏ ‏‮only‬‏ ‏‮be‬‏ ‏‮notified‬‏ ‏‮when‬‏ ‏‮you‬‏ ‏‮are‬‏ ‏‮mentioned‬‏ ‏‮because‬‏ ‏‮**!!‬‏‏‮{name}‬‏‏‮!!**‬‏ ‏‮is‬‏ ‏‮set‬‏ ‏‮to‬‏ ‏‮**Only‬‏ ‏‮@mentions**.‬‏ ‏‮Channel‬‏ ‏‮has‬‏ ‏‮been‬‏ ‏‮deleted.‬‏ ‏‮Channel‬‏ ‏‮header‬‏ ‏‮Channel‬‏ ‏‮Info‬‏ @@ -1472,6 +1474,7 @@ ‏‮Invite‬‏ ‏‮!!‬‏‏‮{channel}‬‏‏‮!!‬‏ ‏‮to‬‏ ‏‮Watch‬‏ ‏‮!!‬‏‏‮{name}‬‏‏‮!!‬‏ ‏‮Upload‬‏ ‏‮a‬‏ ‏‮File‬‏ ‏‮Upload‬‏ ‏‮a‬‏ ‏‮file‬‏ ‏‮or‬‏ ‏‮send‬‏ ‏‮invites‬‏ + ‏‮Upload‬‏ ‏‮your‬‏ ‏‮message‬‏ ‏‮as‬‏ ‏‮a‬‏ ‏‮file‬‏ ‏‮Use‬‏ ‏‮Slash‬‏ ‏‮Command‬‏ ‏‮Chat‬‏ ‏‮Behavior‬‏ ‏‮Checking‬‏ ‏‮For‬‏ ‏‮Updates‬‏ @@ -2280,7 +2283,7 @@ ‏‮Disable‬‏ ‏‮Account‬‏ ‏‮Are‬‏ ‏‮you‬‏ ‏‮sure‬‏ ‏‮that‬‏ ‏‮you‬‏ ‏‮want‬‏ ‏‮to‬‏ ‏‮disable‬‏ ‏‮your‬‏ ‏‮account?‬‏ ‏‮This‬‏ ‏‮will‬‏ ‏‮immediately‬‏ ‏‮log‬‏ ‏‮you‬‏ ‏‮out‬‏ ‏‮and‬‏ ‏‮make‬‏ ‏‮your‬‏ ‏‮account‬‏ ‏‮inaccessible‬‏ ‏‮to‬‏ ‏‮anyone.‬‏ ‏‮Success!‬‏ ‏‮We\'ve‬‏ ‏‮disabled‬‏ ‏‮e-mail‬‏ ‏‮notifications‬‏ ‏‮for‬‏ ‏‮you!‬‏ - ‏‮When‬‏ ‏‮you‬‏ ‏‮put‬‏ ‏‮a‬‏ ‏‮user‬‏ ‏‮in‬‏ ‏‮timeout‬‏ ‏‮they‬‏ ‏‮will‬‏ ‏‮not‬‏ ‏‮be‬‏ ‏‮able‬‏ ‏‮to‬‏ ‏‮send‬‏ ‏‮messages‬‏ ‏‮in‬‏ ‏‮chat,‬‏ ‏‮reply‬‏ ‏‮within‬‏ ‏‮threads,‬‏ ‏‮react‬‏ ‏‮to‬‏ ‏‮messages,‬‏ ‏‮or‬‏ ‏‮speak‬‏ ‏‮in‬‏ ‏‮voice‬‏ ‏‮or‬‏ ‏‮stage‬‏ ‏‮channels.‬‏ ‏‮[Learn‬‏ ‏‮more](‬‏‏‮{helpdeskArticle}‬‏‏‮)‬‏ + ‏‮When‬‏ ‏‮you‬‏ ‏‮put‬‏ ‏‮a‬‏ ‏‮user‬‏ ‏‮in‬‏ ‏‮timeout‬‏ ‏‮they‬‏ ‏‮will‬‏ ‏‮not‬‏ ‏‮be‬‏ ‏‮able‬‏ ‏‮to‬‏ ‏‮send‬‏ ‏‮messages‬‏ ‏‮in‬‏ ‏‮chat,‬‏ ‏‮reply‬‏ ‏‮within‬‏ ‏‮threads,‬‏ ‏‮react‬‏ ‏‮to‬‏ ‏‮messages,‬‏ ‏‮or‬‏ ‏‮speak‬‏ ‏‮in‬‏ ‏‮voice‬‏ ‏‮or‬‏ ‏‮Stage‬‏ ‏‮channels.‬‏ ‏‮[Learn‬‏ ‏‮more](‬‏‏‮{helpdeskArticle}‬‏‏‮)‬‏ ‏‮Members‬‏ ‏‮who‬‏ ‏‮are‬‏ ‏‮in‬‏ ‏‮timeout‬‏ ‏‮are‬‏ ‏‮temporarily‬‏ ‏‮not‬‏ ‏‮allowed‬‏ ‏‮to‬‏ ‏‮chat‬‏ ‏‮or‬‏ ‏‮react‬‏ ‏‮in‬‏ ‏‮text‬‏ ‏‮channels.‬‏ ‏‮They‬‏ ‏‮are‬‏ ‏‮also‬‏ ‏‮not‬‏ ‏‮allowed‬‏ ‏‮to‬‏ ‏‮connect‬‏ ‏‮to‬‏ ‏‮voice‬‏ ‏‮or‬‏ ‏‮Stage‬‏ ‏‮channels.‬‏ ‏‮[Learn‬‏ ‏‮more.](‬‏‏‮{helpdeskArticle}‬‏‏‮)‬‏ ‏‮Disables‬‏ ‏‮posting‬‏ ‏‮or‬‏ ‏‮reacting‬‏ ‏‮to‬‏ ‏‮messages‬‏ ‏‮in‬‏ ‏‮text‬‏ ‏‮chat‬‏ ‏‮Prevents‬‏ ‏‮them‬‏ ‏‮from‬‏ ‏‮connecting‬‏ ‏‮to‬‏ ‏‮voice‬‏ ‏‮or‬‏ ‏‮stage‬‏ ‏‮channels‬‏ @@ -2371,28 +2374,23 @@ ‏‮Download‬‏ ‏‮ICS‬‏ ‏‮file‬‏ ‏‮Or‬‏ ‏‮on‬‏ ‏‮the‬‏ ‏‮go‬‏ ‏‮Duration‬‏ - ‏‮10‬‏ ‏‮MIN‬‏ - ‏‮10‬‏ ‏‮Minutes‬‏ - ‏‮1‬‏ ‏‮DAY‬‏ - ‏‮1‬‏ ‏‮Day‬‏ - ‏‮1‬‏ ‏‮HOUR‬‏ - ‏‮1‬‏ ‏‮Hour‬‏ - ‏‮1‬‏ ‏‮WEEK‬‏ - ‏‮1‬‏ ‏‮Week‬‏ - ‏‮5‬‏ ‏‮MIN‬‏ - ‏‮5‬‏ ‏‮Minutes‬‏ - ‏‮60‬‏ ‏‮SEC‬‏ - ‏‮60‬‏ ‏‮Seconds‬‏ ‏‮{days}‬‏ + ‏‮{days}‬‏ ‏‮{days}‬‏ ‏‮{hours}‬‏ + ‏‮{hours}‬‏ ‏‮{hours}‬‏ ‏‮h‬‏ ‏‮{minutes}‬‏ ‏‮m‬‏ ‏‮{seconds}‬‏ ‏‮s‬‏ ‏‮{hours}‬‏ ‏‮{mins}‬‏ ‏‮{minutes}‬‏ + ‏‮{minutes}‬‏ ‏‮{minutes}‬‏ ‏‮{seconds}‬‏ + ‏‮{seconds}‬‏ ‏‮{seconds}‬‏ + ‏‮{secs}‬‏ + ‏‮{weeks}‬‏ + ‏‮{weeks}‬‏ ‏‮Early‬‏ ‏‮Supporter‬‏ ‏‮Echo‬‏ ‏‮Cancellation‬‏ ‏‮Edit‬‏ @@ -3464,9 +3462,9 @@ ‏‮This‬‏ ‏‮is‬‏ ‏‮only‬‏ ‏‮visible‬‏ ‏‮to‬‏ ‏‮moderators‬‏ ‏‮and‬‏ ‏‮indicates‬‏ ‏‮this‬‏ ‏‮user‬‏ ‏‮is‬‏ ‏‮timed‬‏ ‏‮out.‬‏ ‏‮Timed‬‏ ‏‮Out‬‏ ‏‮Timed‬‏ ‏‮Out‬‏ - ‏‮You‬‏ ‏‮received‬‏ ‏‮a‬‏ ‏‮time‬‏ ‏‮out‬‏ ‏‮in‬‏ ‏‮{guildName}‬‏‏‮.‬‏ + ‏‮You‬‏ ‏‮received‬‏ ‏‮a‬‏ ‏‮timeout‬‏ ‏‮in‬‏ ‏‮{guildName}‬‏‏‮.‬‏ ‏‮REASON‬‏ - ‏‮Reason‬‏ ‏‮for‬‏ ‏‮timeout‬‏ + ‏‮Enter‬‏ ‏‮a‬‏ ‏‮reason.‬‏ ‏‮This‬‏ ‏‮will‬‏ ‏‮only‬‏ ‏‮be‬‏ ‏‮visible‬‏ ‏‮to‬‏ ‏‮other‬‏ ‏‮mods‬‏ ‏‮in‬‏ ‏‮the‬‏ ‏‮Audit‬‏ ‏‮log.‬‏ ‏‮{quantity}‬‏ ‏‮remaining‬‏ ‏‮Less‬‏ ‏‮than‬‏ ‏‮1‬‏ ‏‮minute‬‏ ‏‮remaining‬‏ ‏‮!!‬‏‏‮{user}‬‏‏‮!!‬‏ ‏‮Timed‬‏ ‏‮Out‬‏ @@ -6315,8 +6313,8 @@ ‏‮Members‬‏ ‏‮with‬‏ ‏‮this‬‏ ‏‮permission‬‏ ‏‮can‬‏ ‏‮drag‬‏ ‏‮other‬‏ ‏‮members‬‏ ‏‮out‬‏ ‏‮of‬‏ ‏‮this‬‏ ‏‮channel.‬‏ ‏‮They‬‏ ‏‮can‬‏ ‏‮only‬‏ ‏‮move‬‏ ‏‮members‬‏ ‏‮between‬‏ ‏‮channels‬‏ ‏‮both‬‏ ‏‮they‬‏ ‏‮and‬‏ ‏‮the‬‏ ‏‮member‬‏ ‏‮they‬‏ ‏‮are‬‏ ‏‮moving‬‏ ‏‮have‬‏ ‏‮access.‬‏ ‏‮Move‬‏ ‏‮To‬‏ ‏‮User‬‏ ‏‮has‬‏ ‏‮been‬‏ ‏‮moved‬‏ ‏‮to‬‏ ‏‮the‬‏ ‏‮selected‬‏ ‏‮channel.‬‏ - ‏‮Alert‬‏ ‏‮Cleared‬‏ - ‏‮No‬‏ ‏‮Alert‬‏ ‏‮Showing‬‏ + ‏‮Alert‬‏ ‏‮Cleared‬‏ + ‏‮No‬‏ ‏‮Alert‬‏ ‏‮Showing‬‏ ‏‮New‬‏ ‏‮notification‬‏ ‏‮Remove‬‏ ‏‮%1$s‬‏ ‏‮More‬‏ ‏‮than‬‏ %1$d ‏‮new‬‏ ‏‮notifications‬‏ @@ -8236,7 +8234,7 @@ ‏‮Allows‬‏ ‏‮members‬‏ ‏‮to‬‏ ‏‮use‬‏ ‏‮@everyone‬‏ ‏‮(everyone‬‏ ‏‮in‬‏ ‏‮the‬‏ ‏‮server)‬‏ ‏‮or‬‏ ‏‮@here‬‏ ‏‮(only‬‏ ‏‮online‬‏ ‏‮members‬‏ ‏‮in‬‏ ‏‮that‬‏ ‏‮channel).‬‏ ‏‮They‬‏ ‏‮can‬‏ ‏‮also‬‏ ‏‮@mention‬‏ ‏‮all‬‏ ‏‮roles,‬‏ ‏‮even‬‏ ‏‮if‬‏ ‏‮the‬‏ ‏‮role’s‬‏ ‏‮“Allow‬‏ ‏‮anyone‬‏ ‏‮to‬‏ ‏‮mention‬‏ ‏‮this‬‏ ‏‮role”‬‏ ‏‮permission‬‏ ‏‮is‬‏ ‏‮disabled.‬‏ ‏‮Allows‬‏ ‏‮members‬‏ ‏‮to‬‏ ‏‮use‬‏ ‏‮@everyone‬‏ ‏‮or‬‏ ‏‮@here‬‏ ‏‮(only‬‏ ‏‮online‬‏ ‏‮members)‬‏ ‏‮in‬‏ ‏‮these‬‏ ‏‮channels.‬‏ ‏‮They‬‏ ‏‮can‬‏ ‏‮also‬‏ ‏‮@mention‬‏ ‏‮all‬‏ ‏‮roles‬‏ ‏‮in‬‏ ‏‮these‬‏ ‏‮channels,‬‏ ‏‮even‬‏ ‏‮if‬‏ ‏‮the‬‏ ‏‮role’s‬‏ ‏‮“Allow‬‏ ‏‮anyone‬‏ ‏‮to‬‏ ‏‮mention‬‏ ‏‮this‬‏ ‏‮role”‬‏ ‏‮permission‬‏ ‏‮is‬‏ ‏‮disabled.‬‏ ‏‮Allows‬‏ ‏‮members‬‏ ‏‮to‬‏ ‏‮use‬‏ ‏‮@everyone‬‏ ‏‮or‬‏ ‏‮@here‬‏ ‏‮(only‬‏ ‏‮online‬‏ ‏‮members)‬‏ ‏‮in‬‏ ‏‮this‬‏ ‏‮channel.‬‏ ‏‮They‬‏ ‏‮can‬‏ ‏‮also‬‏ ‏‮@mention‬‏ ‏‮all‬‏ ‏‮roles‬‏ ‏‮in‬‏ ‏‮this‬‏ ‏‮channel,‬‏ ‏‮even‬‏ ‏‮if‬‏ ‏‮the‬‏ ‏‮role’s‬‏ ‏‮“Allow‬‏ ‏‮anyone‬‏ ‏‮to‬‏ ‏‮mention‬‏ ‏‮this‬‏ ‏‮role”‬‏ ‏‮permission‬‏ ‏‮is‬‏ ‏‮disabled.‬‏ - ‏‮When‬‏ ‏‮you‬‏ ‏‮put‬‏ ‏‮a‬‏ ‏‮user‬‏ ‏‮in‬‏ ‏‮timeout‬‏ ‏‮they‬‏ ‏‮will‬‏ ‏‮not‬‏ ‏‮be‬‏ ‏‮able‬‏ ‏‮to‬‏ ‏‮send‬‏ ‏‮messages‬‏ ‏‮in‬‏ ‏‮chat,‬‏ ‏‮reply‬‏ ‏‮within‬‏ ‏‮threads,‬‏ ‏‮react‬‏ ‏‮to‬‏ ‏‮messages,‬‏ ‏‮or‬‏ ‏‮speak‬‏ ‏‮in‬‏ ‏‮voice‬‏ ‏‮or‬‏ ‏‮stage‬‏ ‏‮channels.‬‏ + ‏‮When‬‏ ‏‮you‬‏ ‏‮put‬‏ ‏‮a‬‏ ‏‮user‬‏ ‏‮in‬‏ ‏‮timeout‬‏ ‏‮they‬‏ ‏‮will‬‏ ‏‮not‬‏ ‏‮be‬‏ ‏‮able‬‏ ‏‮to‬‏ ‏‮send‬‏ ‏‮messages‬‏ ‏‮in‬‏ ‏‮chat,‬‏ ‏‮reply‬‏ ‏‮within‬‏ ‏‮threads,‬‏ ‏‮react‬‏ ‏‮to‬‏ ‏‮messages,‬‏ ‏‮or‬‏ ‏‮speak‬‏ ‏‮in‬‏ ‏‮voice‬‏ ‏‮or‬‏ ‏‮Stage‬‏ ‏‮channels.‬‏ ‏‮Allow‬‏ ‏‮members‬‏ ‏‮to‬‏ ‏‮perform‬‏ ‏‮limited‬‏ ‏‮moderation‬‏ ‏‮actions‬‏ ‏‮(timeout).‬‏ ‏‮Allows‬‏ ‏‮members‬‏ ‏‮to‬‏ ‏‮move‬‏ ‏‮other‬‏ ‏‮members‬‏ ‏‮between‬‏ ‏‮voice‬‏ ‏‮channels‬‏ ‏‮that‬‏ ‏‮the‬‏ ‏‮member‬‏ ‏‮with‬‏ ‏‮this‬‏ ‏‮permission‬‏ ‏‮has‬‏ ‏‮access‬‏ ‏‮to.‬‏ ‏‮Allows‬‏ ‏‮members‬‏ ‏‮to‬‏ ‏‮disconnect‬‏ ‏‮other‬‏ ‏‮members‬‏ ‏‮from‬‏ ‏‮these‬‏ ‏‮channels.‬‏ ‏‮They‬‏ ‏‮will‬‏ ‏‮also‬‏ ‏‮be‬‏ ‏‮able‬‏ ‏‮to‬‏ ‏‮move‬‏ ‏‮somebody‬‏ ‏‮into‬‏ ‏‮other‬‏ ‏‮channels‬‏ ‏‮that‬‏ ‏‮they‬‏ ‏‮have‬‏ ‏‮this‬‏ ‏‮permission‬‏ ‏‮in.‬‏ diff --git a/app/src/main/res/values-bg/strings.xml b/app/src/main/res/values-bg/strings.xml index a2cbc2beba..d3aa84ee36 100644 --- a/app/src/main/res/values-bg/strings.xml +++ b/app/src/main/res/values-bg/strings.xml @@ -2285,18 +2285,6 @@ Изтегли ICS файл Или в движение Продължителност - 10 МИН - 10 минути - 1 ДЕН - 1 ден - 1 ЧАС - 1 час - 1 СЕДМИЦА - 1 седмица - 5 МИН - 5 минути - 60 СЕК - 60 секунди {days} {days} {hours} diff --git a/app/src/main/res/values-cs/strings.xml b/app/src/main/res/values-cs/strings.xml index ad4bfac0ff..3915187d15 100644 --- a/app/src/main/res/values-cs/strings.xml +++ b/app/src/main/res/values-cs/strings.xml @@ -2290,18 +2290,6 @@ Stáhnout soubor ICS Nebo s sebou na cesty Trvání - 10 MINUT - 10 minut - 1 DEN - 1 den - 1 HODINU - 1 hodina - 1 TÝDEN - 1 týden - 5 MINUT - 5 minut - 60 SEKUND - 60 sekund {days} {days} {hours} diff --git a/app/src/main/res/values-da/strings.xml b/app/src/main/res/values-da/strings.xml index 088fc3f771..6a983dcad5 100644 --- a/app/src/main/res/values-da/strings.xml +++ b/app/src/main/res/values-da/strings.xml @@ -2285,18 +2285,6 @@ Download ICS-fil Eller på farten Varighed - 10 MIN. - 10 minutter - 1 DAG - 1 dag - 1 TIME - 1 Time - 1 UGE - 1 Uge - 5 MIN. - 5 minutter - 60 SEK. - 60 sekunder {days} {days} {hours} diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml index daf1ed56b3..a8fe4fad5d 100644 --- a/app/src/main/res/values-de/strings.xml +++ b/app/src/main/res/values-de/strings.xml @@ -2295,18 +2295,6 @@ ICS-Datei herunterladen Oder für unterwegs Dauer - 10 MIN. - 10 Minuten - 1 TAG - 1 Tag - 1 STD. - 1 Stunde - 1 WOCHE - 1 Woche - 5 MIN. - 5 Minuten - 60 SEK. - 60 Sekunden {days} {days} {hours} diff --git a/app/src/main/res/values-el/strings.xml b/app/src/main/res/values-el/strings.xml index 05ea1f95a6..1c8fd1f6d5 100644 --- a/app/src/main/res/values-el/strings.xml +++ b/app/src/main/res/values-el/strings.xml @@ -2285,18 +2285,6 @@ Λήψη αρχείου ICS Ή εν κινήσει Διάρκεια - 10 ΛΕΠΤΑ - 10 λεπτά - 1 ΜΕΡΑ - 1 μέρα - 1 ΩΡΑ - 1 ώρα - 1 ΕΒΔΟΜΑΔΑ - 1 εβδομάδα - 5 ΛΕΠΤΑ - 5 λεπτά - 60 ΔΕΥΤ - 60 δευτερόλεπτα {days} {days} {hours} diff --git a/app/src/main/res/values-en-rXA/plurals.xml b/app/src/main/res/values-en-rXA/plurals.xml index 97a753c3a1..6a8c1ae897 100644 --- a/app/src/main/res/values-en-rXA/plurals.xml +++ b/app/src/main/res/values-en-rXA/plurals.xml @@ -248,6 +248,10 @@ [, »{#}« ûñŕéåð ḿéššåĝé one two three] [, »{#}« ûñŕéåð ḿéššåĝéš one two three] + + [1 Ðåý one] + [»{days}« Ðåýš one] + [1 ðåý one] [»{days}« ðåýš one] @@ -256,6 +260,10 @@ [1ð one] [»{days}«ð one] + + [1 Ĥöûŕ one two] + [»{hours}« Ĥöûŕš one two] + [1 ĥöûŕ one two] [»{hours}« ĥöûŕš one two] @@ -268,6 +276,10 @@ [1 ḿîñ one] [»{mins}« ḿîñš one] + + [1 Ḿîñûţé one two] + [»{minutes}« Ḿîñûţéš one two] + [1 ḿîñûţé one two] [»{minutes}« ḿîñûţéš one two] @@ -276,6 +288,10 @@ [1ḿ one] [»{minutes}«ḿ one] + + [1 Šéçöñð one two] + [»{seconds}« Šéçöñðš one two] + [1 šéçöñð one two] [»{seconds}« šéçöñðš one two] @@ -284,6 +300,18 @@ [1š one] [»{seconds}«š one] + + [1 šéç one] + [»{secs}« šéçš one] + + + [1 Ŵééķ one two] + [»{weeks}« Ŵééķš one two] + + + [1 ŵééķ one two] + [»{weeks}« ŵééķš one two] + [»{#}« öţĥéŕ one two] [»{#}« öţĥéŕš one two] diff --git a/app/src/main/res/values-en-rXA/strings.xml b/app/src/main/res/values-en-rXA/strings.xml index ab0e789483..ffff211c90 100644 --- a/app/src/main/res/values-en-rXA/strings.xml +++ b/app/src/main/res/values-en-rXA/strings.xml @@ -1361,6 +1361,8 @@ [Þåŕţîçîþåñţš — »{count}« one two three] [Çĥåññéļ Çåļļ Åçţîöñš one two three] [Þåŕţîçîþåñţš one two] + [Ýöû ŵîļļ ñöţ ɓé ñöţîƒîéð öƒ ñéŵ ḿéššåĝéš ɓéçåûšé **¡¡»{name}«¡¡** îš ḿûţéð. one two three four five six seven eight] + [Ýöû ŵîļļ öñļý ɓé ñöţîƒîéð ŵĥéñ ýöû åŕé ḿéñţîöñéð ɓéçåûšé **¡¡»{name}«¡¡** îš šéţ ţö **Öñļý @ḿéñţîöñš**. one two three four five six seven eight nine ten eleven twelve thirteen fourteen fiveteen sixteen] [Çĥåññéļ ĥåš ɓééñ ðéļéţéð. one two three] [Çĥåññéļ ĥéåðéŕ one two three] [Çĥåññéļ Îñƒö one two] @@ -1472,6 +1474,7 @@ [ÎñVîţé ¡¡»{channel}«¡¡ ţö Ŵåţçĥ ¡¡»{name}«¡¡ one two three] [Ûþļöåð å Fîļé one two] [Ûþļöåð å ƒîļé öŕ šéñð îñVîţéš one two three four] + [Ûþļöåð ýöûŕ ḿéššåĝé åš å ƒîļé one two three four] [Ûšé Šļåšĥ Çöḿḿåñð one two three] [Çĥåţ βéĥåVîöŕ one two] [Çĥéçķîñĝ Föŕ Ûþðåţéš one two three] @@ -2280,7 +2283,7 @@ [Ðîšåɓļé Åççöûñţ one two three] [Åŕé ýöû šûŕé ţĥåţ ýöû ŵåñţ ţö ðîšåɓļé ýöûŕ åççöûñţ¿ Ţĥîš ŵîļļ îḿḿéðîåţéļý ļöĝ ýöû öûţ åñð ḿåķé ýöûŕ åççöûñţ îñåççéššîɓļé ţö åñýöñé. one two three four five six seven eight nine ten eleven twelve thirteen] [Šûççéšš¡ Ŵé\'Vé ðîšåɓļéð é-ḿåîļ ñöţîƒîçåţîöñš ƒöŕ ýöû¡ one two three four five six] - [Ŵĥéñ ýöû þûţ å ûšéŕ îñ ţîḿéöûţ ţĥéý ŵîļļ ñöţ ɓé åɓļé ţö šéñð ḿéššåĝéš îñ çĥåţ, ŕéþļý ŵîţĥîñ ţĥŕéåðš, ŕéåçţ ţö ḿéššåĝéš, öŕ šþéåķ îñ Vöîçé öŕ šţåĝé çĥåññéļš. [Ļéåŕñ ḿöŕé](»{helpdeskArticle}«) one two three four five six seven eight nine ten eleven twelve thirteen fourteen fiveteen sixteen seventeen nineteen twenty one two three four five six seven eight nine ten] + [Ŵĥéñ ýöû þûţ å ûšéŕ îñ ţîḿéöûţ ţĥéý ŵîļļ ñöţ ɓé åɓļé ţö šéñð ḿéššåĝéš îñ çĥåţ, ŕéþļý ŵîţĥîñ ţĥŕéåðš, ŕéåçţ ţö ḿéššåĝéš, öŕ šþéåķ îñ Vöîçé öŕ Šţåĝé çĥåññéļš. [Ļéåŕñ ḿöŕé](»{helpdeskArticle}«) one two three four five six seven eight nine ten eleven twelve thirteen fourteen fiveteen sixteen seventeen nineteen twenty one two three four five six seven eight nine ten] [Ḿéḿɓéŕš ŵĥö åŕé îñ ţîḿéöûţ åŕé ţéḿþöŕåŕîļý ñöţ åļļöŵéð ţö çĥåţ öŕ ŕéåçţ îñ ţéхţ çĥåññéļš. Ţĥéý åŕé åļšö ñöţ åļļöŵéð ţö çöññéçţ ţö Vöîçé öŕ Šţåĝé çĥåññéļš. [Ļéåŕñ ḿöŕé.](»{helpdeskArticle}«) one two three four five six seven eight nine ten eleven twelve thirteen fourteen fiveteen sixteen seventeen nineteen twenty one two three four five six seven eight nine ten] [Ðîšåɓļéš þöšţîñĝ öŕ ŕéåçţîñĝ ţö ḿéššåĝéš îñ ţéхţ çĥåţ one two three four five six] [ÞŕéVéñţš ţĥéḿ ƒŕöḿ çöññéçţîñĝ ţö Vöîçé öŕ šţåĝé çĥåññéļš one two three four five six seven] @@ -2371,28 +2374,23 @@ [Ðöŵñļöåð ÎÇŠ ƒîļé one two three] [Öŕ öñ ţĥé ĝö one two] [Ðûŕåţîöñ one two] - [10 ḾÎÑ one two] - [10 Ḿîñûţéš one two] - [1 ÐÅÝ one] - [1 Ðåý one] - [1 ĤÖÛŔ one two] - [1 Ĥöûŕ one two] - [1 ŴÉÉĶ one two] - [1 Ŵééķ one two] - [5 ḾÎÑ one] - [5 Ḿîñûţéš one two] - [60 ŠÉÇ one two] - [60 Šéçöñðš one two] [»{days}«] + [»{days}«] [»{days}«] [»{hours}«] + [»{hours}«] [»{hours}« ĥ »{minutes}« ḿ »{seconds}« š one two] [»{hours}«] [»{mins}«] [»{minutes}«] + [»{minutes}«] [»{minutes}«] [»{seconds}«] + [»{seconds}«] [»{seconds}«] + [»{secs}«] + [»{weeks}«] + [»{weeks}«] [Éåŕļý Šûþþöŕţéŕ one two three] [Éçĥö Çåñçéļļåţîöñ one two three] [Éðîţ one] @@ -3464,9 +3462,9 @@ [Ţĥîš îš öñļý Vîšîɓļé ţö ḿöðéŕåţöŕš åñð îñðîçåţéš ţĥîš ûšéŕ îš ţîḿéð öûţ. one two three four five six seven eight] [Ţîḿéð Öûţ one two] [Ţîḿéð Öûţ one two] - [Ýöû ŕéçéîVéð å ţîḿé öûţ îñ »{guildName}«. one two three four] + [Ýöû ŕéçéîVéð å ţîḿéöûţ îñ »{guildName}«. one two three four] [ŔÉÅŠÖÑ one two] - [Ŕéåšöñ ƒöŕ ţîḿéöûţ one two three] + [Éñţéŕ å ŕéåšöñ. Ţĥîš ŵîļļ öñļý ɓé Vîšîɓļé ţö öţĥéŕ ḿöðš îñ ţĥé Åûðîţ ļöĝ. one two three four five six seven eight] [»{quantity}« ŕéḿåîñîñĝ one two] [Ļéšš ţĥåñ 1 ḿîñûţé ŕéḿåîñîñĝ one two three four] [¡¡»{user}«¡¡ Ţîḿéð Öûţ one two three] @@ -6315,8 +6313,8 @@ [Ḿéḿɓéŕš ŵîţĥ ţĥîš þéŕḿîššîöñ çåñ ðŕåĝ öţĥéŕ ḿéḿɓéŕš öûţ öƒ ţĥîš çĥåññéļ. Ţĥéý çåñ öñļý ḿöVé ḿéḿɓéŕš ɓéţŵééñ çĥåññéļš ɓöţĥ ţĥéý åñð ţĥé ḿéḿɓéŕ ţĥéý åŕé ḿöVîñĝ ĥåVé åççéšš. one two three four five six seven eight nine ten eleven twelve thirteen fourteen fiveteen] [ḾöVé Ţö one two] [Ûšéŕ ĥåš ɓééñ ḿöVéð ţö ţĥé šéļéçţéð çĥåññéļ. one two three four five] - [Åļéŕţ Çļéåŕéð one two] - [Ñö Åļéŕţ Šĥöŵîñĝ one two three] + [Åļéŕţ Çļéåŕéð one two] + [Ñö Åļéŕţ Šĥöŵîñĝ one two three] [Ñéŵ ñöţîƒîçåţîöñ one two three] [ŔéḿöVé »%1$s« one two] [Ḿöŕé ţĥåñ %1$d ñéŵ ñöţîƒîçåţîöñš one two three four] @@ -8236,7 +8234,7 @@ [Åļļöŵš ḿéḿɓéŕš ţö ûšé @éVéŕýöñé (éVéŕýöñé îñ ţĥé šéŕVéŕ) öŕ @ĥéŕé (öñļý öñļîñé ḿéḿɓéŕš îñ ţĥåţ çĥåññéļ). Ţĥéý çåñ åļšö @ḿéñţîöñ åļļ ŕöļéš, éVéñ îƒ ţĥé ŕöļé’š “Åļļöŵ åñýöñé ţö ḿéñţîöñ ţĥîš ŕöļé” þéŕḿîššîöñ îš ðîšåɓļéð. one two three four five six seven eight nine ten eleven twelve thirteen fourteen fiveteen sixteen seventeen nineteen twenty one two three four five six seven eight nine ten eleven twelve thirteen fourteen fiveteen sixteen] [Åļļöŵš ḿéḿɓéŕš ţö ûšé @éVéŕýöñé öŕ @ĥéŕé (öñļý öñļîñé ḿéḿɓéŕš) îñ ţĥéšé çĥåññéļš. Ţĥéý çåñ åļšö @ḿéñţîöñ åļļ ŕöļéš îñ ţĥéšé çĥåññéļš, éVéñ îƒ ţĥé ŕöļé’š “Åļļöŵ åñýöñé ţö ḿéñţîöñ ţĥîš ŕöļé” þéŕḿîššîöñ îš ðîšåɓļéð. one two three four five six seven eight nine ten eleven twelve thirteen fourteen fiveteen sixteen seventeen nineteen twenty one two three four five six seven eight nine ten eleven twelve thirteen fourteen fiveteen] [Åļļöŵš ḿéḿɓéŕš ţö ûšé @éVéŕýöñé öŕ @ĥéŕé (öñļý öñļîñé ḿéḿɓéŕš) îñ ţĥîš çĥåññéļ. Ţĥéý çåñ åļšö @ḿéñţîöñ åļļ ŕöļéš îñ ţĥîš çĥåññéļ, éVéñ îƒ ţĥé ŕöļé’š “Åļļöŵ åñýöñé ţö ḿéñţîöñ ţĥîš ŕöļé” þéŕḿîššîöñ îš ðîšåɓļéð. one two three four five six seven eight nine ten eleven twelve thirteen fourteen fiveteen sixteen seventeen nineteen twenty one two three four five six seven eight nine ten eleven twelve thirteen fourteen fiveteen] - [Ŵĥéñ ýöû þûţ å ûšéŕ îñ ţîḿéöûţ ţĥéý ŵîļļ ñöţ ɓé åɓļé ţö šéñð ḿéššåĝéš îñ çĥåţ, ŕéþļý ŵîţĥîñ ţĥŕéåðš, ŕéåçţ ţö ḿéššåĝéš, öŕ šþéåķ îñ Vöîçé öŕ šţåĝé çĥåññéļš. one two three four five six seven eight nine ten eleven twelve thirteen fourteen fiveteen sixteen seventeen nineteen twenty one two three four five six seven] + [Ŵĥéñ ýöû þûţ å ûšéŕ îñ ţîḿéöûţ ţĥéý ŵîļļ ñöţ ɓé åɓļé ţö šéñð ḿéššåĝéš îñ çĥåţ, ŕéþļý ŵîţĥîñ ţĥŕéåðš, ŕéåçţ ţö ḿéššåĝéš, öŕ šþéåķ îñ Vöîçé öŕ Šţåĝé çĥåññéļš. one two three four five six seven eight nine ten eleven twelve thirteen fourteen fiveteen sixteen seventeen nineteen twenty one two three four five six seven] [Åļļöŵ ḿéḿɓéŕš ţö þéŕƒöŕḿ ļîḿîţéð ḿöðéŕåţîöñ åçţîöñš (ţîḿéöûţ). one two three four five six seven] [Åļļöŵš ḿéḿɓéŕš ţö ḿöVé öţĥéŕ ḿéḿɓéŕš ɓéţŵééñ Vöîçé çĥåññéļš ţĥåţ ţĥé ḿéḿɓéŕ ŵîţĥ ţĥîš þéŕḿîššîöñ ĥåš åççéšš ţö. one two three four five six seven eight nine ten eleven twelve] [Åļļöŵš ḿéḿɓéŕš ţö ðîšçöññéçţ öţĥéŕ ḿéḿɓéŕš ƒŕöḿ ţĥéšé çĥåññéļš. Ţĥéý ŵîļļ åļšö ɓé åɓļé ţö ḿöVé šöḿéɓöðý îñţö öţĥéŕ çĥåññéļš ţĥåţ ţĥéý ĥåVé ţĥîš þéŕḿîššîöñ îñ. one two three four five six seven eight nine ten eleven twelve thirteen fourteen] diff --git a/app/src/main/res/values-es-rES/strings.xml b/app/src/main/res/values-es-rES/strings.xml index ea90e929e9..ee8aa0027c 100644 --- a/app/src/main/res/values-es-rES/strings.xml +++ b/app/src/main/res/values-es-rES/strings.xml @@ -2240,18 +2240,6 @@ Descargar archivo ICS O en tu móvil Duración - 10 MIN - 10 minutos - 1 DÍA - 1 día - 1 HORA - 1 hora - 1 SEMANA - 1 semana - 5 MIN - 5 minutos - 60 S - 60 segundos {days} {days} {hours} diff --git a/app/src/main/res/values-fi/strings.xml b/app/src/main/res/values-fi/strings.xml index b4b5014705..a49ea88850 100644 --- a/app/src/main/res/values-fi/strings.xml +++ b/app/src/main/res/values-fi/strings.xml @@ -2285,18 +2285,6 @@ Lataa ICS-tiedosto Tai matkalla Kesto - 10 MIN - 10 minuuttia - 1 PÄIVÄ - 1 päivä - 1 TUNTI - 1 tunti - 1 VIIKKO - 1 viikko - 5 MIN - 5 minuuttia - 60 S - 60 sekuntia {days} {days} {hours} diff --git a/app/src/main/res/values-fr/strings.xml b/app/src/main/res/values-fr/strings.xml index a500cb414e..413f1ebc96 100644 --- a/app/src/main/res/values-fr/strings.xml +++ b/app/src/main/res/values-fr/strings.xml @@ -2290,18 +2290,6 @@ Télécharger le fichier ICS Ou à emporter Durée - 10 MIN - 10 minutes - 1 JOUR - 1 jour - 1 HEURE - 1 heure - 1 SEMAINE - 1 semaine - 5 MIN - 5 minutes - 60 SEC - 60 secondes {days} {days} {hours} diff --git a/app/src/main/res/values-hi/strings.xml b/app/src/main/res/values-hi/strings.xml index fb33c0e8cc..af02a411a1 100644 --- a/app/src/main/res/values-hi/strings.xml +++ b/app/src/main/res/values-hi/strings.xml @@ -2285,18 +2285,6 @@ ICS फ़ाइल डाउनलोड करें या फिर चलते-फिरते अवधि - 10 मिनट - 10 मिनट - 1 दिन - 1 दिन - 1 घंटा - 1 घंटा - 1 हफ़्ता - 1 हफ़्ता - 5 मिनट - 5 मिनट - 60 सेकंड - 60 सेकंड {days} {days} {hours} diff --git a/app/src/main/res/values-hr/strings.xml b/app/src/main/res/values-hr/strings.xml index 2392454872..14cc690a51 100644 --- a/app/src/main/res/values-hr/strings.xml +++ b/app/src/main/res/values-hr/strings.xml @@ -2285,18 +2285,6 @@ Preuzmi ICS datoteku Ili za mobitel Trajanje - 10 min - 10 minuta - 1 dan - 1 dan - 1 sat - 1 sat - 1 tjedan - 1 tjedan - 5 min - 5 minuta - 60 s - 60 sekundi {days} {days} {hours} diff --git a/app/src/main/res/values-hu/strings.xml b/app/src/main/res/values-hu/strings.xml index c2f8de1100..3ab3e9b2d0 100644 --- a/app/src/main/res/values-hu/strings.xml +++ b/app/src/main/res/values-hu/strings.xml @@ -2285,18 +2285,6 @@ Az ICS-fájl letöltése Vagy akár útközben is Időtartam - 10 PERC - 10 perc - 1 NAP - 1 nap - 1 ÓRA - 1 óra - 1 HÉT - 1 hét - 5 PERC - 5 perc - 60 MP - 60 másodperc {days} {days} {hours} diff --git a/app/src/main/res/values-it/strings.xml b/app/src/main/res/values-it/strings.xml index 003d8e63d2..bfd535acf2 100644 --- a/app/src/main/res/values-it/strings.xml +++ b/app/src/main/res/values-it/strings.xml @@ -2290,18 +2290,6 @@ Scarica il file ICS O in movimento Durata - 10 MIN - 10 minuti - 1 GIORNO - 1 giorno - 1 ORA - 1 ora - 1 SETTIMANA - 1 settimana - 5 MIN - 5 minuti - 60 SEC - 60 secondi {days} {days} {hours} diff --git a/app/src/main/res/values-ja/strings.xml b/app/src/main/res/values-ja/strings.xml index 416a529307..0750d86b72 100644 --- a/app/src/main/res/values-ja/strings.xml +++ b/app/src/main/res/values-ja/strings.xml @@ -2295,18 +2295,6 @@ ICS ファイルをダウンロード または外出先で 期間 - 10分 - 10分 - 1日 - 1日 - 1時間 - 1時間 - 1週間 - 1週間 - 5分 - 5分 - 60秒 - 60秒 {days} {days} {hours} diff --git a/app/src/main/res/values-ko/strings.xml b/app/src/main/res/values-ko/strings.xml index 187b0412c7..ec5cf71280 100644 --- a/app/src/main/res/values-ko/strings.xml +++ b/app/src/main/res/values-ko/strings.xml @@ -2290,18 +2290,6 @@ ICS 파일 다운로드 또는 모바일에서도 즐겨보세요 지속 시간 - 10분 - 10분 - 1일 - 1일 - 1시간 - 1시간 - 1주일 - 1주일 - 5분 - 5분 - 60초 - 60초 {days} {days} {hours} diff --git a/app/src/main/res/values-lt/strings.xml b/app/src/main/res/values-lt/strings.xml index 8aae57c05a..ec630aaeb1 100644 --- a/app/src/main/res/values-lt/strings.xml +++ b/app/src/main/res/values-lt/strings.xml @@ -2285,18 +2285,6 @@ Atsisiųsti ICS failą Arba išmaniajame telefone Trukmė - 10 MIN. - 10 minučių - 1 DIENAI - 1 dienos - 1 VALANDAI - 1 valandos - 1 SAVAITEI - 1 savaitės - 5 MIN. - 5 minučių - 60 SEK. - 60 sekundžių {days} {days} {hours} diff --git a/app/src/main/res/values-nl/strings.xml b/app/src/main/res/values-nl/strings.xml index 49efd90430..977560d90e 100644 --- a/app/src/main/res/values-nl/strings.xml +++ b/app/src/main/res/values-nl/strings.xml @@ -2290,18 +2290,6 @@ ICS-bestand downloaden Of onderweg Duur - 10 MIN - 10 minuten - 1 DAG - 1 dag - 1 UUR - 1 uur - 1 WEEK - 1 week - 5 MIN - 5 minuten - 60 SEC - 60 seconden {days} {days} {hours} diff --git a/app/src/main/res/values-no/strings.xml b/app/src/main/res/values-no/strings.xml index bf82f88c2f..5965eb6ca3 100644 --- a/app/src/main/res/values-no/strings.xml +++ b/app/src/main/res/values-no/strings.xml @@ -2235,18 +2235,6 @@ Last ned ICS-fil Eller på farten Varighet - 10 MIN - 10 minutter - 1 DAG - 1 dag - 1 TIME - 1 time - 1 UKE - 1 uke - 5 MIN - 5 minutter - 60 SEK - 60 sekunder {days} {days} {hours} diff --git a/app/src/main/res/values-pl/strings.xml b/app/src/main/res/values-pl/strings.xml index 01a49eb01c..65f9999237 100644 --- a/app/src/main/res/values-pl/strings.xml +++ b/app/src/main/res/values-pl/strings.xml @@ -2295,18 +2295,6 @@ Pobierz plik ICS lub na telefon Czas trwania - 10 MINUT - 10 minut - 1 DZIEŃ - 1 dzień - 1 GODZ. - 1 godz. - 1 TYDZIEŃ - 1 tydzień - 5 MINUT - 5 minut - 60 SEKUND - 60 sekund {days} {days} {hours} diff --git a/app/src/main/res/values-pt-rBR/strings.xml b/app/src/main/res/values-pt-rBR/strings.xml index 3777cdd7a5..763c85064d 100644 --- a/app/src/main/res/values-pt-rBR/strings.xml +++ b/app/src/main/res/values-pt-rBR/strings.xml @@ -2290,18 +2290,6 @@ Baixar arquivo ICS Ou onde você for Duração - 10 MIN - 10 minutos - 1 DIA - 1 dia - 1 HORA - 1 hora - 1 SEMANA - 1 semana - 5 MIN - 5 minutos - 60 SEGS - 60 segundos {days} {days} {hours} diff --git a/app/src/main/res/values-ro/strings.xml b/app/src/main/res/values-ro/strings.xml index 94547a5f8e..2b0956c7e2 100644 --- a/app/src/main/res/values-ro/strings.xml +++ b/app/src/main/res/values-ro/strings.xml @@ -2285,18 +2285,6 @@ Descarcă fișierul ICS Sau în deplasare Durată - 10 MIN - 10 minute - 1 ZI - 1 zi - 1 ORĂ - 1 oră - 1 SĂPTĂMÂNĂ - 1 săptămână - 5 MIN - 5 minute - 60 SEC - 60 de secunde {days} {days} {hours} diff --git a/app/src/main/res/values-ru/strings.xml b/app/src/main/res/values-ru/strings.xml index a3ab40d912..f9776a8c46 100644 --- a/app/src/main/res/values-ru/strings.xml +++ b/app/src/main/res/values-ru/strings.xml @@ -2295,18 +2295,6 @@ Загрузить файл ICS Или в дороге Срок - 10 МИН. - 10 мин. - 1 Д. - 1 д. - 1 Ч. - 1 ч. - 1 НЕД. - 1 нед. - 5 МИН. - 5 мин. - 60 СЕК. - 60 сек. {days} {days} {hours} diff --git a/app/src/main/res/values-sv-rSE/strings.xml b/app/src/main/res/values-sv-rSE/strings.xml index 5aeba3bce2..d9cede8eff 100644 --- a/app/src/main/res/values-sv-rSE/strings.xml +++ b/app/src/main/res/values-sv-rSE/strings.xml @@ -2240,18 +2240,6 @@ Ladda ned ICS-fil Eller i farten Varaktighet - 10 MIN - 10 minuter - 1 DAG - 1 dag - 1 TIMME - 1 timme - 1 VECKA - 1 vecka - 5 MIN - 5 minuter - 60 SEK - 60 sekunder {days} {days} {hours} diff --git a/app/src/main/res/values-th/strings.xml b/app/src/main/res/values-th/strings.xml index 1504210ba3..a86534ffd5 100644 --- a/app/src/main/res/values-th/strings.xml +++ b/app/src/main/res/values-th/strings.xml @@ -2285,18 +2285,6 @@ ดาวน์โหลดไฟล์ ICS หรือเอาไปที่อื่นด้วย ระยะเวลา - 10 นาที - 10 นาที - 1 วัน - 1 วัน - 1 ชั่วโมง - 1 ชั่วโมง - 1 สัปดาห์ - 1 สัปดาห์ - 5 นาที - 5 นาที - 60 วินาที - 60 วินาที {days} {days} {hours} diff --git a/app/src/main/res/values-tr/strings.xml b/app/src/main/res/values-tr/strings.xml index ef6dbd5467..90fb4b4b71 100644 --- a/app/src/main/res/values-tr/strings.xml +++ b/app/src/main/res/values-tr/strings.xml @@ -2295,18 +2295,6 @@ ICS dosyası indir Veya hareket halindeyken Süre - 10 DK - 10 Dakika - 1 GÜN - 1 Gün - 1 SAAT - 1 saat - 1 HAFTA - 1 hafta - 5 DK - 5 Dakika - 60 SN - 60 Saniye {days} {days} {hours} diff --git a/app/src/main/res/values-uk/strings.xml b/app/src/main/res/values-uk/strings.xml index 37d649dd39..0d8ebaa40c 100644 --- a/app/src/main/res/values-uk/strings.xml +++ b/app/src/main/res/values-uk/strings.xml @@ -2285,18 +2285,6 @@ Завантажити файл ICS Або в дорозі Тривалість - 10 хв. - 10 хвилин - 1 день - 1 день - 1 год. - 1 год. - 1 тиждень - 1 тижн. - 5 хв. - 5 хвилин - 60 сек. - 60 секунд {days} {days} {hours} diff --git a/app/src/main/res/values-vi/strings.xml b/app/src/main/res/values-vi/strings.xml index 4c3a8e0870..de2d50eef3 100644 --- a/app/src/main/res/values-vi/strings.xml +++ b/app/src/main/res/values-vi/strings.xml @@ -2285,18 +2285,6 @@ Tải về tệp ICS Hoặc trên đường đi Khoảng thời gian - 10 PHÚT - 10 phút - 1 NGÀY - 1 Ngày - 1 GIỜ - 1 Giờ - 1 TUẦN - 1 Tuần - 5 PHÚT - 5 phút - 60 GIÂY - 60 giây {days} {days} {hours} diff --git a/app/src/main/res/values-zh-rCN/strings.xml b/app/src/main/res/values-zh-rCN/strings.xml index 26e0c7a9fc..32241e92a9 100644 --- a/app/src/main/res/values-zh-rCN/strings.xml +++ b/app/src/main/res/values-zh-rCN/strings.xml @@ -2290,18 +2290,6 @@ 下载 ICS 文件 或是在移动设备上获得Discord 持续时间 - 10 分钟 - 10 分钟 - 1 天 - 1 天 - 1 小时 - 1 小时 - 1 星期 - 1 星期 - 5 分钟 - 5 分钟 - 60 秒 - 60 秒 {days} {days} {hours} diff --git a/app/src/main/res/values-zh-rTW/strings.xml b/app/src/main/res/values-zh-rTW/strings.xml index 8a1bdb3209..ff57a0ede9 100644 --- a/app/src/main/res/values-zh-rTW/strings.xml +++ b/app/src/main/res/values-zh-rTW/strings.xml @@ -2290,18 +2290,6 @@ 下載 ICS 檔案 或隨身帶著走 期間 - 10 分鐘 - 10 分鐘 - 1 天 - 1 天 - 1 小時 - 1 小時 - 1 星期 - 1 星期 - 5 分鐘 - 5 分鐘 - 60 秒 - 60 秒 {days} {days} {hours} diff --git a/app/src/main/res/values/plurals.xml b/app/src/main/res/values/plurals.xml index 9e2e01e34f..5af601a516 100644 --- a/app/src/main/res/values/plurals.xml +++ b/app/src/main/res/values/plurals.xml @@ -248,6 +248,10 @@ , {#} unread message , {#} unread messages + + 1 Day + {days} Days + 1 day {days} days @@ -256,6 +260,10 @@ 1d {days}d + + 1 Hour + {hours} Hours + 1 hour {hours} hours @@ -268,6 +276,10 @@ 1 min {mins} mins + + 1 Minute + {minutes} Minutes + 1 minute {minutes} minutes @@ -276,6 +288,10 @@ 1m {minutes}m + + 1 Second + {seconds} Seconds + 1 second {seconds} seconds @@ -284,6 +300,18 @@ 1s {seconds}s + + 1 sec + {secs} secs + + + 1 Week + {weeks} Weeks + + + 1 week + {weeks} weeks + {#} other {#} others diff --git a/app/src/main/res/values/public.xml b/app/src/main/res/values/public.xml index 533dbc5818..cb3d96b5a2 100644 --- a/app/src/main/res/values/public.xml +++ b/app/src/main/res/values/public.xml @@ -10733,345 +10733,352 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -15991,9145 +15998,9143 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index da3c528b56..add938c7b9 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -1363,6 +1363,8 @@ Participants — {count} Channel Call Actions Participants + You will not be notified of new messages because **!!{name}!!** is muted. + You will only be notified when you are mentioned because **!!{name}!!** is set to **Only @mentions**. Channel has been deleted. Channel header Channel Info @@ -1475,6 +1477,7 @@ Invite !!{channel}!! to Watch !!{name}!! Upload a File Upload a file or send invites + Upload your message as a file Use Slash Command Chat Behavior Checking For Updates @@ -1531,7 +1534,7 @@ Select a color Transparency Use Default - 7d141cf62f43434b98ea7de0aea9594b + 304f88f1e7514028b3fc63598add5429 Coming Soon Slash command application {applicationName} {applicationName} application @@ -2285,7 +2288,7 @@ Disable Account Are you sure that you want to disable your account? This will immediately log you out and make your account inaccessible to anyone. Success! We\'ve disabled e-mail notifications for you! - When you put a user in timeout they will not be able to send messages in chat, reply within threads, react to messages, or speak in voice or stage channels. [Learn more]({helpdeskArticle}) + When you put a user in timeout they will not be able to send messages in chat, reply within threads, react to messages, or speak in voice or Stage channels. [Learn more]({helpdeskArticle}) Members who are in timeout are temporarily not allowed to chat or react in text channels. They are also not allowed to connect to voice or Stage channels. [Learn more.]({helpdeskArticle}) Disables posting or reacting to messages in text chat Prevents them from connecting to voice or stage channels @@ -2377,28 +2380,23 @@ Download ICS file Or on the go Duration - 10 MIN - 10 Minutes - 1 DAY - 1 Day - 1 HOUR - 1 Hour - 1 WEEK - 1 Week - 5 MIN - 5 Minutes - 60 SEC - 60 Seconds {days} + {days} {days} {hours} + {hours} {hours} h {minutes} m {seconds} s {hours} {mins} {minutes} + {minutes} {minutes} {seconds} + {seconds} {seconds} + {secs} + {weeks} + {weeks} Early Supporter Echo Cancellation Edit @@ -3480,9 +3478,9 @@ This is only visible to moderators and indicates this user is timed out. Timed Out Timed Out - You received a time out in {guildName}. + You received a timeout in {guildName}. REASON - Reason for timeout + Enter a reason. This will only be visible to other mods in the Audit log. {quantity} remaining Less than 1 minute remaining !!{user}!! Timed Out @@ -6334,8 +6332,8 @@ Members with this permission can drag other members out of this channel. They can only move members between channels both they and the member they are moving have access. Move To User has been moved to the selected channel. - Alert Cleared - No Alert Showing + Alert Cleared + No Alert Showing New notification Remove %1$s More than %1$d new notifications @@ -8263,7 +8261,7 @@ Allows members to use @everyone (everyone in the server) or @here (only online members in that channel). They can also @mention all roles, even if the role’s “Allow anyone to mention this role” permission is disabled. Allows members to use @everyone or @here (only online members) in these channels. They can also @mention all roles in these channels, even if the role’s “Allow anyone to mention this role” permission is disabled. Allows members to use @everyone or @here (only online members) in this channel. They can also @mention all roles in this channel, even if the role’s “Allow anyone to mention this role” permission is disabled. - When you put a user in timeout they will not be able to send messages in chat, reply within threads, react to messages, or speak in voice or stage channels. + When you put a user in timeout they will not be able to send messages in chat, reply within threads, react to messages, or speak in voice or Stage channels. Allow members to perform limited moderation actions (timeout). Allows members to move other members between voice channels that the member with this permission has access to. Allows members to disconnect other members from these channels. They will also be able to move somebody into other channels that they have this permission in.