using System; using System.Collections.Generic; using System.Linq; using System.Runtime.CompilerServices; using Cpp2IlInjected; using UnityEngine; // Token: 0x02000463 RID: 1123 [Token(Token = "0x2000463")] public class SplitTesting : SingletonMonoBehaviour { // Token: 0x170005EA RID: 1514 // (get) Token: 0x060021DD RID: 8669 RVA: 0x00089BBC File Offset: 0x00087DBC [Token(Token = "0x170005EA")] public bool MAKMECFNNML { [Token(Token = "0x60021DD")] [Address(RVA = "0x1657D60", Offset = "0x1656B60", VA = "0x181657D60")] get { if (!this.ACJCPCJAAIB) { } return this.OFDFNFPMCAD; } } // Token: 0x060021DE RID: 8670 RVA: 0x00089BDC File Offset: 0x00087DDC [Token(Token = "0x60021DE")] [Address(RVA = "0x16543C0", Offset = "0x16531C0", VA = "0x1816543C0", Slot = "4")] protected override void Awake() { int num; do { num = 0; base.Awake(); this.ACJCPCJAAIB = num != 0; JIMCFNAHGJE jimcfnahgje; this.JFOMEAPNHCB = jimcfnahgje; EFEFMHJPJIJ efefmhjpjij; this.JFMOEGCPNAC = efefmhjpjij; List locgbophemk = SplitTesting.LOCGBOPHEMK; bool flag; if (flag) { if (flag) { string[] array; List list = new List(array); Dictionary> hpnbmgeodho = this.HPNBMGEODHO; } string text; Debug.LogError(text); } } while (num != 0); } // Token: 0x060021DF RID: 8671 RVA: 0x00089C44 File Offset: 0x00087E44 [Token(Token = "0x60021DF")] [Address(RVA = "0x1657310", Offset = "0x1656110", VA = "0x181657310", Slot = "5")] protected override void OnDestroy() { JIMCFNAHGJE jfomeapnhcb = this.JFOMEAPNHCB; Action action = new Action(this.EFMEJEMFFMJ); EFEFMHJPJIJ jfmoegcpnac = this.JFMOEGCPNAC; Action action2 = new Action(this.IADNPCKGKIE); this.ACJCPCJAAIB = false; base.OnDestroy(); } // Token: 0x060021E0 RID: 8672 RVA: 0x00089C8C File Offset: 0x00087E8C [Token(Token = "0x60021E0")] [Address(RVA = "0x1655830", Offset = "0x1654630", VA = "0x181655830")] public void Initialize() { if (!this.ACJCPCJAAIB || !this.OFDFNFPMCAD) { EFEFMHJPJIJ jfmoegcpnac = this.JFMOEGCPNAC; Action action = new Action(this.IADNPCKGKIE); this.IADNPCKGKIE(); string text = PUNNetworkManager.CheckCommandLineArgsFor("+splittest:"); if (text == 0) { object[] array = new object[1]; if (text != 0) { } array[0] = text; Debug.LogFormat("SplitTest override args: {0}", array); string[] array2 = text.Split(new char[] { (char)((uint)59) }); if (array2.Length != 0) { SingletonMonoBehaviour.ONCPNMDGGKG.PEKFDBCMLBC(array2); } } JIMCFNAHGJE jfomeapnhcb = this.JFOMEAPNHCB; Action action2 = new Action(this.EFMEJEMFFMJ); JIMCFNAHGJE jfomeapnhcb2 = this.JFOMEAPNHCB; if (action2 != 0) { JIMCFNAHGJE jfomeapnhcb3 = this.JFOMEAPNHCB; JIMCFNAHGJE jfomeapnhcb4 = this.JFOMEAPNHCB; this.ACJCPCJAAIB = true; this.BGNFBBLOCFE(); } } } // Token: 0x060021E1 RID: 8673 RVA: 0x00089D70 File Offset: 0x00087F70 [Token(Token = "0x60021E1")] [Address(RVA = "0x1654780", Offset = "0x1653580", VA = "0x181654780")] private void BGNFBBLOCFE() { int num; Dictionary dictionary; do { num = 0; if ((this.ACJCPCJAAIB ? 1 : 0) == num || (this.OFDFNFPMCAD ? 1 : 0) == num) { return; } dictionary = new Dictionary(); List locgbophemk = SplitTesting.LOCGBOPHEMK; bool flag; if (flag) { } } while (num != 0); CFLMJLFBOKH.JPDEPPBBJHJ(dictionary); } // Token: 0x060021E2 RID: 8674 RVA: 0x00089DC0 File Offset: 0x00087FC0 [Token(Token = "0x60021E2")] [Address(RVA = "0x16549B0", Offset = "0x16537B0", VA = "0x1816549B0")] private void EFMEJEMFFMJ() { JIMCFNAHGJE jfomeapnhcb = this.JFOMEAPNHCB; JIMCFNAHGJE jfomeapnhcb2 = this.JFOMEAPNHCB; JIMCFNAHGJE jfomeapnhcb3 = this.JFOMEAPNHCB; this.ACJCPCJAAIB = true; this.BGNFBBLOCFE(); } // Token: 0x060021E3 RID: 8675 RVA: 0x00089DF8 File Offset: 0x00087FF8 [Token(Token = "0x60021E3")] [Address(RVA = "0x1D803D0", Offset = "0x1D7F1D0", VA = "0x181D803D0")] public bool IsExperimentActive() where T : Enum { Dictionary> hpnbmgeodho = this.HPNBMGEODHO; Type type; string text = SplitTesting.LDGOCFHAEON(type); return hpnbmgeodho.ContainsKey(text); } // Token: 0x060021E4 RID: 8676 RVA: 0x00089E20 File Offset: 0x00088020 [Token(Token = "0x60021E4")] [Address(RVA = "0x1655B40", Offset = "0x1654940", VA = "0x181655B40")] public bool IsExperimentActive(string MNNHDLOHALL) { return this.HPNBMGEODHO.ContainsKey(MNNHDLOHALL); } // Token: 0x060021E5 RID: 8677 RVA: 0x00089E40 File Offset: 0x00088040 [Token(Token = "0x60021E5")] [Address(RVA = "0x1D80480", Offset = "0x1D7F280", VA = "0x181D80480")] public bool IsExperimentSegmentActive(T OKDJAGHCNBG) where T : Enum { throw new NullReferenceException(); } // Token: 0x060021E6 RID: 8678 RVA: 0x00089E54 File Offset: 0x00088054 [Token(Token = "0x60021E6")] [Address(RVA = "0x1655BA0", Offset = "0x16549A0", VA = "0x181655BA0")] public bool IsExperimentSegmentActive(string LMKLAOILAFD, string EPDHDOFPFCO) { /* An exception occurred when decompiling this method (060021E6) ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Boolean SplitTesting::IsExperimentSegmentActive(System.String,System.String) ---> System.Exception: Basic block has to end with unconditional control flow. { Block_0: stloc:string(var_0_07, call:string(SplitTesting::GetExperimentSegment, ldloc:SplitTesting(this), ldloc:string(LMKLAOILAFD))) } at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355 at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123 at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88 --- End of inner exception stack trace --- at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92 at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1663 */; } // Token: 0x060021E7 RID: 8679 RVA: 0x00089E68 File Offset: 0x00088068 [Token(Token = "0x60021E7")] [Address(RVA = "0x1D805B0", Offset = "0x1D7F3B0", VA = "0x181D805B0")] public bool TryGetExperimentSegment(out T CNJOPNLOOID) where T : Enum { Type typeFromHandle = typeof(Type); string text; if (!text.LJGBBKKGKOP()) { object obj = Enum.Parse(typeFromHandle, text); JIMCFNAHGJE jfomeapnhcb = this.JFOMEAPNHCB; return true; } throw new NullReferenceException(); } // Token: 0x060021E8 RID: 8680 RVA: 0x00089EAC File Offset: 0x000880AC [Token(Token = "0x60021E8")] [Address(RVA = "0x1655100", Offset = "0x1653F00", VA = "0x181655100")] public string GetExperimentSegment(string LMKLAOILAFD) { if (this.ACJCPCJAAIB && this.OFDFNFPMCAD) { Dictionary> hpnbmgeodho = this.HPNBMGEODHO; throw new NullReferenceException(); } throw new NullReferenceException(); } // Token: 0x060021E9 RID: 8681 RVA: 0x00089F70 File Offset: 0x00088170 [Token(Token = "0x60021E9")] [Address(RVA = "0x16553D0", Offset = "0x16541D0", VA = "0x1816553D0")] private void IADNPCKGKIE() { List list; int num4; for (;;) { int num = 0; this.DEPEKLPBLDJ.Clear(); EFEFMHJPJIJ jfmoegcpnac = this.JFMOEGCPNAC; num += num; num++; EFEFMHJPJIJ jfmoegcpnac2 = this.JFMOEGCPNAC; uint num2; if (num < (int)num2) { num += num; num++; } int num3 = 0; if (num != 0) { EFEFMHJPJIJ jfmoegcpnac3 = this.JFMOEGCPNAC; if (num < num3) { num += num; num++; } Dictionary dictionary = SplitTesting.PPGFHEDFBEA(num); this.DEPEKLPBLDJ = dictionary; } list = new List(); Dictionary.KeyCollection keys = this.DEPEKLPBLDJ.Keys; bool flag; if (flag) { break; } num4 = 0; if (num == 0) { goto Block_4; } } Dictionary> hpnbmgeodho = this.HPNBMGEODHO; throw new NullReferenceException(); Block_4: int size = list._size; if (num4 < size) { Dictionary depeklpbldj = this.DEPEKLPBLDJ; ThrowHelper.ThrowArgumentOutOfRangeException(); num4++; uint num5; num5 += (uint)8; } this.FDJBHFMPOCC(); this.OFDFNFPMCAD = true; this.BGNFBBLOCFE(); } // Token: 0x060021EA RID: 8682 RVA: 0x0008A060 File Offset: 0x00088260 [Token(Token = "0x60021EA")] [Address(RVA = "0x1654C80", Offset = "0x1653A80", VA = "0x181654C80")] private void EONGNEPINAD(string IKIMPJPDGDP, string BLNFHENKDOK) { if (IKIMPJPDGDP != 0) { Dictionary plagceogobg = this.PLAGCEOGOBG; SplitTesting.JHICADPPJAO(IKIMPJPDGDP, plagceogobg); } if (BLNFHENKDOK != 0) { Dictionary> dictionary = SplitTesting.MGEEAHPEEGN(BLNFHENKDOK); this.OKKFIOPNNIO = dictionary; Dictionary> hpnbmgeodho = this.HPNBMGEODHO; SplitTesting.MMFKLODDCGB(dictionary, hpnbmgeodho); Dictionary> dictionary2 = new Dictionary(); dictionary2.keys = dictionary2; } } // Token: 0x060021EB RID: 8683 RVA: 0x0008A0AC File Offset: 0x000882AC [Token(Token = "0x60021EB")] [Address(RVA = "0x16573F0", Offset = "0x16561F0", VA = "0x1816573F0")] private void PEKFDBCMLBC(string[] HKKKOHJPEGF) { int num = 0; if (HKKKOHJPEGF != 0) { int length = HKKKOHJPEGF.Length; if (num < length) { string text = HKKKOHJPEGF[num]; if (!this.LFNCHNKJLMP(text, num, num)) { object[] array = new object[1]; throw new ArrayTypeMismatchException(); } object[] array2 = new object[3]; throw new ArrayTypeMismatchException(); } } } // Token: 0x060021EC RID: 8684 RVA: 0x0008A198 File Offset: 0x00088398 [Token(Token = "0x60021EC")] [Address(RVA = "0x1654F50", Offset = "0x1653D50", VA = "0x181654F50")] internal static string GPBGLIEPNKA(List BEPOHPNPMDA, float GGDJEGPPFFA) { for (;;) { int num = 0; bool flag; if (flag) { } if (num == 0) { if (num != -1) { } if (Enumerable.LastOrDefault(BEPOHPNPMDA) != 0) { break; } } } throw new NullReferenceException(); } // Token: 0x060021ED RID: 8685 RVA: 0x0008A1CC File Offset: 0x000883CC [Token(Token = "0x60021ED")] [Address(RVA = "0x1655FA0", Offset = "0x1654DA0", VA = "0x181655FA0")] internal static string LDGOCFHAEON(Type PEJAHNPLHIN) { Guid guid = PEJAHNPLHIN.GUID; throw new NullReferenceException(); } // Token: 0x060021EE RID: 8686 RVA: 0x0008A1E8 File Offset: 0x000883E8 [Token(Token = "0x60021EE")] [Address(RVA = "0x1654A70", Offset = "0x1653870", VA = "0x181654A70")] private void ENPEOJFEGDN(Type PEJAHNPLHIN) { if (PEJAHNPLHIN.IsSealed) { int hashCode = PEJAHNPLHIN.GetHashCode(); List list = new List(Enum.GetNames(PEJAHNPLHIN)); Dictionary> hpnbmgeodho = this.HPNBMGEODHO; return; } int hashCode2 = PEJAHNPLHIN.GetHashCode(); string text; Debug.LogError(text); throw new NullReferenceException(); } // Token: 0x060021EF RID: 8687 RVA: 0x0008A22C File Offset: 0x0008842C [Token(Token = "0x60021EF")] [Address(RVA = "0x1654C10", Offset = "0x1653A10", VA = "0x181654C10")] private void ENPEOJFEGDN(string LMKLAOILAFD, List IECJLBBBJFI) { this.HPNBMGEODHO.Add(LMKLAOILAFD, IECJLBBBJFI); } // Token: 0x060021F0 RID: 8688 RVA: 0x0008A24C File Offset: 0x0008844C [Token(Token = "0x60021F0")] [Address(RVA = "0x1654DB0", Offset = "0x1653BB0", VA = "0x181654DB0")] private void FDJBHFMPOCC() { string text = CHKIKHCFANK.HLHBJCIJPBE(this.DEPEKLPBLDJ, "Serialize"); int num; string text2 = string.Format("{0}|{1}", num, text); EFEFMHJPJIJ jfmoegcpnac = this.JFMOEGCPNAC; int num2 = 0; if (num2 < text) { num2 += num2; num2++; } } // Token: 0x060021F1 RID: 8689 RVA: 0x0008A29C File Offset: 0x0008849C [Token(Token = "0x60021F1")] [Address(RVA = "0x1D802C0", Offset = "0x1D7F0C0", VA = "0x181D802C0")] private bool IJCEMFPLFNH(string AMHNJMOGOGI) where T : Enum { Dictionary> hpnbmgeodho = this.HPNBMGEODHO; List list; if (list.Contains(AMHNJMOGOGI)) { return true; } throw new NullReferenceException(); } // Token: 0x060021F2 RID: 8690 RVA: 0x0008A2C4 File Offset: 0x000884C4 [Token(Token = "0x60021F2")] [Address(RVA = "0x1655BD0", Offset = "0x16549D0", VA = "0x181655BD0")] private static void JHICADPPJAO(string ALFCCINFAJL, Dictionary ELLLDPPHNKI) { (new char[1])[0] = (char)((uint)59); string[] array; if (array.Length != 0) { int num = 0; char[] array2 = new char[0]; array2[0] = (char)((uint)61); int length = array.Length; if (num < length) { string[] array3 = array[num].Trim().Split(array2, StringSplitOptions.RemoveEmptyEntries); if (array3.Length == 2) { string text = SplitTesting.FHKEDHKHBPC(array3[0]); string text2 = array3[1]; ELLLDPPHNKI[text] = text2; object[] array4 = new object[2]; throw new ArrayTypeMismatchException(); } num++; num++; } if (num > 0) { object[] array5 = new object[2]; int num2; if (num2 != 0) { } array5[1] = num2; Debug.LogWarningFormat("ST override format errors ({1}): {0}", array5); } } } // Token: 0x060021F3 RID: 8691 RVA: 0x0008A3BC File Offset: 0x000885BC [Token(Token = "0x60021F3")] [Address(RVA = "0x1654F10", Offset = "0x1653D10", VA = "0x181654F10")] internal static string FHKEDHKHBPC(string DMCEEFJIBON) { return "SplitTesting+" + DMCEEFJIBON; } // Token: 0x060021F4 RID: 8692 RVA: 0x0008A3D4 File Offset: 0x000885D4 [Token(Token = "0x60021F4")] [Address(RVA = "0x16564B0", Offset = "0x16552B0", VA = "0x1816564B0")] internal static Dictionary> MGEEAHPEEGN(string CKCGCFGOMAA) { for (;;) { object obj = CHKIKHCFANK.PPGFHEDFBEA(CKCGCFGOMAA, "ParseSplitTestSegmentProbabilities"); Func, string> <>9__62_ = SplitTesting.<>c.<>9__62_0; if (obj == 0) { } if (obj != 0) { if (<>9__62_ == 0) { break; } if (obj == 0) { goto IL_3F; } if (obj != 0) { break; } } } SplitTesting.<>c.<>9__62_0 = delegate(KeyValuePair kvp) { string text; return text; }; IL_3F: if (SplitTesting.<>c.<>9__62_1 == 0) { SplitTesting.<>c.<>9__62_1 = delegate(KeyValuePair kvp) { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); }; } Dictionary, string> dictionary; return dictionary; } // Token: 0x060021F5 RID: 8693 RVA: 0x0008A440 File Offset: 0x00088640 [Token(Token = "0x60021F5")] [Address(RVA = "0x1656710", Offset = "0x1655510", VA = "0x181656710")] internal static void MMFKLODDCGB(Dictionary> OKKFIOPNNIO, Dictionary> HPNBMGEODHO) { SplitTesting.AKDJPOFFNCB akdjpoffncb; do { Func>, string> <>9__63_ = SplitTesting.<>c.<>9__63_0; if (<>9__63_ == 0) { SplitTesting.<>c.<>9__63_0 = delegate(KeyValuePair> kvp) { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); }; } IEnumerable>> enumerable = Enumerable.Select>, string>(OKKFIOPNNIO, <>9__63_); Func>, string> func; if (SplitTesting.<>c.<>9__63_1 == 0) { func = delegate(KeyValuePair> kvp) { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); }; SplitTesting.<>c.<>9__63_1 = func; } IEnumerable>> enumerable2; HashSet hashSet = BCKPFAJAPEO.PBGCPCJGGOO(Enumerable.Except(enumerable, enumerable2)); bool flag; if (flag) { string text; Debug.LogWarning(text); } int num = 0; if (func != 0) { goto IL_19F; } if (num != -1) { } bool flag2; if (flag2) { if (SplitTesting.<>c.<>9__63_2 == 0) { SplitTesting.<>c.<>9__63_2 = (SplitTesting.NBLDKDFEKJO p) => p.k__BackingField; } IEnumerable enumerable3; HashSet hashSet2 = BCKPFAJAPEO.PBGCPCJGGOO(enumerable3); akdjpoffncb.invalidSegmentNames = hashSet2; bool flag3; if (flag3) { if (akdjpoffncb.<>9__4 == 0) { Predicate predicate = delegate(SplitTesting.NBLDKDFEKJO p) { HashSet invalidSegmentNames = akdjpoffncb.invalidSegmentNames; string k__BackingField = p.k__BackingField; return invalidSegmentNames.Contains(k__BackingField); }; akdjpoffncb.<>9__4 = predicate; } string text2; Debug.LogWarning(text2); } num++; int num2 = 0; if (akdjpoffncb != 0) { goto IL_19F; } if (num != -1) { } bool flag4; if (flag4) { string text3; Debug.LogWarning(text3); } num++; int num3 = 0; if (akdjpoffncb != 0) { goto IL_1A5; } if (num != -1) { } float num4; if (num2 > (int)num4) { string text4; Debug.LogWarning(text4); } SplitTesting.<>c <>; if (SplitTesting.<>c.<>9__63_3 == 0) { <> = SplitTesting.<>c.<>9; SplitTesting.<>c.<>9__63_3 = (SplitTesting.NBLDKDFEKJO p) => p.k__BackingField; } IEnumerable enumerable4; HashSet hashSet3 = BCKPFAJAPEO.PBGCPCJGGOO(enumerable4); float num5 = Mathf.Clamp(1f, (float)num3, 1f); if (Enumerable.Any(hashSet3)) { } HashSet.Enumerator enumerator = hashSet3.GetEnumerator(); bool flag5; if (flag5) { SplitTesting.NBLDKDFEKJO nbldkdfekjo; nbldkdfekjo.k__BackingField = <>; nbldkdfekjo.k__BackingField = (float)num3; } num++; if (akdjpoffncb != 0) { goto IL_1B7; } while (num == -1) { } } } while (akdjpoffncb != 0); return; IL_19F: throw new NullReferenceException(); IL_1A5: throw new NullReferenceException(); IL_1B7: throw new NullReferenceException(); } // Token: 0x060021F6 RID: 8694 RVA: 0x0008A624 File Offset: 0x00088824 [Token(Token = "0x60021F6")] [Address(RVA = "0x1655FD0", Offset = "0x1654DD0", VA = "0x181655FD0")] private bool LFNCHNKJLMP(string PNCOAJDOCKA, out string ECDFKDNBPHE, out string MIOHCPGHLJI) { int num; do { num = 0; string text = PNCOAJDOCKA.ToLower(); bool flag; if (flag) { bool flag2; if (flag2 && PNCOAJDOCKA.ToLower() == 0) { continue; } if (num != 0) { goto IL_4F; } while (1UL == (ulong)(-1L)) { } if (PNCOAJDOCKA == (ulong)146L) { } while (PNCOAJDOCKA != (ulong)113L) { } } } while (num != 0); if (1UL != (ulong)(-1L)) { return true; } throw new NullReferenceException(); IL_4F: throw new NullReferenceException(); } // Token: 0x060021F7 RID: 8695 RVA: 0x0008A68C File Offset: 0x0008888C [Token(Token = "0x60021F7")] [Address(RVA = "0x1655360", Offset = "0x1654160", VA = "0x181655360")] private static string HLHBJCIJPBE(Dictionary MAAHLEIEFNM) { string text = CHKIKHCFANK.HLHBJCIJPBE(MAAHLEIEFNM, "Serialize"); int num; return string.Format("{0}|{1}", num, text); } // Token: 0x060021F8 RID: 8696 RVA: 0x0008A6B4 File Offset: 0x000888B4 [Token(Token = "0x60021F8")] [Address(RVA = "0x16576D0", Offset = "0x16564D0", VA = "0x1816576D0")] private static Dictionary PPGFHEDFBEA(string ABADFLCBFIJ) { if (!string.IsNullOrEmpty(ABADFLCBFIJ)) { int num2; int num = num2 + 1; string text = ABADFLCBFIJ.Substring(num); int num3 = 0; string text2 = ABADFLCBFIJ.Substring(num3, num2); bool flag; if (!flag) { } object[] array = new object[2]; int num4; if (num4 != 0) { } array[0] = num4; array[1] = ABADFLCBFIJ; Debug.LogErrorFormat("Invalid saved data for SplitTesting. Clearing data. Version: {0}, Raw Data: {1}", array); return new Dictionary(); } return new Dictionary(); } // Token: 0x060021F9 RID: 8697 RVA: 0x0008A734 File Offset: 0x00088934 [Token(Token = "0x60021F9")] [Address(RVA = "0x16562D0", Offset = "0x16550D0", VA = "0x1816562D0")] private static Dictionary MCKLOOGPEBB(string MBCDIPMCJDM) { int num; Dictionary dictionary; do { num = 0; dictionary = new Dictionary(); object obj = CHKIKHCFANK.PPGFHEDFBEA(MBCDIPMCJDM, "Deserialize_v1"); if (obj == 0 || obj == 0) { break; } Dictionary dictionary2 = new Dictionary(); Dictionary.Enumerator enumerator = dictionary2.GetEnumerator(); bool flag; if (flag && dictionary2 != 0 && dictionary2 == 0) { goto IL_43; } } while (num != 0); return dictionary; IL_43: throw new NullReferenceException(); } // Token: 0x060021FA RID: 8698 RVA: 0x0008A78C File Offset: 0x0008898C [Token(Token = "0x60021FA")] [Address(RVA = "0x1657C70", Offset = "0x1656A70", VA = "0x181657C70")] public SplitTesting() { Dictionary> dictionary = new Dictionary(); this.HPNBMGEODHO = dictionary; Dictionary dictionary2 = new Dictionary(); this.DEPEKLPBLDJ = dictionary2; Dictionary dictionary3 = new Dictionary(); this.PLAGCEOGOBG = dictionary3; Dictionary> dictionary4 = new Dictionary(); this.OKKFIOPNNIO = dictionary4; base..ctor(); } // Token: 0x060021FB RID: 8699 RVA: 0x0008A7D4 File Offset: 0x000889D4 // Note: this type is marked as 'beforefieldinit'. [Token(Token = "0x60021FB")] [Address(RVA = "0x1657920", Offset = "0x1656720", VA = "0x181657920")] static SplitTesting() { List list = new List(); Type typeFromHandle = typeof(SplitTesting.RoomRecommendations_2020_05_06); list.Add(typeFromHandle); Type typeFromHandle2 = typeof(SplitTesting.RoomRecommendationsType_2020_08_14); list.Add(typeFromHandle2); Type typeFromHandle3 = typeof(SplitTesting.Promo_Pack_2020_05_27); list.Add(typeFromHandle3); Type typeFromHandle4 = typeof(SplitTesting.GottaGoFastNUX_2020_09_04); list.Add(typeFromHandle4); Type typeFromHandle5 = typeof(SplitTesting.PlayMenuRRUI_HotRoomsCarousel_2021_02_09); list.Add(typeFromHandle5); Type typeFromHandle6 = typeof(SplitTesting.PlayMenuRRUI_CarouselOrdering_2021_02_09); list.Add(typeFromHandle6); Type typeFromHandle7 = typeof(SplitTesting.RecRoomPlus_DormMirrorButton_2021_03_09); list.Add(typeFromHandle7); Type typeFromHandle8 = typeof(SplitTesting.CreationCommands_2021_02_16); list.Add(typeFromHandle8); Type typeFromHandle9 = typeof(SplitTesting.MutualFriends_2021_04_22); list.Add(typeFromHandle9); Type typeFromHandle10 = typeof(SplitTesting.CurrentContestWinnersCarouselVisibility_2021_04_15); list.Add(typeFromHandle10); Type typeFromHandle11 = typeof(SplitTesting.PlayMenuRRUI_DefaultTab_2021_05_13); list.Add(typeFromHandle11); Type typeFromHandle12 = typeof(SplitTesting.ProfileOnClick_2021_04_30); list.Add(typeFromHandle12); Type typeFromHandle13 = typeof(SplitTesting.PlayHighlightCardSizes_2021_05_04); list.Add(typeFromHandle13); Type typeFromHandle14 = typeof(SplitTesting.IOSLowHalfResolutionTextures_2021_05_14); list.Add(typeFromHandle14); Type typeFromHandle15 = typeof(SplitTesting.DefaultNewPlayersToPlayMenu_2021_05_24); list.Add(typeFromHandle15); Type typeFromHandle16 = typeof(SplitTesting.ShowNewRRPlusIcon_2021_06_01); list.Add(typeFromHandle16); Type typeFromHandle17 = typeof(SplitTesting.WatchStoreHomepageLayout_2021_06_14); list.Add(typeFromHandle17); Type typeFromHandle18 = typeof(SplitTesting.ShowNewRRPlusBenefitsPage_2021_06_14); list.Add(typeFromHandle18); Type typeFromHandle19 = typeof(SplitTesting.NotificationPermissionsSkipButton_2021_06_25); list.Add(typeFromHandle19); Type typeFromHandle20 = typeof(SplitTesting.NotificationPermissionsExplanationText_2021_06_25); list.Add(typeFromHandle20); Type typeFromHandle21 = typeof(SplitTesting.NotificationPermissionsContextualPrompts_2021_06_25); list.Add(typeFromHandle21); Type typeFromHandle22 = typeof(SplitTesting.ParallelNetworkingInitialRoomLoad_2021_06_28); list.Add(typeFromHandle22); SplitTesting.LOCGBOPHEMK = list; } // Token: 0x040019C0 RID: 6592 [Token(Token = "0x40019C0")] private const string KBBLIOLNEKC = "SplitTestAssignedSegments"; // Token: 0x040019C1 RID: 6593 [Token(Token = "0x40019C1")] private const int AENAELBLLNE = 1; // Token: 0x040019C2 RID: 6594 [Token(Token = "0x40019C2")] private const string DKBLJAHPCPK = "+splittest:"; // Token: 0x040019C3 RID: 6595 [Token(Token = "0x40019C3")] private const string BAIAOPPLJFN = "splitTestHardOverrides"; // Token: 0x040019C4 RID: 6596 [Token(Token = "0x40019C4")] private const string AIJGFHOPJDJ = "splitTestSegmentProbabilities"; // Token: 0x040019C5 RID: 6597 [Token(Token = "0x40019C5")] private static readonly List LOCGBOPHEMK; // Token: 0x040019C6 RID: 6598 [FieldOffset(Offset = "0x18")] [Token(Token = "0x40019C6")] private bool ACJCPCJAAIB; // Token: 0x040019C7 RID: 6599 [FieldOffset(Offset = "0x19")] [Token(Token = "0x40019C7")] private bool OFDFNFPMCAD; // Token: 0x040019C8 RID: 6600 [FieldOffset(Offset = "0x20")] [Token(Token = "0x40019C8")] private Dictionary> HPNBMGEODHO; // Token: 0x040019C9 RID: 6601 [FieldOffset(Offset = "0x28")] [Token(Token = "0x40019C9")] private Dictionary DEPEKLPBLDJ; // Token: 0x040019CA RID: 6602 [FieldOffset(Offset = "0x30")] [Token(Token = "0x40019CA")] private Dictionary PLAGCEOGOBG; // Token: 0x040019CB RID: 6603 [FieldOffset(Offset = "0x38")] [Token(Token = "0x40019CB")] private Dictionary> OKKFIOPNNIO; // Token: 0x040019CC RID: 6604 [FieldOffset(Offset = "0x40")] [Token(Token = "0x40019CC")] private JIMCFNAHGJE JFOMEAPNHCB; // Token: 0x040019CD RID: 6605 [FieldOffset(Offset = "0x48")] [Token(Token = "0x40019CD")] private EFEFMHJPJIJ JFMOEGCPNAC; // Token: 0x02000464 RID: 1124 [Token(Token = "0x2000464")] public class NBLDKDFEKJO : IFAIJAGLDFK { // Token: 0x170005EB RID: 1515 // (get) Token: 0x060021FC RID: 8700 RVA: 0x0008A9A8 File Offset: 0x00088BA8 // (set) Token: 0x060021FD RID: 8701 RVA: 0x0008A9BC File Offset: 0x00088BBC [Token(Token = "0x170005EB")] public string ICNIIJELCAD { [Token(Token = "0x60021FC")] [Address(RVA = "0x3F6E20", Offset = "0x3F5C20", VA = "0x1803F6E20")] get; [Token(Token = "0x60021FD")] [Address(RVA = "0x3F7200", Offset = "0x3F6000", VA = "0x1803F7200")] set; } // Token: 0x170005EC RID: 1516 // (get) Token: 0x060021FE RID: 8702 RVA: 0x0008A9D0 File Offset: 0x00088BD0 // (set) Token: 0x060021FF RID: 8703 RVA: 0x0008A9E4 File Offset: 0x00088BE4 [Token(Token = "0x170005EC")] public float ELKKIIGGEBG { [Token(Token = "0x60021FE")] [Address(RVA = "0x7634E0", Offset = "0x7622E0", VA = "0x1807634E0")] get; [Token(Token = "0x60021FF")] [Address(RVA = "0x731040", Offset = "0x72FE40", VA = "0x180731040")] set; } // Token: 0x06002200 RID: 8704 RVA: 0x0008A9F8 File Offset: 0x00088BF8 [Token(Token = "0x6002200")] [Address(RVA = "0x1650D80", Offset = "0x164FB80", VA = "0x181650D80", Slot = "4")] public void PPGFHEDFBEA(Dictionary PMMGDNALAEB) { string text = AEOPHJMOOFE.AAKIMHHKCFB("SegmentName", PMMGDNALAEB); this.k__BackingField = text; float num = AEOPHJMOOFE.AAKIMHHKCFB("Probability", PMMGDNALAEB); this.k__BackingField = num; } // Token: 0x06002201 RID: 8705 RVA: 0x0008AA2C File Offset: 0x00088C2C [Token(Token = "0x6002201")] [Address(RVA = "0x3F5100", Offset = "0x3F3F00", VA = "0x1803F5100")] public NBLDKDFEKJO() { } } // Token: 0x02000465 RID: 1125 [Token(Token = "0x2000465")] public enum Promo_Pack_2020_05_27 { // Token: 0x040019D1 RID: 6609 [Token(Token = "0x40019D1")] NoPurchaseReminder, // Token: 0x040019D2 RID: 6610 [Token(Token = "0x40019D2")] ShowPurchaseReminder_A, // Token: 0x040019D3 RID: 6611 [Token(Token = "0x40019D3")] ShowPurchaseReminder_B } // Token: 0x02000466 RID: 1126 [Token(Token = "0x2000466")] public enum Example_Test_2020_06_06 { // Token: 0x040019D5 RID: 6613 [Token(Token = "0x40019D5")] On, // Token: 0x040019D6 RID: 6614 [Token(Token = "0x40019D6")] Off } // Token: 0x02000467 RID: 1127 [Token(Token = "0x2000467")] public enum RoomRecommendations_2020_05_06 { // Token: 0x040019D8 RID: 6616 [Token(Token = "0x40019D8")] On, // Token: 0x040019D9 RID: 6617 [Token(Token = "0x40019D9")] Off } // Token: 0x02000468 RID: 1128 [Token(Token = "0x2000468")] public enum RoomRecommendationsType_2020_08_14 { // Token: 0x040019DB RID: 6619 [Token(Token = "0x40019DB")] June22, // Token: 0x040019DC RID: 6620 [Token(Token = "0x40019DC")] Aug14JuniorSpecificModel, // Token: 0x040019DD RID: 6621 [Token(Token = "0x40019DD")] Aug14JuniorAccessibleModelForAll, // Token: 0x040019DE RID: 6622 [Token(Token = "0x40019DE")] Aug14MinVisitors350, // Token: 0x040019DF RID: 6623 [Token(Token = "0x40019DF")] Aug14MinVisitors3500, // Token: 0x040019E0 RID: 6624 [Token(Token = "0x40019E0")] Aug14MinVisitors35000 } // Token: 0x02000469 RID: 1129 [Token(Token = "0x2000469")] public enum GottaGoFastNUX_2020_09_04 { // Token: 0x040019E2 RID: 6626 [Token(Token = "0x40019E2")] Off, // Token: 0x040019E3 RID: 6627 [Token(Token = "0x40019E3")] On } // Token: 0x0200046A RID: 1130 [Token(Token = "0x200046A")] public enum IOSLowHalfResolutionTextures_2021_05_14 { // Token: 0x040019E5 RID: 6629 [Token(Token = "0x40019E5")] Off, // Token: 0x040019E6 RID: 6630 [Token(Token = "0x40019E6")] On } // Token: 0x0200046B RID: 1131 [Token(Token = "0x200046B")] public enum PlayMenuRRUI_HotRoomsCarousel_2021_02_09 { // Token: 0x040019E8 RID: 6632 [Token(Token = "0x40019E8")] Off, // Token: 0x040019E9 RID: 6633 [Token(Token = "0x40019E9")] On } // Token: 0x0200046C RID: 1132 [Token(Token = "0x200046C")] public enum PlayMenuRRUI_CarouselOrdering_2021_02_09 { // Token: 0x040019EB RID: 6635 [Token(Token = "0x40019EB")] PlayMenuCarouselOrdering_1, // Token: 0x040019EC RID: 6636 [Token(Token = "0x40019EC")] PlayMenuCarouselOrdering_2, // Token: 0x040019ED RID: 6637 [Token(Token = "0x40019ED")] PlayMenuCarouselOrdering_3 } // Token: 0x0200046D RID: 1133 [Token(Token = "0x200046D")] public enum RecRoomPlus_DormMirrorButton_2021_03_09 { // Token: 0x040019EF RID: 6639 [Token(Token = "0x40019EF")] ButtonOn, // Token: 0x040019F0 RID: 6640 [Token(Token = "0x40019F0")] ButtonOff } // Token: 0x0200046E RID: 1134 [Token(Token = "0x200046E")] public enum CreationCommands_2021_02_16 { // Token: 0x040019F2 RID: 6642 [Token(Token = "0x40019F2")] Off, // Token: 0x040019F3 RID: 6643 [Token(Token = "0x40019F3")] On } // Token: 0x0200046F RID: 1135 [Token(Token = "0x200046F")] public enum MutualFriends_2021_04_22 { // Token: 0x040019F5 RID: 6645 [Token(Token = "0x40019F5")] Off, // Token: 0x040019F6 RID: 6646 [Token(Token = "0x40019F6")] On } // Token: 0x02000470 RID: 1136 [Token(Token = "0x2000470")] public enum CurrentContestWinnersCarouselVisibility_2021_04_15 { // Token: 0x040019F8 RID: 6648 [Token(Token = "0x40019F8")] Off, // Token: 0x040019F9 RID: 6649 [Token(Token = "0x40019F9")] On } // Token: 0x02000471 RID: 1137 [Token(Token = "0x2000471")] public enum PlayMenuRRUI_DefaultTab_2021_05_13 { // Token: 0x040019FB RID: 6651 [Token(Token = "0x40019FB")] Highlight, // Token: 0x040019FC RID: 6652 [Token(Token = "0x40019FC")] RRO, // Token: 0x040019FD RID: 6653 [Token(Token = "0x40019FD")] Hot } // Token: 0x02000472 RID: 1138 [Token(Token = "0x2000472")] public enum ProfileOnClick_2021_04_30 { // Token: 0x040019FF RID: 6655 [Token(Token = "0x40019FF")] Off, // Token: 0x04001A00 RID: 6656 [Token(Token = "0x4001A00")] On } // Token: 0x02000473 RID: 1139 [Token(Token = "0x2000473")] public enum PlayHighlightCardSizes_2021_05_04 { // Token: 0x04001A02 RID: 6658 [Token(Token = "0x4001A02")] Off, // Token: 0x04001A03 RID: 6659 [Token(Token = "0x4001A03")] On } // Token: 0x02000474 RID: 1140 [Token(Token = "0x2000474")] public enum DefaultNewPlayersToPlayMenu_2021_05_24 { // Token: 0x04001A05 RID: 6661 [Token(Token = "0x4001A05")] Off, // Token: 0x04001A06 RID: 6662 [Token(Token = "0x4001A06")] On } // Token: 0x02000475 RID: 1141 [Token(Token = "0x2000475")] public enum ShowNewRRPlusIcon_2021_06_01 { // Token: 0x04001A08 RID: 6664 [Token(Token = "0x4001A08")] OldIcon, // Token: 0x04001A09 RID: 6665 [Token(Token = "0x4001A09")] NewIcon } // Token: 0x02000476 RID: 1142 [Token(Token = "0x2000476")] public enum ShowNewRRPlusBenefitsPage_2021_06_14 { // Token: 0x04001A0B RID: 6667 [Token(Token = "0x4001A0B")] OldPage, // Token: 0x04001A0C RID: 6668 [Token(Token = "0x4001A0C")] NewPage } // Token: 0x02000477 RID: 1143 [Token(Token = "0x2000477")] public enum WatchStoreHomepageLayout_2021_06_14 { // Token: 0x04001A0E RID: 6670 [Token(Token = "0x4001A0E")] OldStoreLayout, // Token: 0x04001A0F RID: 6671 [Token(Token = "0x4001A0F")] NewStoreLayout } // Token: 0x02000478 RID: 1144 [Token(Token = "0x2000478")] public enum NotificationPermissionsSkipButton_2021_06_25 { // Token: 0x04001A11 RID: 6673 [Token(Token = "0x4001A11")] Control, // Token: 0x04001A12 RID: 6674 [Token(Token = "0x4001A12")] HideSkipButton, // Token: 0x04001A13 RID: 6675 [Token(Token = "0x4001A13")] DeemphasizeSkipButton } // Token: 0x02000479 RID: 1145 [Token(Token = "0x2000479")] public enum NotificationPermissionsExplanationText_2021_06_25 { // Token: 0x04001A15 RID: 6677 [Token(Token = "0x4001A15")] Control, // Token: 0x04001A16 RID: 6678 [Token(Token = "0x4001A16")] SpecificValueText } // Token: 0x0200047A RID: 1146 [Token(Token = "0x200047A")] public enum NotificationPermissionsContextualPrompts_2021_06_25 { // Token: 0x04001A18 RID: 6680 [Token(Token = "0x4001A18")] Control, // Token: 0x04001A19 RID: 6681 [Token(Token = "0x4001A19")] ChatAction, // Token: 0x04001A1A RID: 6682 [Token(Token = "0x4001A1A")] EventAction } // Token: 0x0200047B RID: 1147 [Token(Token = "0x200047B")] public enum ParallelNetworkingInitialRoomLoad_2021_06_28 { // Token: 0x04001A1C RID: 6684 [Token(Token = "0x4001A1C")] SequentialLoad, // Token: 0x04001A1D RID: 6685 [Token(Token = "0x4001A1D")] ParallelLoad } // Token: 0x0200047D RID: 1149 [Token(Token = "0x200047D")] [CompilerGenerated] private sealed class AKDJPOFFNCB { // Token: 0x0600220A RID: 8714 RVA: 0x0008AAB4 File Offset: 0x00088CB4 [Token(Token = "0x600220A")] [Address(RVA = "0x3F5100", Offset = "0x3F3F00", VA = "0x1803F5100")] public AKDJPOFFNCB() { } // Token: 0x0600220B RID: 8715 RVA: 0x0008AAC8 File Offset: 0x00088CC8 [Token(Token = "0x600220B")] [Address(RVA = "0x164A860", Offset = "0x1649660", VA = "0x18164A860")] internal bool b__4(SplitTesting.NBLDKDFEKJO p) { HashSet hashSet = this.invalidSegmentNames; string k__BackingField = p.k__BackingField; return hashSet.Contains(k__BackingField); } // Token: 0x04001A25 RID: 6693 [FieldOffset(Offset = "0x10")] [Token(Token = "0x4001A25")] public HashSet invalidSegmentNames; // Token: 0x04001A26 RID: 6694 [FieldOffset(Offset = "0x18")] [Token(Token = "0x4001A26")] public Predicate <>9__4; } }