9        if (!
TryFind(pemData, out var fields))
 
 
   18        if (pemData.
Length < 
"-----BEGIN ".Length + 
"-----".Length * 2 + 
"-----END ".Length)
 
   26        while ((num2 = pemData.IndexOfByOffset(
"-----BEGIN ", num)) >= 0)
 
   28            int num3 = num2 + 
"-----BEGIN ".Length;
 
   34            int num4 = pemData.IndexOfByOffset(
"-----", num3);
 
   40            Range range = num3..num4;
 
   45                int num5 = num4 + 
"-----".Length;
 
   46                int num6 = 
"-----END ".Length + readOnlySpan2.Length + 
"-----".Length;
 
   49                int num7 = pemData.IndexOfByOffset(
value, num5);
 
   52                    int num8 = num7 + num6;
 
   55                        Range range2 = num5..num7;
 
   56                        readOnlySpan = pemData;
 
   57                        if (
TryCountBase64(readOnlySpan[range2], out var base64Start, out var base64End, out var base64DecodedSize))
 
   59                            Range location = num2..num8;
 
   60                            Range base64data = (num5 + base64Start)..(num5 + base64End);
 
   61                            fields = 
new PemFields(range, base64data, location, base64DecodedSize);
 
   78            int length = 
"-----END ".
Length + label.Length + 
"-----".Length;
 
 
   88        int num = 
str.Slice(startPosition).IndexOf(
value);
 
   91            return num + startPosition;
 
 
  103        for (
int i = 0; i < data.
Length; i++)
 
  111            if ((c2 != 
' ' && c2 != 
'-') || !flag)
 
  118        static bool IsLabelChar(
char c)
 
  120            if ((uint)(c - 33) <= 93u)
 
 
  131        base64End = 
str.Length;
 
  134            base64DecodedSize = 0;
 
  139        for (
int i = 0; i < 
str.Length; i++)
 
  154            base64End = 
str.Length;
 
  165            base64DecodedSize = 0;
 
  168        int num3 = num2 + num;
 
  169        if (num2 > 2 || ((uint)num3 & 3u) != 0)
 
  171            base64DecodedSize = 0;
 
  174        base64DecodedSize = (num3 >> 2) * 3 - num2;
 
 
  181        if (
ch != 
'+' && 
ch != 
'/' && (uint)(
ch - 48) >= 10u && (uint)(
ch - 65) >= 26u)
 
  183            return (uint)(
ch - 97) < 26u;
 
 
  191        if (
ch != 
' ' && 
ch != 
'\t' && 
ch != 
'\n')
 
 
  208        if (labelLength > 1073741808)
 
  212        if (dataLength > 1585834053)
 
  216        int num = 
"-----BEGIN ".Length + labelLength + 
"-----".Length;
 
  217        int num2 = 
"-----END ".Length + labelLength + 
"-----".Length;
 
  218        int num3 = num + num2 + 1;
 
  219        int num4 = (dataLength + 2) / 3 << 2;
 
  226        int num6 = num4 + num5;
 
  227        if (
int.MaxValue - num6 < num3)
 
 
  252        while (bytes2.
Length >= 48)
 
  254            charsWritten += WriteBase64(bytes2.
Slice(0, 48), 
destination, charsWritten);
 
  256            bytes2 = bytes2.
Slice(48);
 
  260            charsWritten += WriteBase64(bytes2, 
destination, charsWritten);
 
  279            return charsWritten2;
 
 
  290        char[] 
array = 
new char[encodedSize];
 
 
 
static unsafe bool TryToBase64Chars(ReadOnlySpan< byte > bytes, Span< char > chars, out int charsWritten, Base64FormattingOptions options=Base64FormattingOptions.None)
 
static int DivRem(int a, int b, out int result)
 
static string Argument_PemEncoding_InvalidLabel
 
static string Argument_PemEncoding_EncodedSizeTooLarge
 
static string Argument_PemEncoding_NoPemFound
 
static string ArgumentOutOfRange_NeedPositiveNumber
 
static bool IsBase64Character(char ch)
 
static bool IsValidLabel(ReadOnlySpan< char > data)
 
static PemFields Find(ReadOnlySpan< char > pemData)
 
static bool TryCountBase64(ReadOnlySpan< char > str, out int base64Start, out int base64End, out int base64DecodedSize)
 
static bool TryFind(ReadOnlySpan< char > pemData, out PemFields fields)
 
static int IndexOfByOffset(this ReadOnlySpan< char > str, ReadOnlySpan< char > value, int startPosition)
 
static char[] Write(ReadOnlySpan< char > label, ReadOnlySpan< byte > data)
 
static bool IsWhiteSpaceCharacter(char ch)
 
static bool TryWrite(ReadOnlySpan< char > label, ReadOnlySpan< byte > data, Span< char > destination, out int charsWritten)
 
static int GetEncodedSize(int labelLength, int dataLength)
 
void CopyTo(Span< T > destination)
 
ReadOnlySpan< T > Slice(int start)
 
Span< T > Slice(int start)