<PackageReference Include="SSH.NET" Version="2025.0.0" />

<RegexGenerator_g>FF02E8C37B99F41659B0026E2B1005AC8CE9F303D9F9E176C498C4EA009567923__GetFileInfoRegex_8

using System.CodeDom.Compiler; using System.Collections; using System.Runtime.CompilerServices; namespace System.Text.RegularExpressions.Generated { [GeneratedCode("System.Text.RegularExpressions.Generator", "8.0.12.16413")] internal sealed class <RegexGenerator_g>FF02E8C37B99F41659B0026E2B1005AC8CE9F303D9F9E176C498C4EA009567923__GetFileInfoRegex_8 : Regex { private sealed class RunnerFactory : RegexRunnerFactory { private sealed class Runner : RegexRunner { protected override void Scan(ReadOnlySpan<char> inputSpan) { while (TryFindNextPossibleStartingPosition(inputSpan) && !TryMatchAtCurrentPosition(inputSpan) && runtextpos != inputSpan.Length) { runtextpos++; if (<RegexGenerator_g>FF02E8C37B99F41659B0026E2B1005AC8CE9F303D9F9E176C498C4EA009567923__Utilities.s_hasTimeout) CheckTimeout(); } } private bool TryFindNextPossibleStartingPosition(ReadOnlySpan<char> inputSpan) { int runtextpos = base.runtextpos; if (runtextpos <= inputSpan.Length - 9) { ReadOnlySpan<char> readOnlySpan = inputSpan.Slice(runtextpos); int num; for (num = 0; num < readOnlySpan.Length - 8; num++) { int num2 = readOnlySpan.Slice(num).IndexOf('C'); if (num2 < 0) break; num += num2; if ((uint)(num + 5) >= (uint)readOnlySpan.Length) break; if (readOnlySpan[num + 5] == ' ' && char.IsDigit(readOnlySpan[num + 1])) { base.runtextpos = runtextpos + num; return true; } } } base.runtextpos = inputSpan.Length; return false; } private bool TryMatchAtCurrentPosition(ReadOnlySpan<char> inputSpan) { int runtextpos = base.runtextpos; int start = runtextpos; int num = 0; int num2 = 0; int num3 = 0; ReadOnlySpan<char> span = inputSpan.Slice(runtextpos); if (span.IsEmpty || span[0] != 'C') { <TryMatchAtCurrentPosition>g__UncaptureUntil|2_0(0); return false; } runtextpos++; span = inputSpan.Slice(runtextpos); num = runtextpos; if ((uint)span.Length < 4 || !char.IsDigit(span[0]) || !char.IsDigit(span[1]) || !char.IsDigit(span[2]) || !char.IsDigit(span[3])) { <TryMatchAtCurrentPosition>g__UncaptureUntil|2_0(0); return false; } runtextpos += 4; span = inputSpan.Slice(runtextpos); Capture(1, num, runtextpos); if (span.IsEmpty || span[0] != ' ') { <TryMatchAtCurrentPosition>g__UncaptureUntil|2_0(0); return false; } runtextpos++; span = inputSpan.Slice(runtextpos); num2 = runtextpos; int i; for (i = 0; (uint)i < (uint)span.Length && char.IsDigit(span[i]); i++) { } if (i == 0) { <TryMatchAtCurrentPosition>g__UncaptureUntil|2_0(0); return false; } span = span.Slice(i); runtextpos += i; Capture(2, num2, runtextpos); if (span.IsEmpty || span[0] != ' ') { <TryMatchAtCurrentPosition>g__UncaptureUntil|2_0(0); return false; } runtextpos++; span = inputSpan.Slice(runtextpos); num3 = runtextpos; int num4 = span.IndexOf('\n'); if (num4 < 0) num4 = span.Length; if (num4 == 0) { <TryMatchAtCurrentPosition>g__UncaptureUntil|2_0(0); return false; } span = span.Slice(num4); runtextpos += num4; Capture(3, num3, runtextpos); base.runtextpos = runtextpos; Capture(0, start, runtextpos); return true; } } [NullableContext(1)] protected override RegexRunner CreateInstance() { return new Runner(); } } [Nullable(1)] internal static readonly <RegexGenerator_g>FF02E8C37B99F41659B0026E2B1005AC8CE9F303D9F9E176C498C4EA009567923__GetFileInfoRegex_8 Instance = new <RegexGenerator_g>FF02E8C37B99F41659B0026E2B1005AC8CE9F303D9F9E176C498C4EA009567923__GetFileInfoRegex_8(); private <RegexGenerator_g>FF02E8C37B99F41659B0026E2B1005AC8CE9F303D9F9E176C498C4EA009567923__GetFileInfoRegex_8() { pattern = "C(?<mode>\\d{4}) (?<length>\\d+) (?<filename>.+)"; roptions = RegexOptions.None; Regex.ValidateMatchTimeout(<RegexGenerator_g>FF02E8C37B99F41659B0026E2B1005AC8CE9F303D9F9E176C498C4EA009567923__Utilities.s_defaultTimeout); internalMatchTimeout = <RegexGenerator_g>FF02E8C37B99F41659B0026E2B1005AC8CE9F303D9F9E176C498C4EA009567923__Utilities.s_defaultTimeout; factory = new RunnerFactory(); base.CapNames = new Hashtable { { "0", 0 }, { "filename", 3 }, { "length", 2 }, { "mode", 1 } }; capslist = new string[4] { "0", "mode", "length", "filename" }; capsize = 4; } } }