---
Checks: "-*,clang-diagnostic-*,clang-analyzer-*,-clang-analyzer-core.NullDereference,bugprone-*,misc-*,modernize-*,performance-*"
WarningsAsErrors: ""
HeaderFilterRegex: ""
AnalyzeTemporaryDtors: false
FormatStyle: none
CheckOptions:
  - key: bugprone-argument-comment.CommentBoolLiterals
    value: "0"
  - key: bugprone-argument-comment.CommentCharacterLiterals
    value: "0"
  - key: bugprone-argument-comment.CommentFloatLiterals
    value: "0"
  - key: bugprone-argument-comment.CommentIntegerLiterals
    value: "0"
  - key: bugprone-argument-comment.CommentNullPtrs
    value: "0"
  - key: bugprone-argument-comment.CommentStringLiterals
    value: "0"
  - key: bugprone-argument-comment.CommentUserDefinedLiterals
    value: "0"
  - key: bugprone-argument-comment.IgnoreSingleArgument
    value: "0"
  - key: bugprone-argument-comment.StrictMode
    value: "0"
  - key: bugprone-assert-side-effect.AssertMacros
    value: assert,NSAssert,NSCAssert
  - key: bugprone-assert-side-effect.CheckFunctionCalls
    value: "false"
  - key: bugprone-assert-side-effect.IgnoredFunctions
    value: __builtin_expect
  - key: bugprone-dangling-handle.HandleClasses
    value: "std::basic_string_view;std::experimental::basic_string_view"
  - key: bugprone-dynamic-static-initializers.HeaderFileExtensions
    value: ";h;hh;hpp;hxx"
  - key: bugprone-easily-swappable-parameters.IgnoredParameterNames
    value: '"";iterator;Iterator;begin;Begin;end;End;first;First;last;Last;lhs;LHS;rhs;RHS'
  - key: bugprone-easily-swappable-parameters.IgnoredParameterTypeSuffixes
    value: "bool;Bool;_Bool;it;It;iterator;Iterator;inputit;InputIt;forwardit;ForwardIt;bidirit;BidirIt;constiterator;const_iterator;Const_Iterator;Constiterator;ConstIterator;RandomIt;randomit;random_iterator;ReverseIt;reverse_iterator;reverse_const_iterator;ConstReverseIterator;Const_Reverse_Iterator;const_reverse_iterator;Constreverseiterator;constreverseiterator"
  - key: bugprone-easily-swappable-parameters.MinimumLength
    value: "2"
  - key: bugprone-easily-swappable-parameters.ModelImplicitConversions
    value: "true"
  - key: bugprone-easily-swappable-parameters.NamePrefixSuffixSilenceDissimilarityTreshold
    value: "1"
  - key: bugprone-easily-swappable-parameters.QualifiersMix
    value: "false"
  - key: bugprone-easily-swappable-parameters.SuppressParametersUsedTogether
    value: "true"
  - key: bugprone-exception-escape.FunctionsThatShouldNotThrow
    value: ""
  - key: bugprone-exception-escape.IgnoredExceptions
    value: ""
  - key: bugprone-implicit-widening-of-multiplication-result.IncludeStyle
    value: llvm
  - key: bugprone-implicit-widening-of-multiplication-result.UseCXXHeadersInCppSources
    value: "true"
  - key: bugprone-implicit-widening-of-multiplication-result.UseCXXStaticCastsInCppSources
    value: "true"
  - key: bugprone-misplaced-widening-cast.CheckImplicitCasts
    value: "false"
  - key: bugprone-narrowing-conversions.IgnoreConversionFromTypes
    value: ""
  - key: bugprone-narrowing-conversions.PedanticMode
    value: "false"
  - key: bugprone-narrowing-conversions.WarnOnEquivalentBitWidth
    value: "true"
  - key: bugprone-narrowing-conversions.WarnOnFloatingPointNarrowingConversion
    value: "true"
  - key: bugprone-narrowing-conversions.WarnOnIntegerNarrowingConversion
    value: "false"
  - key: bugprone-narrowing-conversions.WarnOnIntegerToFloatingPointNarrowingConversion
    value: "true"
  - key: bugprone-narrowing-conversions.WarnWithinTemplateInstantiation
    value: "false"
  - key: bugprone-not-null-terminated-result.WantToUseSafeFunctions
    value: "true"
  - key: bugprone-reserved-identifier.AggressiveDependentMemberLookup
    value: "false"
  - key: bugprone-reserved-identifier.AllowedIdentifiers
    value: ""
  - key: bugprone-reserved-identifier.Invert
    value: "false"
  - key: bugprone-signal-handler.AsyncSafeFunctionSet
    value: POSIX
  - key: bugprone-signed-char-misuse.CharTypdefsToIgnore
    value: ""
  - key: bugprone-signed-char-misuse.DiagnoseSignedUnsignedCharComparisons
    value: "true"
  - key: bugprone-sizeof-expression.WarnOnSizeOfCompareToConstant
    value: "true"
  - key: bugprone-sizeof-expression.WarnOnSizeOfConstant
    value: "true"
  - key: bugprone-sizeof-expression.WarnOnSizeOfIntegerExpression
    value: "false"
  - key: bugprone-sizeof-expression.WarnOnSizeOfThis
    value: "true"
  - key: bugprone-string-constructor.LargeLengthThreshold
    value: "8388608"
  - key: bugprone-string-constructor.StringNames
    value: "::std::basic_string;::std::basic_string_view"
  - key: bugprone-string-constructor.WarnOnLargeLength
    value: "true"
  - key: bugprone-stringview-nullptr.IncludeStyle
    value: llvm
  - key: bugprone-suspicious-enum-usage.StrictMode
    value: "false"
  - key: bugprone-suspicious-include.HeaderFileExtensions
    value: ";h;hh;hpp;hxx"
  - key: bugprone-suspicious-include.ImplementationFileExtensions
    value: "c;cc;cpp;cxx"
  - key: bugprone-suspicious-missing-comma.MaxConcatenatedTokens
    value: "5"
  - key: bugprone-suspicious-missing-comma.RatioThreshold
    value: "0.200000"
  - key: bugprone-suspicious-missing-comma.SizeThreshold
    value: "5"
  - key: bugprone-suspicious-string-compare.StringCompareLikeFunctions
    value: ""
  - key: bugprone-suspicious-string-compare.WarnOnImplicitComparison
    value: "true"
  - key: bugprone-suspicious-string-compare.WarnOnLogicalNotComparison
    value: "false"
  - key: bugprone-too-small-loop-variable.MagnitudeBitsUpperLimit
    value: "16"
  - key: bugprone-unhandled-self-assignment.WarnOnlyIfThisHasSuspiciousField
    value: "true"
  - key: bugprone-unused-return-value.CheckedFunctions
    value: "::std::async;::std::launder;::std::remove;::std::remove_if;::std::unique;::std::unique_ptr::release;::std::basic_string::empty;::std::vector::empty;::std::back_inserter;::std::distance;::std::find;::std::find_if;::std::inserter;::std::lower_bound;::std::make_pair;::std::map::count;::std::map::find;::std::map::lower_bound;::std::multimap::equal_range;::std::multimap::upper_bound;::std::set::count;::std::set::find;::std::setfill;::std::setprecision;::std::setw;::std::upper_bound;::std::vector::at;::bsearch;::ferror;::feof;::isalnum;::isalpha;::isblank;::iscntrl;::isdigit;::isgraph;::islower;::isprint;::ispunct;::isspace;::isupper;::iswalnum;::iswprint;::iswspace;::isxdigit;::memchr;::memcmp;::strcmp;::strcoll;::strncmp;::strpbrk;::strrchr;::strspn;::strstr;::wcscmp;::access;::bind;::connect;::difftime;::dlsym;::fnmatch;::getaddrinfo;::getopt;::htonl;::htons;::iconv_open;::inet_addr;::isascii;::isatty;::mmap;::newlocale;::openat;::pathconf;::pthread_equal;::pthread_getspecific;::pthread_mutex_trylock;::readdir;::readlink;::recvmsg;::regexec;::scandir;::semget;::setjmp;::shm_open;::shmget;::sigismember;::strcasecmp;::strsignal;::ttyname"
  - key: cert-dcl16-c.NewSuffixes
    value: "L;LL;LU;LLU"
  - key: cert-err33-c.CheckedFunctions
    value: "::aligned_alloc;::asctime_s;::at_quick_exit;::atexit;::bsearch;::bsearch_s;::btowc;::c16rtomb;::c32rtomb;::calloc;::clock;::cnd_broadcast;::cnd_init;::cnd_signal;::cnd_timedwait;::cnd_wait;::ctime_s;::fclose;::fflush;::fgetc;::fgetpos;::fgets;::fgetwc;::fopen;::fopen_s;::fprintf;::fprintf_s;::fputc;::fputs;::fputwc;::fputws;::fread;::freopen;::freopen_s;::fscanf;::fscanf_s;::fseek;::fsetpos;::ftell;::fwprintf;::fwprintf_s;::fwrite;::fwscanf;::fwscanf_s;::getc;::getchar;::getenv;::getenv_s;::gets_s;::getwc;::getwchar;::gmtime;::gmtime_s;::localtime;::localtime_s;::malloc;::mbrtoc16;::mbrtoc32;::mbsrtowcs;::mbsrtowcs_s;::mbstowcs;::mbstowcs_s;::memchr;::mktime;::mtx_init;::mtx_lock;::mtx_timedlock;::mtx_trylock;::mtx_unlock;::printf_s;::putc;::putwc;::raise;::realloc;::remove;::rename;::scanf;::scanf_s;::setlocale;::setvbuf;::signal;::snprintf;::snprintf_s;::sprintf;::sprintf_s;::sscanf;::sscanf_s;::strchr;::strerror_s;::strftime;::strpbrk;::strrchr;::strstr;::strtod;::strtof;::strtoimax;::strtok;::strtok_s;::strtol;::strtold;::strtoll;::strtoul;::strtoull;::strtoumax;::strxfrm;::swprintf;::swprintf_s;::swscanf;::swscanf_s;::thrd_create;::thrd_detach;::thrd_join;::thrd_sleep;::time;::timespec_get;::tmpfile;::tmpfile_s;::tmpnam;::tmpnam_s;::tss_create;::tss_get;::tss_set;::ungetc;::ungetwc;::vfprintf;::vfprintf_s;::vfscanf;::vfscanf_s;::vfwprintf;::vfwprintf_s;::vfwscanf;::vfwscanf_s;::vprintf_s;::vscanf;::vscanf_s;::vsnprintf;::vsnprintf_s;::vsprintf;::vsprintf_s;::vsscanf;::vsscanf_s;::vswprintf;::vswprintf_s;::vswscanf;::vswscanf_s;::vwprintf_s;::vwscanf;::vwscanf_s;::wcrtomb;::wcschr;::wcsftime;::wcspbrk;::wcsrchr;::wcsrtombs;::wcsrtombs_s;::wcsstr;::wcstod;::wcstof;::wcstoimax;::wcstok;::wcstok_s;::wcstol;::wcstold;::wcstoll;::wcstombs;::wcstombs_s;::wcstoul;::wcstoull;::wcstoumax;::wcsxfrm;::wctob;::wctrans;::wctype;::wmemchr;::wprintf_s;::wscanf;::wscanf_s;"
  - key: cert-oop54-cpp.WarnOnlyIfThisHasSuspiciousField
    value: "false"
  - key: cert-str34-c.DiagnoseSignedUnsignedCharComparisons
    value: "false"
  - key: cppcoreguidelines-non-private-member-variables-in-classes.IgnoreClassesWithAllMemberVariablesBeingPublic
    value: "true"
  - key: google-readability-braces-around-statements.ShortStatementLines
    value: "1"
  - key: google-readability-function-size.StatementThreshold
    value: "800"
  - key: google-readability-namespace-comments.ShortNamespaceLines
    value: "10"
  - key: google-readability-namespace-comments.SpacesBeforeComments
    value: "2"
  - key: llvm-else-after-return.WarnOnConditionVariables
    value: "false"
  - key: llvm-else-after-return.WarnOnUnfixable
    value: "false"
  - key: llvm-qualified-auto.AddConstToQualified
    value: "false"
  - key: misc-definitions-in-headers.HeaderFileExtensions
    value: ";h;hh;hpp;hxx"
  - key: misc-definitions-in-headers.UseHeaderFileExtension
    value: "true"
  - key: misc-non-private-member-variables-in-classes.IgnoreClassesWithAllMemberVariablesBeingPublic
    value: "false"
  - key: misc-non-private-member-variables-in-classes.IgnorePublicMemberVariables
    value: "false"
  - key: misc-throw-by-value-catch-by-reference.CheckThrowTemporaries
    value: "true"
  - key: misc-throw-by-value-catch-by-reference.MaxSize
    value: "-1"
  - key: misc-throw-by-value-catch-by-reference.WarnOnLargeObjects
    value: "false"
  - key: misc-uniqueptr-reset-release.IncludeStyle
    value: llvm
  - key: misc-unused-parameters.StrictMode
    value: "false"
  - key: modernize-avoid-bind.PermissiveParameterList
    value: "false"
  - key: modernize-loop-convert.IncludeStyle
    value: llvm
  - key: modernize-loop-convert.MakeReverseRangeFunction
    value: ""
  - key: modernize-loop-convert.MakeReverseRangeHeader
    value: ""
  - key: modernize-loop-convert.MaxCopySize
    value: "16"
  - key: modernize-loop-convert.MinConfidence
    value: reasonable
  - key: modernize-loop-convert.NamingStyle
    value: CamelCase
  - key: modernize-loop-convert.UseCxx20ReverseRanges
    value: "true"
  - key: modernize-make-shared.IgnoreDefaultInitialization
    value: "true"
  - key: modernize-make-shared.IgnoreMacros
    value: "true"
  - key: modernize-make-shared.IncludeStyle
    value: llvm
  - key: modernize-make-shared.MakeSmartPtrFunction
    value: "std::make_shared"
  - key: modernize-make-shared.MakeSmartPtrFunctionHeader
    value: "<memory>"
  - key: modernize-make-unique.IgnoreDefaultInitialization
    value: "true"
  - key: modernize-make-unique.IgnoreMacros
    value: "true"
  - key: modernize-make-unique.IncludeStyle
    value: llvm
  - key: modernize-make-unique.MakeSmartPtrFunction
    value: "std::make_unique"
  - key: modernize-make-unique.MakeSmartPtrFunctionHeader
    value: "<memory>"
  - key: modernize-pass-by-value.IncludeStyle
    value: llvm
  - key: modernize-pass-by-value.ValuesOnly
    value: "false"
  - key: modernize-raw-string-literal.DelimiterStem
    value: lit
  - key: modernize-raw-string-literal.ReplaceShorterLiterals
    value: "false"
  - key: modernize-replace-auto-ptr.IncludeStyle
    value: llvm
  - key: modernize-replace-disallow-copy-and-assign-macro.MacroName
    value: DISALLOW_COPY_AND_ASSIGN
  - key: modernize-replace-random-shuffle.IncludeStyle
    value: llvm
  - key: modernize-use-auto.MinTypeNameLength
    value: "5"
  - key: modernize-use-auto.RemoveStars
    value: "false"
  - key: modernize-use-bool-literals.IgnoreMacros
    value: "true"
  - key: modernize-use-default-member-init.IgnoreMacros
    value: "true"
  - key: modernize-use-default-member-init.UseAssignment
    value: "false"
  - key: modernize-use-emplace.ContainersWithPushBack
    value: "::std::vector;::std::list;::std::deque"
  - key: modernize-use-emplace.IgnoreImplicitConstructors
    value: "false"
  - key: modernize-use-emplace.SmartPointers
    value: "::std::shared_ptr;::std::unique_ptr;::std::auto_ptr;::std::weak_ptr"
  - key: modernize-use-emplace.TupleMakeFunctions
    value: "::std::make_pair;::std::make_tuple"
  - key: modernize-use-emplace.TupleTypes
    value: "::std::pair;::std::tuple"
  - key: modernize-use-equals-default.IgnoreMacros
    value: "true"
  - key: modernize-use-equals-delete.IgnoreMacros
    value: "true"
  - key: modernize-use-nodiscard.ReplacementString
    value: "[[nodiscard]]"
  - key: modernize-use-noexcept.ReplacementString
    value: ""
  - key: modernize-use-noexcept.UseNoexceptFalse
    value: "true"
  - key: modernize-use-nullptr.NullMacros
    value: "NULL"
  - key: modernize-use-override.AllowOverrideAndFinal
    value: "false"
  - key: modernize-use-override.FinalSpelling
    value: final
  - key: modernize-use-override.IgnoreDestructors
    value: "false"
  - key: modernize-use-override.OverrideSpelling
    value: override
  - key: modernize-use-transparent-functors.SafeMode
    value: "false"
  - key: modernize-use-using.IgnoreMacros
    value: "true"
  - key: performance-faster-string-find.StringLikeClasses
    value: "::std::basic_string;::std::basic_string_view"
  - key: performance-for-range-copy.AllowedTypes
    value: ""
  - key: performance-for-range-copy.WarnOnAllAutoCopies
    value: "false"
  - key: performance-inefficient-string-concatenation.StrictMode
    value: "false"
  - key: performance-inefficient-vector-operation.EnableProto
    value: "false"
  - key: performance-inefficient-vector-operation.VectorLikeClasses
    value: "::std::vector"
  - key: performance-move-const-arg.CheckTriviallyCopyableMove
    value: "true"
  - key: performance-no-automatic-move.AllowedTypes
    value: ""
  - key: performance-type-promotion-in-math-fn.IncludeStyle
    value: llvm
  - key: performance-unnecessary-copy-initialization.AllowedTypes
    value: ""
  - key: performance-unnecessary-copy-initialization.ExcludedContainerTypes
    value: ""
  - key: performance-unnecessary-value-param.AllowedTypes
    value: ""
  - key: performance-unnecessary-value-param.IncludeStyle
    value: llvm
