#define RELEASE using System; using System.Collections; using System.Collections.Generic; using System.Diagnostics; using System.Globalization; using System.IO; using System.Linq; using System.Runtime.CompilerServices; using System.Text.Json; using System.Text.Json.Nodes; using Dalamud.Plugin; using Microsoft.Extensions.Logging; using Questionable.Controller.Utils; using Questionable.Validation; namespace Questionable.Controller; internal abstract class DefinitionRegistry where TDefinition : class { private readonly IDalamudPluginInterface _pluginInterface; private readonly IDefinitionSchemaValidator _schemaValidator; private readonly QuestValidator _questValidator; private readonly ILogger _logger; private readonly Dictionary _definitions = new Dictionary(); public IReadOnlyDictionary Definitions => _definitions; protected abstract string TypeLabel { get; } protected abstract string ConfigDirectoryName { get; } protected abstract string ProjectDirectoryName { get; } protected abstract EPathType PathType { get; } protected DefinitionRegistry(IDalamudPluginInterface pluginInterface, IDefinitionSchemaValidator schemaValidator, QuestValidator questValidator, ILogger logger) { _pluginInterface = pluginInterface; _schemaValidator = schemaValidator; _questValidator = questValidator; _logger = logger; Reload(); } protected abstract IReadOnlyDictionary GetAssemblyDefinitions(); protected virtual DateTime? GetExpiry(TDefinition definition) { return null; } protected virtual string? GetName(TDefinition definition) { return null; } [MethodImpl(MethodImplOptions.NoInlining)] public void Reload() { _definitions.Clear(); _schemaValidator.Reset(); LoadFromAssembly(); try { LoadFromDirectory(_202E_200D_200D_206F_200C_202D_200F_206D_200F_202D_200D_202C_202D_206B_200E_200B_200E_206D_202D_206D_202A_200D_202E_200C_206D_202E_202B_206A_206A_206D_206B_206A_206F_200F_200F_200F_206B_206E_202E_206E_202E(_206D_206F_202D_200C_206F_200D_206C_206C_200F_202A_202E_206D_200F_202C_200D_202D_200D_202B_200B_200F_200F_200D_202B_202C_206C_200B_206D_206A_202C_202C_206F_206A_206A_200C_202A_206A_206D_200E_206A_200C_202E(_206E_206A_206B_206F_200F_206D_206F_206B_206B_206E_200F_200C_200E_202D_200D_206E_200C_206C_206D_206B_202A_206A_206D_202E_206D_202D_202C_200E_206F_206C_200D_206C_206A_202A_206E_206B_200C_202E_200E_200F_202E((FileSystemInfo)_200D_206A_206C_200C_202C_200E_202B_200F_202D_202C_206F_206F_200D_206C_202E_206D_206E_206B_206B_202A_206F_202E_200F_200F_206D_200B_200C_202C_200F_200F_206F_206C_200D_206E_202C_200E_200C_206D_200C_206C_202E(_pluginInterface)), ConfigDirectoryName))); } catch (Exception ex) { _200D_206C_202C_202D_200E_202D_200C_206D_202B_200C_206E_202B_200E_202D_206A_206F_206A_202D_200B_200C_200C_200E_202A_200F_206D_200E_206E_206B_206C_200D_202C_200D_202D_206C_202A_200C_206F_202B_206B_202B_202E(_logger, ex, global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E(-1480922246), new object[1] { TypeLabel }); } IEnumerator enumerator = _schemaValidator.Validate().GetEnumerator(); try { int num = -698035048; while (true) { int num2 = num; int num3 = -698035048; int num4 = num2; switch ((num4 | num3) - (num4 & num3)) { case 0: num = (_202C_206B_202D_200B_202E_206B_202D_202B_202C_200F_202E_206C_202A_200C_202C_200F_202B_202A_200D_202A_206C_206C_202E_206B_200C_202D_200C_200C_202C_200D_202E_206C_202B_200C_202C_200F_200C_206B_202D_202E((IEnumerator)enumerator) ? (-698035047) : (-698035045)); break; case 1: { ValidationIssue current = enumerator.Current; _questValidator.AddValidationIssue(current); num = -698035048; break; } case 2: num = -698035048; break; case 3: goto end_IL_008e; } continue; end_IL_008e: break; } } finally { int num = ((enumerator == null) ? 1453964763 : 1453964760); while (true) { int num5 = num; int num3 = 1453964762; int num4 = num5; switch ((num4 | num3) - (num4 & num3)) { case 0: num = 1453964760; break; case 1: goto end_IL_0128; case 2: _202D_206A_200B_206C_202C_200F_202B_206E_200E_202E_206C_202D_202A_206A_202D_206F_206D_206B_200F_200F_202B_202A_202B_200E_206C_206F_206D_200E_200E_200B_202B_206F_202B_202E_206F_202B_200C_202C_200C_202E_202E((IDisposable)enumerator); num = 1453964763; break; } continue; end_IL_0128: break; } } RemoveExpiredDefinitions(); _202C_206E_206B_202D_202B_202B_206C_202E_206B_206A_206E_202C_200B_202B_200F_200B_202B_206B_200D_200E_200C_200B_202B_202B_200F_202B_200F_202A_206E_200E_206F_200C_206D_206B_206D_200F_206D_206C_206E_202C_202E(_logger, global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E(1196622981), new object[2] { _definitions.Count, TypeLabel }); } [MethodImpl(MethodImplOptions.NoInlining)] [Conditional("RELEASE")] private void LoadFromAssembly() { IReadOnlyDictionary assemblyDefinitions = GetAssemblyDefinitions(); IEnumerator> enumerator = assemblyDefinitions.GetEnumerator(); try { int num = -618996398; while (true) { int num2 = num; int num3 = -618996400; int num4 = num2; switch ((num4 | num3) - (num4 & num3)) { case 2: num = (_202C_206B_202D_200B_202E_206B_202D_202B_202C_200F_202E_206C_202A_200C_202C_200F_202B_202A_200D_202A_206C_206C_202E_206B_200C_202D_200C_200C_202C_200D_202E_206C_202B_200C_202C_200F_200C_206B_202D_202E((IEnumerator)enumerator) ? (-618996399) : (-618996400)); break; case 1: var (key, value) = (KeyValuePair)(ref enumerator.Current); _definitions[key] = value; num = -618996398; break; case 3: num = -618996398; break; case 0: goto end_IL_001a; } continue; end_IL_001a: break; } } finally { int num = ((enumerator == null) ? 476280246 : 476280245); while (true) { int num6 = num; int num3 = 476280247; int num4 = num6; switch ((num4 | num3) - (num4 & num3)) { case 1: goto end_IL_00ce; case 2: _202D_206A_200B_206C_202C_200F_202B_206E_200E_202E_206C_202D_202A_206A_202D_206F_206D_206B_200F_200F_202B_202A_202B_200E_206C_206F_206D_200E_200E_200B_202B_206F_202B_202E_206F_202B_200C_202C_200C_202E_202E((IDisposable)enumerator); num = 476280246; break; case 0: num = 476280245; break; } continue; end_IL_00ce: break; } } _202C_206E_206B_202D_202B_202B_206C_202E_206B_206A_206E_202C_200B_202B_200F_200B_202B_206B_200D_200E_200C_200B_202B_202B_200F_202B_200F_202A_206E_200E_206F_200C_206D_206B_206D_200F_206D_206C_206E_202C_202E(_logger, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(416518745), new object[2] { assemblyDefinitions.Count, TypeLabel }); } [MethodImpl(MethodImplOptions.NoInlining)] [Conditional("DEBUG")] private void LoadFromProjectDirectory() { DirectoryInfo directoryInfo = _200F_206E_206C_202B_200C_200D_202A_202A_206C_202B_202B_200D_202E_200D_206D_206E_206D_206F_206C_202E_202C_202B_200D_206D_200B_202A_206D_206C_206F_206D_200B_200E_200C_202C_206C_206B_202A_200C_202C_202D_202E(_206B_202E_200E_206D_206B_206F_206D_206E_200B_202A_206D_202D_202E_206B_200E_202C_200C_200E_206D_200C_206F_206D_200D_206E_206B_200B_206C_206F_206A_202A_200C_200F_200D_200D_206A_200C_200D_200B_202A_202E_202E(_pluginInterface)); object obj; if (directoryInfo == null) { obj = null; } else { DirectoryInfo directoryInfo2 = _206F_206E_202B_200F_202D_202D_202E_200C_206C_200E_202D_202B_206B_200C_206C_200B_206B_206E_202A_200E_200D_200E_202A_202C_202E_206D_202E_202D_202A_202E_202C_206A_202E_202E_206D_202E_202E_202C_206F_200D_202E(directoryInfo); obj = ((directoryInfo2 != null) ? _206F_206E_202B_200F_202D_202D_202E_200C_206C_200E_202D_202B_206B_200C_206C_200B_206B_206E_202A_200E_200D_200E_202A_202C_202E_206D_202E_202D_202A_202E_202C_206A_202E_202E_206D_202E_202E_202C_206F_200D_202E(directoryInfo2) : null); } DirectoryInfo directoryInfo3 = (DirectoryInfo)obj; int num = ((directoryInfo3 != null) ? 949795038 : 949795037); while (true) { int num2 = num; int num3 = 949795039; int num4 = num2; switch ((num4 | num3) - (num4 & num3)) { case 0: goto IL_007c; case 2: return; case 1: { DirectoryInfo directory = _202E_200D_200D_206F_200C_202D_200F_206D_200F_202D_200D_202C_202D_206B_200E_200B_200E_206D_202D_206D_202A_200D_202E_200C_206D_202E_202B_206A_206A_206D_206B_206A_206F_200F_200F_200F_206B_206E_202E_206E_202E(_206C_200F_202D_202C_202C_202A_206A_202C_200E_206F_200E_200B_202E_206A_202B_202B_200D_206C_202A_206E_200B_200F_200D_202D_202E_206E_206F_200E_202C_202D_206A_200F_200D_206A_200C_200E_200F_200F_202E_206A_202E(_206E_206A_206B_206F_200F_206D_206F_206B_206B_206E_200F_200C_200E_202D_200D_206E_200C_206C_206D_206B_202A_206A_206D_202E_206D_202D_202C_200E_206F_206C_200D_206C_206A_202A_206E_206B_200C_202E_200E_200F_202E((FileSystemInfo)directoryInfo3), global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-896958366), ProjectDirectoryName)); try { LoadFromDirectory(directory); return; } catch (Exception ex) { _definitions.Clear(); _200D_206C_202C_202D_200E_202D_200C_206D_202B_200C_206E_202B_200E_202D_206A_206F_206A_202D_200B_200C_200C_200E_202A_200F_206D_200E_206E_206B_206C_200D_202C_200D_202D_206C_202A_200C_206F_202B_206B_202B_202E(_logger, ex, global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E(1538126235), new object[1] { TypeLabel }); return; } } } continue; IL_007c: num = 949795037; } } [MethodImpl(MethodImplOptions.NoInlining)] private void LoadFromDirectory(DirectoryInfo directory) { int num = (_202A_206B_200D_200C_202E_206A_206E_206A_206D_206E_200D_200F_206B_200E_206D_200C_200F_206E_200E_202B_200B_200F_200F_202C_206F_206A_200E_200E_206A_200D_202D_202D_206A_200F_206E_202D_206F_202C_206A_202E((FileSystemInfo)directory) ? 1970314603 : 1970314600); TDefinition val = default(TDefinition); while (true) { int num2 = num; int num3 = 1970314601; int num4 = num2; switch ((num4 | num3) - (num4 & num3)) { case 0: goto IL_004f; case 1: _202C_206E_206B_202D_202B_202B_206C_202E_206B_206A_206E_202C_200B_202B_200F_200B_202B_206B_200D_200E_200C_200B_202B_202B_200F_202B_200F_202A_206E_200E_206F_200C_206D_206B_206D_200F_206D_206C_206E_202C_202E(_logger, global::_003CModule_003E._200B_206B_206B_200E_200B_206A_206D_206B_206E_200F_206A_206F_206E_202B_200F_206C_202B_206D_206E_200F_200C_200E_206F_200D_200F_200B_202B_202B_202B_202B_206D_202C_206A_206D_200B_206E_200D_206A_206F_200F_202E(1174512965), new object[2] { TypeLabel, directory }); return; case 2: { FileInfo[] array = _206C_200E_206E_206B_206D_202A_206C_202C_200B_206B_200F_200B_206B_202E_200D_202C_206E_206F_200D_202A_202B_206F_206A_200B_202E_206F_202D_200C_206E_206D_200B_200D_202C_200B_206C_206A_206E_206D_200D_200E_202E(directory, global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(-1831198397)); for (int num5 = 0; num5 < array.Length; num5 = (num4 | num3) + (num4 & num3)) { FileInfo fileInfo = array[num5]; ushort? num6 = ExtractIdFromName(_200D_206F_200D_202C_206E_202A_206B_202C_206A_200D_206F_200C_206A_200B_202B_200F_206F_202E_206A_200F_206B_202B_206E_202D_200B_200B_206B_202B_206D_206D_202A_200C_202E_202C_206B_202B_200F_206D_206D_202A_202E((FileSystemInfo)fileInfo)); if (num6.HasValue) { try { FileStream fileStream = _206D_202B_206D_202A_202D_200F_206D_206D_202C_200F_202E_200C_206D_202D_206A_200F_202D_200E_206A_206C_202B_200B_202C_206F_202B_200E_206B_200F_206C_200C_206C_202C_202C_206E_206F_200F_202C_202A_202A_200D_202E(fileInfo); try { JsonNode jsonNode = _202B_202E_200B_206F_202C_202D_202C_206C_206D_206C_200C_202E_200B_206E_206C_202E_200C_206B_206B_202E_206F_206B_200E_200C_200C_206B_206F_202E_200C_202C_200E_200C_200F_206D_202E_206A_200C_200C_206C_200C_202E((Stream)fileStream, (JsonNodeOptions?)null, default(JsonDocumentOptions)); num = ((jsonNode != null) ? (-48815400) : (-48815395)); while (true) { int num7 = num; num3 = -48815396; num4 = num7; int num8 = num4 + num3; int num9 = num4 & num3; switch (num8 - (num9 + num9)) { case 0: num = -48815395; break; case 1: goto end_IL_00fd; case 4: _schemaValidator.Enqueue(num6.Value, jsonNode); val = jsonNode.Deserialize(); num = ((val == null) ? (-48815393) : (-48815394)); break; case 2: _definitions[num6.Value] = val; num = -48815393; break; case 3: goto end_IL_00fd; } continue; end_IL_00fd: break; } } finally { num = ((fileStream == null) ? (-392038256) : (-392038253)); while (true) { int num10 = num; num3 = -392038254; num4 = num10; switch ((num4 | num3) - (num4 & num3)) { case 0: num = -392038253; break; case 2: goto end_IL_01d6; case 1: _202D_206A_200B_206C_202C_200F_202B_206E_200E_202E_206C_202D_202A_206A_202D_206F_206D_206B_200F_200F_202B_202A_202B_200E_206C_206F_206D_200E_200E_200B_202B_206F_202B_202E_206F_202B_200C_202C_200C_202E_202E((IDisposable)fileStream); num = -392038256; break; } continue; end_IL_01d6: break; } } } catch (JsonException ex) { _200D_206C_202C_202D_200E_202D_200C_206D_202B_200C_206E_202B_200E_202D_206A_206F_206A_202D_200B_200C_200C_200E_202A_200F_206D_200E_206E_206B_206C_200D_202C_200D_202D_206C_202A_200C_206F_202B_206B_202B_202E(_logger, (Exception)ex, global::_003CModule_003E._202E_206C_200F_206B_206A_202A_202C_206F_200C_206C_202B_206B_206D_206D_206D_202D_206E_202E_206C_206E_206D_202C_206F_200D_202D_202E_206A_206D_202A_206A_202B_200D_200C_206D_202B_200B_200D_200C_206E_206B_202E(-1372108018), new object[2] { TypeLabel, _206E_206A_206B_206F_200F_206D_206F_206B_206B_206E_200F_200C_200E_202D_200D_206E_200C_206C_206D_206B_202A_206A_206D_202E_206D_202D_202C_200E_206F_206C_200D_206C_206A_202A_206E_206B_200C_202E_200E_200F_202E((FileSystemInfo)fileInfo) }); _questValidator.AddValidationIssue(new ValidationIssue { PathType = PathType, Id = num6.Value.ToString(_202A_206B_200D_200C_206D_206C_200E_206D_202C_206A_206F_206A_206A_200D_206F_202A_202D_206D_202B_206E_206E_206D_202E_200B_206E_200F_202E_202D_200E_206A_200E_206E_200F_200F_206D_200F_202A_202E_206B_202C_202E()), Location = null, Type = EIssueType.InvalidJsonSyntax, Severity = EIssueSeverity.Error, Description = _206E_200B_206E_202A_200F_206A_200F_200B_206B_200F_206C_202E_200F_206F_200E_202E_200D_200C_202C_202C_200B_206A_206C_202D_202C_206F_206C_202D_200D_200B_200F_206D_200E_206C_202C_206F_206E_206E_206A_202C_202E(global::_003CModule_003E._202D_206D_206A_206E_202C_202B_200C_206C_200E_206A_206D_200E_206A_202A_200C_202E_206E_202C_206F_200B_206D_206F_200C_202C_200B_202B_200F_200B_206A_206F_200F_202E_206B_200E_202B_202A_200F_200B_202A_200E_202E(1049555621), _200D_206F_200D_202C_206E_202A_206B_202C_206A_200D_206F_200C_206A_200B_202B_200F_206F_202E_206A_200F_206B_202B_206E_202D_200B_200B_206B_202B_206D_206D_202A_200C_202E_202C_206B_202B_200F_206D_206D_202A_202E((FileSystemInfo)fileInfo), global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E(-437343681), _202A_202D_206C_206F_202B_202C_202D_206D_200D_206A_200F_202B_202B_202C_200F_200D_206F_200C_200E_202A_206B_206A_206F_202D_200B_200B_206D_206C_200B_200C_206C_200B_200E_206B_202A_200C_202B_200C_206B_206F_202E((Exception)ex)) }); } catch (Exception ex2) { _200D_206C_202C_202D_200E_202D_200C_206D_202B_200C_206E_202B_200E_202D_206A_206F_206A_202D_200B_200C_200C_200E_202A_200F_206D_200E_206E_206B_206C_200D_202C_200D_202D_206C_202A_200C_206F_202B_206B_202B_202E(_logger, ex2, global::_003CModule_003E._202A_206B_206D_200C_206B_200E_200E_202A_200B_202E_206A_206F_206A_206B_200E_200D_200F_206D_206E_206A_206F_200C_206C_202C_202A_206E_202C_200B_206E_202A_206E_202B_206B_202E_202E_206A_206D_206D_202C_200F_202E(1347495695), new object[2] { TypeLabel, _206E_206A_206B_206F_200F_206D_206F_206B_206B_206E_200F_200C_200E_202D_200D_206E_200C_206C_206D_206B_202A_206A_206D_202E_206D_202D_202C_200E_206F_206C_200D_206C_206A_202A_206E_206B_200C_202E_200E_200F_202E((FileSystemInfo)fileInfo) }); } } int num11 = num5; num3 = 1; num4 = num11; } return; } } continue; IL_004f: num = 1970314600; } } [MethodImpl(MethodImplOptions.NoInlining)] private void RemoveExpiredDefinitions() { using List.Enumerator enumerator = (from kvp in _definitions.Where(delegate(KeyValuePair kvp) { DateTime? expiry = GetExpiry(kvp.Value); int num5 = ((!expiry.HasValue) ? (-748929161) : (-748929164)); while (true) { int num6 = num5; int num7 = -748929162; int num8 = num6; switch ((num8 | num7) - (num8 & num7)) { case 0: goto IL_0058; case 1: return false; case 2: { DateTime valueOrDefault = expiry.GetValueOrDefault(); return ExpiryUtils.NormalizeExpiry(valueOrDefault) < DateTime.UtcNow; } } continue; IL_0058: num5 = -748929164; } }) select kvp.Key).ToList().GetEnumerator(); int num = 1782167825; while (true) { int num2 = num; int num3 = 1782167824; int num4 = num2; switch ((num4 | num3) - (num4 & num3)) { case 3: num = 1782167825; break; case 2: { ushort current = enumerator.Current; _202C_206E_206B_202D_202B_202B_206C_202E_206B_206A_206E_202C_200B_202B_200F_200B_202B_206B_200D_200E_200C_200B_202B_202B_200F_202B_200F_202A_206E_200E_206F_200C_206D_206B_206D_200F_206D_206C_206E_202C_202E(_logger, global::_003CModule_003E._206C_202A_206D_206A_206E_202A_202B_206F_206D_200F_202D_200F_202D_206A_202C_202B_206D_206A_200E_200E_202D_202D_200D_200C_200D_200D_206D_206E_202A_200F_206E_206C_206D_206A_206D_202B_200F_200D_206E_200C_202E(-767454481), new object[3] { TypeLabel, current, GetName(_definitions[current]) ?? current.ToString(_202A_206B_200D_200C_206D_206C_200E_206D_202C_206A_206F_206A_206A_200D_206F_202A_202D_206D_202B_206E_206E_206D_202E_200B_206E_200F_202E_202D_200E_206A_200E_206E_200F_200F_206D_200F_202A_202E_206B_202C_202E()) }); _definitions.Remove(current); num = 1782167825; break; } case 1: num = (enumerator.MoveNext() ? 1782167826 : 1782167824); break; case 0: return; } } } private static ushort? ExtractIdFromName(string fileName) { ushort result; int num = (ushort.TryParse(_202E_200D_200F_206D_206E_200C_206E_200B_200F_206A_206E_206F_200D_206D_206A_202B_206C_200B_202C_200B_206B_200E_206A_200E_200F_206D_202E_202A_202C_202E_200C_202C_202A_200C_200C_206F_206F_206D_200B_206E_202E(_200E_200D_200F_206D_200B_202D_200E_200D_206C_200C_206C_206A_202C_206E_202E_200B_206E_202A_206C_200D_202D_200D_200F_200E_200D_200E_206A_202E_200F_200C_206B_206A_200B_202D_206E_206F_202D_206E_202E_206A_202E(fileName), '_', 2, StringSplitOptions.None)[0], out result) ? 271957257 : 271957258); while (true) { int num2 = num; int num3 = 271957259; int num4 = num2; int num5 = num4 + num3; int num6 = num4 & num3; switch (num5 - (num6 + num6)) { case 2: return result; case 1: return null; case 0: goto IL_006e; } continue; IL_006e: num = 271957258; } } static DirectoryInfo _200D_206A_206C_200C_202C_200E_202B_200F_202D_202C_206F_206F_200D_206C_202E_206D_206E_206B_206B_202A_206F_202E_200F_200F_206D_200B_200C_202C_200F_200F_206F_206C_200D_206E_202C_200E_200C_206D_200C_206C_202E(IDalamudPluginInterface P_0) { return P_0.ConfigDirectory; } static string _206E_206A_206B_206F_200F_206D_206F_206B_206B_206E_200F_200C_200E_202D_200D_206E_200C_206C_206D_206B_202A_206A_206D_202E_206D_202D_202C_200E_206F_206C_200D_206C_206A_202A_206E_206B_200C_202E_200E_200F_202E(FileSystemInfo P_0) { return P_0.FullName; } static string _206D_206F_202D_200C_206F_200D_206C_206C_200F_202A_202E_206D_200F_202C_200D_202D_200D_202B_200B_200F_200F_200D_202B_202C_206C_200B_206D_206A_202C_202C_206F_206A_206A_200C_202A_206A_206D_200E_206A_200C_202E(string P_0, string P_1) { return Path.Combine(P_0, P_1); } static DirectoryInfo _202E_200D_200D_206F_200C_202D_200F_206D_200F_202D_200D_202C_202D_206B_200E_200B_200E_206D_202D_206D_202A_200D_202E_200C_206D_202E_202B_206A_206A_206D_206B_206A_206F_200F_200F_200F_206B_206E_202E_206E_202E(string P_0) { return new DirectoryInfo(P_0); } static void _200D_206C_202C_202D_200E_202D_200C_206D_202B_200C_206E_202B_200E_202D_206A_206F_206A_202D_200B_200C_200C_200E_202A_200F_206D_200E_206E_206B_206C_200D_202C_200D_202D_206C_202A_200C_206F_202B_206B_202B_202E(ILogger P_0, Exception P_1, string P_2, object[] P_3) { P_0.LogError(P_1, P_2, P_3); } static bool _202C_206B_202D_200B_202E_206B_202D_202B_202C_200F_202E_206C_202A_200C_202C_200F_202B_202A_200D_202A_206C_206C_202E_206B_200C_202D_200C_200C_202C_200D_202E_206C_202B_200C_202C_200F_200C_206B_202D_202E(IEnumerator P_0) { return P_0.MoveNext(); } static void _202D_206A_200B_206C_202C_200F_202B_206E_200E_202E_206C_202D_202A_206A_202D_206F_206D_206B_200F_200F_202B_202A_202B_200E_206C_206F_206D_200E_200E_200B_202B_206F_202B_202E_206F_202B_200C_202C_200C_202E_202E(IDisposable P_0) { P_0.Dispose(); } static void _202C_206E_206B_202D_202B_202B_206C_202E_206B_206A_206E_202C_200B_202B_200F_200B_202B_206B_200D_200E_200C_200B_202B_202B_200F_202B_200F_202A_206E_200E_206F_200C_206D_206B_206D_200F_206D_206C_206E_202C_202E(ILogger P_0, string P_1, object[] P_2) { P_0.LogDebug(P_1, P_2); } static FileInfo _206B_202E_200E_206D_206B_206F_206D_206E_200B_202A_206D_202D_202E_206B_200E_202C_200C_200E_206D_200C_206F_206D_200D_206E_206B_200B_206C_206F_206A_202A_200C_200F_200D_200D_206A_200C_200D_200B_202A_202E_202E(IDalamudPluginInterface P_0) { return P_0.AssemblyLocation; } static DirectoryInfo _200F_206E_206C_202B_200C_200D_202A_202A_206C_202B_202B_200D_202E_200D_206D_206E_206D_206F_206C_202E_202C_202B_200D_206D_200B_202A_206D_206C_206F_206D_200B_200E_200C_202C_206C_206B_202A_200C_202C_202D_202E(FileInfo P_0) { return P_0.Directory; } static DirectoryInfo _206F_206E_202B_200F_202D_202D_202E_200C_206C_200E_202D_202B_206B_200C_206C_200B_206B_206E_202A_200E_200D_200E_202A_202C_202E_206D_202E_202D_202A_202E_202C_206A_202E_202E_206D_202E_202E_202C_206F_200D_202E(DirectoryInfo P_0) { return P_0.Parent; } static string _206C_200F_202D_202C_202C_202A_206A_202C_200E_206F_200E_200B_202E_206A_202B_202B_200D_206C_202A_206E_200B_200F_200D_202D_202E_206E_206F_200E_202C_202D_206A_200F_200D_206A_200C_200E_200F_200F_202E_206A_202E(string P_0, string P_1, string P_2) { return Path.Combine(P_0, P_1, P_2); } static bool _202A_206B_200D_200C_202E_206A_206E_206A_206D_206E_200D_200F_206B_200E_206D_200C_200F_206E_200E_202B_200B_200F_200F_202C_206F_206A_200E_200E_206A_200D_202D_202D_206A_200F_206E_202D_206F_202C_206A_202E(FileSystemInfo P_0) { return P_0.Exists; } static FileInfo[] _206C_200E_206E_206B_206D_202A_206C_202C_200B_206B_200F_200B_206B_202E_200D_202C_206E_206F_200D_202A_202B_206F_206A_200B_202E_206F_202D_200C_206E_206D_200B_200D_202C_200B_206C_206A_206E_206D_200D_200E_202E(DirectoryInfo P_0, string P_1) { return P_0.GetFiles(P_1); } static string _200D_206F_200D_202C_206E_202A_206B_202C_206A_200D_206F_200C_206A_200B_202B_200F_206F_202E_206A_200F_206B_202B_206E_202D_200B_200B_206B_202B_206D_206D_202A_200C_202E_202C_206B_202B_200F_206D_206D_202A_202E(FileSystemInfo P_0) { return P_0.Name; } static FileStream _206D_202B_206D_202A_202D_200F_206D_206D_202C_200F_202E_200C_206D_202D_206A_200F_202D_200E_206A_206C_202B_200B_202C_206F_202B_200E_206B_200F_206C_200C_206C_202C_202C_206E_206F_200F_202C_202A_202A_200D_202E(FileInfo P_0) { return P_0.OpenRead(); } static JsonNode _202B_202E_200B_206F_202C_202D_202C_206C_206D_206C_200C_202E_200B_206E_206C_202E_200C_206B_206B_202E_206F_206B_200E_200C_200C_206B_206F_202E_200C_202C_200E_200C_200F_206D_202E_206A_200C_200C_206C_200C_202E(Stream P_0, JsonNodeOptions? P_1, JsonDocumentOptions P_2) { return JsonNode.Parse(P_0, P_1, P_2); } static CultureInfo _202A_206B_200D_200C_206D_206C_200E_206D_202C_206A_206F_206A_206A_200D_206F_202A_202D_206D_202B_206E_206E_206D_202E_200B_206E_200F_202E_202D_200E_206A_200E_206E_200F_200F_206D_200F_202A_202E_206B_202C_202E() { return CultureInfo.InvariantCulture; } static string _202A_202D_206C_206F_202B_202C_202D_206D_200D_206A_200F_202B_202B_202C_200F_200D_206F_200C_200E_202A_206B_206A_206F_202D_200B_200B_206D_206C_200B_200C_206C_200B_200E_206B_202A_200C_202B_200C_206B_206F_202E(Exception P_0) { return P_0.Message; } static string _206E_200B_206E_202A_200F_206A_200F_200B_206B_200F_206C_202E_200F_206F_200E_202E_200D_200C_202C_202C_200B_206A_206C_202D_202C_206F_206C_202D_200D_200B_200F_206D_200E_206C_202C_206F_206E_206E_206A_202C_202E(string P_0, string P_1, string P_2, string P_3) { return P_0 + P_1 + P_2 + P_3; } static string _200E_200D_200F_206D_200B_202D_200E_200D_206C_200C_206C_206A_202C_206E_202E_200B_206E_202A_206C_200D_202D_200D_200F_200E_200D_200E_206A_202E_200F_200C_206B_206A_200B_202D_206E_206F_202D_206E_202E_206A_202E(string P_0) { return Path.GetFileNameWithoutExtension(P_0); } static string[] _202E_200D_200F_206D_206E_200C_206E_200B_200F_206A_206E_206F_200D_206D_206A_202B_206C_200B_202C_200B_206B_200E_206A_200E_200F_206D_202E_202A_202C_202E_200C_202C_202A_200C_200C_206F_206F_206D_200B_206E_202E(string P_0, char P_1, int P_2, StringSplitOptions P_3) { return P_0.Split(P_1, P_2, P_3); } }