562    private static readonly pb::MessageParser<BopParameters> _parser = 
new pb::MessageParser<BopParameters>(() => 
new BopParameters());
 
  563    private pb::UnknownFieldSet _unknownFields;
 
  564    private int _hasBits0;
 
  565    private int _hasBits1;
 
  566    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
  567    [global::System.CodeDom.Compiler.GeneratedCode(
"protoc", 
null)]
 
  568    public static pb::MessageParser<BopParameters> 
Parser { 
get { 
return _parser; } }
 
  570    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
  571    [global::System.CodeDom.Compiler.GeneratedCode(
"protoc", 
null)]
 
  572    public static pbr::MessageDescriptor 
Descriptor {
 
  573      get { 
return global::Google.OrTools.Bop.BopParametersReflection.Descriptor.MessageTypes[2]; }
 
  576    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
 
  577    [global::System.CodeDom.Compiler.GeneratedCode(
"protoc", 
null)]
 
  578    pbr::MessageDescriptor pb::IMessage.Descriptor {
 
  579      get { 
return Descriptor; }
 
  582    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
  583    [global::System.CodeDom.Compiler.GeneratedCode(
"protoc", 
null)]
 
  584    public BopParameters() {
 
  588    partial 
void OnConstruction();
 
 
  590    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
  591    [global::System.CodeDom.Compiler.GeneratedCode(
"protoc", 
null)]
 
  593      _hasBits0 = other._hasBits0;
 
  594      _hasBits1 = other._hasBits1;
 
  595      maxTimeInSeconds_ = other.maxTimeInSeconds_;
 
  596      maxDeterministicTime_ = other.maxDeterministicTime_;
 
  597      lpMaxDeterministicTime_ = other.lpMaxDeterministicTime_;
 
  598      maxNumberOfConsecutiveFailingOptimizerCalls_ = other.maxNumberOfConsecutiveFailingOptimizerCalls_;
 
  599      relativeGapLimit_ = other.relativeGapLimit_;
 
  600      maxNumDecisionsInLs_ = other.maxNumDecisionsInLs_;
 
  601      maxNumBrokenConstraintsInLs_ = other.maxNumBrokenConstraintsInLs_;
 
  602      logSearchProgress_ = other.logSearchProgress_;
 
  603      computeEstimatedImpact_ = other.computeEstimatedImpact_;
 
  604      pruneSearchTree_ = other.pruneSearchTree_;
 
  605      sortConstraintsByNumTerms_ = other.sortConstraintsByNumTerms_;
 
  606      useRandomLns_ = other.useRandomLns_;
 
  607      randomSeed_ = other.randomSeed_;
 
  608      numRelaxedVars_ = other.numRelaxedVars_;
 
  609      maxNumberOfConflictsInRandomLns_ = other.maxNumberOfConflictsInRandomLns_;
 
  610      numRandomLnsTries_ = other.numRandomLnsTries_;
 
  611      maxNumberOfBacktracksInLs_ = other.maxNumberOfBacktracksInLs_;
 
  612      useLpLns_ = other.useLpLns_;
 
  613      useSatToChooseLnsNeighbourhood_ = other.useSatToChooseLnsNeighbourhood_;
 
  614      maxNumberOfConflictsForQuickCheck_ = other.maxNumberOfConflictsForQuickCheck_;
 
  615      useSymmetry_ = other.useSymmetry_;
 
  616      exploitSymmetryInSatFirstSolution_ = other.exploitSymmetryInSatFirstSolution_;
 
  617      maxNumberOfConflictsInRandomSolutionGeneration_ = other.maxNumberOfConflictsInRandomSolutionGeneration_;
 
  618      maxNumberOfExploredAssignmentsPerTryInLs_ = other.maxNumberOfExploredAssignmentsPerTryInLs_;
 
  619      useTranspositionTableInLs_ = other.useTranspositionTableInLs_;
 
  620      usePotentialOneFlipRepairsInLs_ = other.usePotentialOneFlipRepairsInLs_;
 
  621      useLearnedBinaryClausesInLp_ = other.useLearnedBinaryClausesInLp_;
 
  622      numberOfSolvers_ = other.numberOfSolvers_;
 
  623      synchronizationType_ = other.synchronizationType_;
 
  624      solverOptimizerSets_ = other.solverOptimizerSets_.Clone();
 
  625      defaultSolverOptimizerSets_ = other.defaultSolverOptimizerSets_;
 
  626      useLpStrongBranching_ = other.useLpStrongBranching_;
 
  627      decomposerNumVariablesThreshold_ = other.decomposerNumVariablesThreshold_;
 
  628      numBopSolversUsedByDecomposition_ = other.numBopSolversUsedByDecomposition_;
 
  629      decomposedProblemMinTimeInSeconds_ = other.decomposedProblemMinTimeInSeconds_;
 
  630      guidedSatConflictsChunk_ = other.guidedSatConflictsChunk_;
 
  631      maxLpSolveForFeasibilityProblems_ = other.maxLpSolveForFeasibilityProblems_;
 
  632      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
 
  635    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
 
  636    [global::System.CodeDom.Compiler.GeneratedCode(
"protoc", 
null)]
 
  642    public const int MaxTimeInSecondsFieldNumber = 1;
 
  643    private readonly 
static double MaxTimeInSecondsDefaultValue = 
double.PositiveInfinity;
 
  645    private double maxTimeInSeconds_;
 
  650    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
  651    [global::System.CodeDom.Compiler.GeneratedCode(
"protoc", 
null)]
 
  653      get { 
if ((_hasBits0 & 1) != 0) { 
return maxTimeInSeconds_; } 
else { 
return MaxTimeInSecondsDefaultValue; } }
 
  656        maxTimeInSeconds_ = value;
 
  660    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
 
  661    [global::System.CodeDom.Compiler.GeneratedCode(
"protoc", 
null)]
 
  662    public bool HasMaxTimeInSeconds {
 
  663      get { 
return (_hasBits0 & 1) != 0; }
 
  666    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
 
  667    [global::System.CodeDom.Compiler.GeneratedCode(
"protoc", 
null)]
 
  668    public void ClearMaxTimeInSeconds() {
 
  673    public const int MaxDeterministicTimeFieldNumber = 27;
 
  674    private readonly 
static double MaxDeterministicTimeDefaultValue = 
double.PositiveInfinity;
 
  676    private double maxDeterministicTime_;
 
  684    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
  685    [global::System.CodeDom.Compiler.GeneratedCode(
"protoc", 
null)]
 
  687      get { 
if ((_hasBits0 & 4194304) != 0) { 
return maxDeterministicTime_; } 
else { 
return MaxDeterministicTimeDefaultValue; } }
 
  689        _hasBits0 |= 4194304;
 
  690        maxDeterministicTime_ = value;
 
  694    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
 
  695    [global::System.CodeDom.Compiler.GeneratedCode(
"protoc", 
null)]
 
  696    public bool HasMaxDeterministicTime {
 
  697      get { 
return (_hasBits0 & 4194304) != 0; }
 
  700    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
 
  701    [global::System.CodeDom.Compiler.GeneratedCode(
"protoc", 
null)]
 
  702    public void ClearMaxDeterministicTime() {
 
  703      _hasBits0 &= ~4194304;
 
  707    public const int LpMaxDeterministicTimeFieldNumber = 37;
 
  708    private readonly 
static double LpMaxDeterministicTimeDefaultValue = 1D;
 
  710    private double lpMaxDeterministicTime_;
 
  716    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
  717    [global::System.CodeDom.Compiler.GeneratedCode(
"protoc", 
null)]
 
  719      get { 
if ((_hasBits0 & 1073741824) != 0) { 
return lpMaxDeterministicTime_; } 
else { 
return LpMaxDeterministicTimeDefaultValue; } }
 
  721        _hasBits0 |= 1073741824;
 
  722        lpMaxDeterministicTime_ = value;
 
  726    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
 
  727    [global::System.CodeDom.Compiler.GeneratedCode(
"protoc", 
null)]
 
  728    public bool HasLpMaxDeterministicTime {
 
  729      get { 
return (_hasBits0 & 1073741824) != 0; }
 
  732    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
 
  733    [global::System.CodeDom.Compiler.GeneratedCode(
"protoc", 
null)]
 
  734    public void ClearLpMaxDeterministicTime() {
 
  735      _hasBits0 &= ~1073741824;
 
  739    public const int MaxNumberOfConsecutiveFailingOptimizerCallsFieldNumber = 35;
 
  740    private readonly 
static int MaxNumberOfConsecutiveFailingOptimizerCallsDefaultValue = 0;
 
  742    private int maxNumberOfConsecutiveFailingOptimizerCalls_;
 
  750    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
  751    [global::System.CodeDom.Compiler.GeneratedCode(
"protoc", 
null)]
 
  753      get { 
if ((_hasBits0 & 268435456) != 0) { 
return maxNumberOfConsecutiveFailingOptimizerCalls_; } 
else { 
return MaxNumberOfConsecutiveFailingOptimizerCallsDefaultValue; } }
 
  755        _hasBits0 |= 268435456;
 
  756        maxNumberOfConsecutiveFailingOptimizerCalls_ = value;
 
  760    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
 
  761    [global::System.CodeDom.Compiler.GeneratedCode(
"protoc", 
null)]
 
  762    public bool HasMaxNumberOfConsecutiveFailingOptimizerCalls {
 
  763      get { 
return (_hasBits0 & 268435456) != 0; }
 
  766    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
 
  767    [global::System.CodeDom.Compiler.GeneratedCode(
"protoc", 
null)]
 
  768    public void ClearMaxNumberOfConsecutiveFailingOptimizerCalls() {
 
  769      _hasBits0 &= ~268435456;
 
  773    public const int RelativeGapLimitFieldNumber = 28;
 
  774    private readonly 
static double RelativeGapLimitDefaultValue = 0.0001D;
 
  776    private double relativeGapLimit_;
 
  784    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
  785    [global::System.CodeDom.Compiler.GeneratedCode(
"protoc", 
null)]
 
  787      get { 
if ((_hasBits0 & 8388608) != 0) { 
return relativeGapLimit_; } 
else { 
return RelativeGapLimitDefaultValue; } }
 
  789        _hasBits0 |= 8388608;
 
  790        relativeGapLimit_ = value;
 
  794    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
 
  795    [global::System.CodeDom.Compiler.GeneratedCode(
"protoc", 
null)]
 
  796    public bool HasRelativeGapLimit {
 
  797      get { 
return (_hasBits0 & 8388608) != 0; }
 
  800    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
 
  801    [global::System.CodeDom.Compiler.GeneratedCode(
"protoc", 
null)]
 
  802    public void ClearRelativeGapLimit() {
 
  803      _hasBits0 &= ~8388608;
 
  807    public const int MaxNumDecisionsInLsFieldNumber = 2;
 
  808    private readonly 
static int MaxNumDecisionsInLsDefaultValue = 4;
 
  810    private int maxNumDecisionsInLs_;
 
  815    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
  816    [global::System.CodeDom.Compiler.GeneratedCode(
"protoc", 
null)]
 
  818      get { 
if ((_hasBits0 & 2) != 0) { 
return maxNumDecisionsInLs_; } 
else { 
return MaxNumDecisionsInLsDefaultValue; } }
 
  821        maxNumDecisionsInLs_ = value;
 
  825    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
 
  826    [global::System.CodeDom.Compiler.GeneratedCode(
"protoc", 
null)]
 
  827    public bool HasMaxNumDecisionsInLs {
 
  828      get { 
return (_hasBits0 & 2) != 0; }
 
  831    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
 
  832    [global::System.CodeDom.Compiler.GeneratedCode(
"protoc", 
null)]
 
  833    public void ClearMaxNumDecisionsInLs() {
 
  838    public const int MaxNumBrokenConstraintsInLsFieldNumber = 38;
 
  839    private readonly 
static int MaxNumBrokenConstraintsInLsDefaultValue = 2147483647;
 
  841    private int maxNumBrokenConstraintsInLs_;
 
  847    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
  848    [global::System.CodeDom.Compiler.GeneratedCode(
"protoc", 
null)]
 
  850      get { 
if ((_hasBits0 & -2147483648) != 0) { 
return maxNumBrokenConstraintsInLs_; } 
else { 
return MaxNumBrokenConstraintsInLsDefaultValue; } }
 
  852        _hasBits0 |= -2147483648;
 
  853        maxNumBrokenConstraintsInLs_ = value;
 
  857    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
 
  858    [global::System.CodeDom.Compiler.GeneratedCode(
"protoc", 
null)]
 
  859    public bool HasMaxNumBrokenConstraintsInLs {
 
  860      get { 
return (_hasBits0 & -2147483648) != 0; }
 
  863    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
 
  864    [global::System.CodeDom.Compiler.GeneratedCode(
"protoc", 
null)]
 
  865    public void ClearMaxNumBrokenConstraintsInLs() {
 
  866      _hasBits0 &= ~-2147483648;
 
  870    public const int LogSearchProgressFieldNumber = 14;
 
  871    private readonly 
static bool LogSearchProgressDefaultValue = 
false;
 
  873    private bool logSearchProgress_;
 
  877    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
  878    [global::System.CodeDom.Compiler.GeneratedCode(
"protoc", 
null)]
 
  880      get { 
if ((_hasBits0 & 4096) != 0) { 
return logSearchProgress_; } 
else { 
return LogSearchProgressDefaultValue; } }
 
  883        logSearchProgress_ = value;
 
  887    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
 
  888    [global::System.CodeDom.Compiler.GeneratedCode(
"protoc", 
null)]
 
  889    public bool HasLogSearchProgress {
 
  890      get { 
return (_hasBits0 & 4096) != 0; }
 
  893    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
 
  894    [global::System.CodeDom.Compiler.GeneratedCode(
"protoc", 
null)]
 
  895    public void ClearLogSearchProgress() {
 
  900    public const int ComputeEstimatedImpactFieldNumber = 3;
 
  901    private readonly 
static bool ComputeEstimatedImpactDefaultValue = 
true;
 
  903    private bool computeEstimatedImpact_;
 
  907    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
  908    [global::System.CodeDom.Compiler.GeneratedCode(
"protoc", 
null)]
 
  910      get { 
if ((_hasBits0 & 4) != 0) { 
return computeEstimatedImpact_; } 
else { 
return ComputeEstimatedImpactDefaultValue; } }
 
  913        computeEstimatedImpact_ = value;
 
  917    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
 
  918    [global::System.CodeDom.Compiler.GeneratedCode(
"protoc", 
null)]
 
  919    public bool HasComputeEstimatedImpact {
 
  920      get { 
return (_hasBits0 & 4) != 0; }
 
  923    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
 
  924    [global::System.CodeDom.Compiler.GeneratedCode(
"protoc", 
null)]
 
  925    public void ClearComputeEstimatedImpact() {
 
  930    public const int PruneSearchTreeFieldNumber = 4;
 
  931    private readonly 
static bool PruneSearchTreeDefaultValue = 
false;
 
  933    private bool pruneSearchTree_;
 
  937    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
  938    [global::System.CodeDom.Compiler.GeneratedCode(
"protoc", 
null)]
 
  940      get { 
if ((_hasBits0 & 8) != 0) { 
return pruneSearchTree_; } 
else { 
return PruneSearchTreeDefaultValue; } }
 
  943        pruneSearchTree_ = value;
 
  947    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
 
  948    [global::System.CodeDom.Compiler.GeneratedCode(
"protoc", 
null)]
 
  949    public bool HasPruneSearchTree {
 
  950      get { 
return (_hasBits0 & 8) != 0; }
 
  953    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
 
  954    [global::System.CodeDom.Compiler.GeneratedCode(
"protoc", 
null)]
 
  955    public void ClearPruneSearchTree() {
 
  960    public const int SortConstraintsByNumTermsFieldNumber = 5;
 
  961    private readonly 
static bool SortConstraintsByNumTermsDefaultValue = 
false;
 
  963    private bool sortConstraintsByNumTerms_;
 
  968    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
  969    [global::System.CodeDom.Compiler.GeneratedCode(
"protoc", 
null)]
 
  971      get { 
if ((_hasBits0 & 16) != 0) { 
return sortConstraintsByNumTerms_; } 
else { 
return SortConstraintsByNumTermsDefaultValue; } }
 
  974        sortConstraintsByNumTerms_ = value;
 
  978    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
 
  979    [global::System.CodeDom.Compiler.GeneratedCode(
"protoc", 
null)]
 
  980    public bool HasSortConstraintsByNumTerms {
 
  981      get { 
return (_hasBits0 & 16) != 0; }
 
  984    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
 
  985    [global::System.CodeDom.Compiler.GeneratedCode(
"protoc", 
null)]
 
  986    public void ClearSortConstraintsByNumTerms() {
 
  991    public const int UseRandomLnsFieldNumber = 6;
 
  992    private readonly 
static bool UseRandomLnsDefaultValue = 
true;
 
  994    private bool useRandomLns_;
 
  998    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
  999    [global::System.CodeDom.Compiler.GeneratedCode(
"protoc", 
null)]
 
 1001      get { 
if ((_hasBits0 & 32) != 0) { 
return useRandomLns_; } 
else { 
return UseRandomLnsDefaultValue; } }
 
 1004        useRandomLns_ = value;
 
 1008    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
 
 1009    [global::System.CodeDom.Compiler.GeneratedCode(
"protoc", 
null)]
 
 1010    public bool HasUseRandomLns {
 
 1011      get { 
return (_hasBits0 & 32) != 0; }
 
 1014    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
 
 1015    [global::System.CodeDom.Compiler.GeneratedCode(
"protoc", 
null)]
 
 1016    public void ClearUseRandomLns() {
 
 1021    public const int RandomSeedFieldNumber = 7;
 
 1022    private readonly 
static int RandomSeedDefaultValue = 8;
 
 1024    private int randomSeed_;
 
 1032    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
 1033    [global::System.CodeDom.Compiler.GeneratedCode(
"protoc", 
null)]
 
 1035      get { 
if ((_hasBits0 & 64) != 0) { 
return randomSeed_; } 
else { 
return RandomSeedDefaultValue; } }
 
 1038        randomSeed_ = value;
 
 1042    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
 1043    [global::System.CodeDom.Compiler.GeneratedCode(
"protoc", 
null)]
 
 
 1044    public bool HasRandomSeed {
 
 1045      get { 
return (_hasBits0 & 64) != 0; }
 
 1048    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
 1049    [global::System.CodeDom.Compiler.GeneratedCode(
"protoc", 
null)]
 
 
 1056    private readonly 
static int NumRelaxedVarsDefaultValue = 10;
 
 1058    private int numRelaxedVars_;
 
 1062    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
 1063    [global::System.CodeDom.Compiler.GeneratedCode(
"protoc", 
null)]
 
 1065      get { 
if ((_hasBits0 & 128) != 0) { 
return numRelaxedVars_; } 
else { 
return NumRelaxedVarsDefaultValue; } }
 
 1068        numRelaxedVars_ = value;
 
 1072    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
 1073    [global::System.CodeDom.Compiler.GeneratedCode(
"protoc", 
null)]
 
 
 1074    public bool HasNumRelaxedVars {
 
 1075      get { 
return (_hasBits0 & 128) != 0; }
 
 1078    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
 1079    [global::System.CodeDom.Compiler.GeneratedCode(
"protoc", 
null)]
 
 
 1086    private readonly 
static int MaxNumberOfConflictsInRandomLnsDefaultValue = 2500;
 
 1088    private int maxNumberOfConflictsInRandomLns_;
 
 1093    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
 1094    [global::System.CodeDom.Compiler.GeneratedCode(
"protoc", 
null)]
 
 1096      get { 
if ((_hasBits0 & 256) != 0) { 
return maxNumberOfConflictsInRandomLns_; } 
else { 
return MaxNumberOfConflictsInRandomLnsDefaultValue; } }
 
 1099        maxNumberOfConflictsInRandomLns_ = value;
 
 1103    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
 1104    [global::System.CodeDom.Compiler.GeneratedCode(
"protoc", 
null)]
 
 
 1105    public bool HasMaxNumberOfConflictsInRandomLns {
 
 1106      get { 
return (_hasBits0 & 256) != 0; }
 
 1109    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
 1110    [global::System.CodeDom.Compiler.GeneratedCode(
"protoc", 
null)]
 
 
 1117    private readonly 
static int NumRandomLnsTriesDefaultValue = 1;
 
 1119    private int numRandomLnsTries_;
 
 1123    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
 1124    [global::System.CodeDom.Compiler.GeneratedCode(
"protoc", 
null)]
 
 1126      get { 
if ((_hasBits0 & 512) != 0) { 
return numRandomLnsTries_; } 
else { 
return NumRandomLnsTriesDefaultValue; } }
 
 1129        numRandomLnsTries_ = value;
 
 1133    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
 1134    [global::System.CodeDom.Compiler.GeneratedCode(
"protoc", 
null)]
 
 
 1135    public bool HasNumRandomLnsTries {
 
 1136      get { 
return (_hasBits0 & 512) != 0; }
 
 1139    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
 1140    [global::System.CodeDom.Compiler.GeneratedCode(
"protoc", 
null)]
 
 
 1147    private readonly 
static long MaxNumberOfBacktracksInLsDefaultValue = 100000000L;
 
 1149    private long maxNumberOfBacktracksInLs_;
 
 1154    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
 1155    [global::System.CodeDom.Compiler.GeneratedCode(
"protoc", 
null)]
 
 1157      get { 
if ((_hasBits0 & 1024) != 0) { 
return maxNumberOfBacktracksInLs_; } 
else { 
return MaxNumberOfBacktracksInLsDefaultValue; } }
 
 1160        maxNumberOfBacktracksInLs_ = value;
 
 1164    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
 1165    [global::System.CodeDom.Compiler.GeneratedCode(
"protoc", 
null)]
 
 
 1166    public bool HasMaxNumberOfBacktracksInLs {
 
 1167      get { 
return (_hasBits0 & 1024) != 0; }
 
 1170    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
 1171    [global::System.CodeDom.Compiler.GeneratedCode(
"protoc", 
null)]
 
 
 1178    private readonly 
static bool UseLpLnsDefaultValue = 
true;
 
 1180    private bool useLpLns_;
 
 1184    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
 1185    [global::System.CodeDom.Compiler.GeneratedCode(
"protoc", 
null)]
 
 1187      get { 
if ((_hasBits0 & 2048) != 0) { 
return useLpLns_; } 
else { 
return UseLpLnsDefaultValue; } }
 
 1194    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
 1195    [global::System.CodeDom.Compiler.GeneratedCode(
"protoc", 
null)]
 
 
 1196    public bool HasUseLpLns {
 
 1197      get { 
return (_hasBits0 & 2048) != 0; }
 
 1200    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
 1201    [global::System.CodeDom.Compiler.GeneratedCode(
"protoc", 
null)]
 
 
 1208    private readonly 
static bool UseSatToChooseLnsNeighbourhoodDefaultValue = 
true;
 
 1210    private bool useSatToChooseLnsNeighbourhood_;
 
 1214    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
 1215    [global::System.CodeDom.Compiler.GeneratedCode(
"protoc", 
null)]
 
 1217      get { 
if ((_hasBits0 & 8192) != 0) { 
return useSatToChooseLnsNeighbourhood_; } 
else { 
return UseSatToChooseLnsNeighbourhoodDefaultValue; } }
 
 1220        useSatToChooseLnsNeighbourhood_ = value;
 
 1224    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
 1225    [global::System.CodeDom.Compiler.GeneratedCode(
"protoc", 
null)]
 
 
 1226    public bool HasUseSatToChooseLnsNeighbourhood {
 
 1227      get { 
return (_hasBits0 & 8192) != 0; }
 
 1230    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
 1231    [global::System.CodeDom.Compiler.GeneratedCode(
"protoc", 
null)]
 
 
 1238    private readonly 
static int MaxNumberOfConflictsForQuickCheckDefaultValue = 10;
 
 1240    private int maxNumberOfConflictsForQuickCheck_;
 
 1245    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
 1246    [global::System.CodeDom.Compiler.GeneratedCode(
"protoc", 
null)]
 
 1248      get { 
if ((_hasBits0 & 16384) != 0) { 
return maxNumberOfConflictsForQuickCheck_; } 
else { 
return MaxNumberOfConflictsForQuickCheckDefaultValue; } }
 
 1251        maxNumberOfConflictsForQuickCheck_ = value;
 
 1255    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
 1256    [global::System.CodeDom.Compiler.GeneratedCode(
"protoc", 
null)]
 
 
 1257    public bool HasMaxNumberOfConflictsForQuickCheck {
 
 1258      get { 
return (_hasBits0 & 16384) != 0; }
 
 1261    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
 1262    [global::System.CodeDom.Compiler.GeneratedCode(
"protoc", 
null)]
 
 
 1264      _hasBits0 &= ~16384;
 
 1269    private readonly 
static bool UseSymmetryDefaultValue = 
false;
 
 1271    private bool useSymmetry_;
 
 1279    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
 1280    [global::System.CodeDom.Compiler.GeneratedCode(
"protoc", 
null)]
 
 1282      get { 
if ((_hasBits0 & 32768) != 0) { 
return useSymmetry_; } 
else { 
return UseSymmetryDefaultValue; } }
 
 1285        useSymmetry_ = value;
 
 1289    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
 1290    [global::System.CodeDom.Compiler.GeneratedCode(
"protoc", 
null)]
 
 1291    public bool HasUseSymmetry {
 
 
 1292      get { 
return (_hasBits0 & 32768) != 0; }
 
 1295    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
 1296    [global::System.CodeDom.Compiler.GeneratedCode(
"protoc", 
null)]
 
 
 1298      _hasBits0 &= ~32768;
 
 1303    private readonly 
static bool ExploitSymmetryInSatFirstSolutionDefaultValue = 
false;
 
 
 1305    private bool exploitSymmetryInSatFirstSolution_;
 
 1313    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
 1314    [global::System.CodeDom.Compiler.GeneratedCode(
"protoc", 
null)]
 
 1316      get { 
if ((_hasBits1 & 2) != 0) { 
return exploitSymmetryInSatFirstSolution_; } 
else { 
return ExploitSymmetryInSatFirstSolutionDefaultValue; } }
 
 1319        exploitSymmetryInSatFirstSolution_ = value;
 
 1323    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
 1324    [global::System.CodeDom.Compiler.GeneratedCode(
"protoc", 
null)]
 
 1325    public bool HasExploitSymmetryInSatFirstSolution {
 
 
 1326      get { 
return (_hasBits1 & 2) != 0; }
 
 1329    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
 1330    [global::System.CodeDom.Compiler.GeneratedCode(
"protoc", 
null)]
 
 
 1337    private readonly 
static int MaxNumberOfConflictsInRandomSolutionGenerationDefaultValue = 500;
 
 
 1339    private int maxNumberOfConflictsInRandomSolutionGeneration_;
 
 1343    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
 1344    [global::System.CodeDom.Compiler.GeneratedCode(
"protoc", 
null)]
 
 1346      get { 
if ((_hasBits0 & 65536) != 0) { 
return maxNumberOfConflictsInRandomSolutionGeneration_; } 
else { 
return MaxNumberOfConflictsInRandomSolutionGenerationDefaultValue; } }
 
 1349        maxNumberOfConflictsInRandomSolutionGeneration_ = value;
 
 1353    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
 1354    [global::System.CodeDom.Compiler.GeneratedCode(
"protoc", 
null)]
 
 1355    public bool HasMaxNumberOfConflictsInRandomSolutionGeneration {
 
 
 1356      get { 
return (_hasBits0 & 65536) != 0; }
 
 1359    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
 1360    [global::System.CodeDom.Compiler.GeneratedCode(
"protoc", 
null)]
 
 
 1362      _hasBits0 &= ~65536;
 
 1367    private readonly 
static long MaxNumberOfExploredAssignmentsPerTryInLsDefaultValue = 10000L;
 
 
 1369    private long maxNumberOfExploredAssignmentsPerTryInLs_;
 
 1376    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
 1377    [global::System.CodeDom.Compiler.GeneratedCode(
"protoc", 
null)]
 
 1379      get { 
if ((_hasBits0 & 131072) != 0) { 
return maxNumberOfExploredAssignmentsPerTryInLs_; } 
else { 
return MaxNumberOfExploredAssignmentsPerTryInLsDefaultValue; } }
 
 1381        _hasBits0 |= 131072;
 
 1382        maxNumberOfExploredAssignmentsPerTryInLs_ = value;
 
 1386    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
 1387    [global::System.CodeDom.Compiler.GeneratedCode(
"protoc", 
null)]
 
 1388    public bool HasMaxNumberOfExploredAssignmentsPerTryInLs {
 
 
 1389      get { 
return (_hasBits0 & 131072) != 0; }
 
 1392    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
 1393    [global::System.CodeDom.Compiler.GeneratedCode(
"protoc", 
null)]
 
 
 1395      _hasBits0 &= ~131072;
 
 1400    private readonly 
static bool UseTranspositionTableInLsDefaultValue = 
true;
 
 
 1402    private bool useTranspositionTableInLs_;
 
 1409    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
 1410    [global::System.CodeDom.Compiler.GeneratedCode(
"protoc", 
null)]
 
 1412      get { 
if ((_hasBits0 & 262144) != 0) { 
return useTranspositionTableInLs_; } 
else { 
return UseTranspositionTableInLsDefaultValue; } }
 
 1414        _hasBits0 |= 262144;
 
 1415        useTranspositionTableInLs_ = value;
 
 1419    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
 1420    [global::System.CodeDom.Compiler.GeneratedCode(
"protoc", 
null)]
 
 1421    public bool HasUseTranspositionTableInLs {
 
 
 1422      get { 
return (_hasBits0 & 262144) != 0; }
 
 1425    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
 1426    [global::System.CodeDom.Compiler.GeneratedCode(
"protoc", 
null)]
 
 
 1428      _hasBits0 &= ~262144;
 
 1433    private readonly 
static bool UsePotentialOneFlipRepairsInLsDefaultValue = 
false;
 
 
 1435    private bool usePotentialOneFlipRepairsInLs_;
 
 1441    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
 1442    [global::System.CodeDom.Compiler.GeneratedCode(
"protoc", 
null)]
 
 1444      get { 
if ((_hasBits1 & 1) != 0) { 
return usePotentialOneFlipRepairsInLs_; } 
else { 
return UsePotentialOneFlipRepairsInLsDefaultValue; } }
 
 1447        usePotentialOneFlipRepairsInLs_ = value;
 
 1451    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
 1452    [global::System.CodeDom.Compiler.GeneratedCode(
"protoc", 
null)]
 
 1453    public bool HasUsePotentialOneFlipRepairsInLs {
 
 
 1454      get { 
return (_hasBits1 & 1) != 0; }
 
 1457    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
 1458    [global::System.CodeDom.Compiler.GeneratedCode(
"protoc", 
null)]
 
 
 1465    private readonly 
static bool UseLearnedBinaryClausesInLpDefaultValue = 
true;
 
 
 1467    private bool useLearnedBinaryClausesInLp_;
 
 1471    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
 1472    [global::System.CodeDom.Compiler.GeneratedCode(
"protoc", 
null)]
 
 1474      get { 
if ((_hasBits0 & 524288) != 0) { 
return useLearnedBinaryClausesInLp_; } 
else { 
return UseLearnedBinaryClausesInLpDefaultValue; } }
 
 1476        _hasBits0 |= 524288;
 
 1477        useLearnedBinaryClausesInLp_ = value;
 
 1481    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
 1482    [global::System.CodeDom.Compiler.GeneratedCode(
"protoc", 
null)]
 
 1483    public bool HasUseLearnedBinaryClausesInLp {
 
 
 1484      get { 
return (_hasBits0 & 524288) != 0; }
 
 1487    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
 1488    [global::System.CodeDom.Compiler.GeneratedCode(
"protoc", 
null)]
 
 
 1490      _hasBits0 &= ~524288;
 
 1495    private readonly 
static int NumberOfSolversDefaultValue = 1;
 
 
 1497    private int numberOfSolvers_;
 
 1503    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
 1504    [global::System.CodeDom.Compiler.GeneratedCode(
"protoc", 
null)]
 
 1506      get { 
if ((_hasBits0 & 1048576) != 0) { 
return numberOfSolvers_; } 
else { 
return NumberOfSolversDefaultValue; } }
 
 1508        _hasBits0 |= 1048576;
 
 1509        numberOfSolvers_ = value;
 
 1513    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
 1514    [global::System.CodeDom.Compiler.GeneratedCode(
"protoc", 
null)]
 
 1515    public bool HasNumberOfSolvers {
 
 
 1516      get { 
return (_hasBits0 & 1048576) != 0; }
 
 1519    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
 1520    [global::System.CodeDom.Compiler.GeneratedCode(
"protoc", 
null)]
 
 
 1522      _hasBits0 &= ~1048576;
 
 1527    private readonly 
static global::Google.OrTools.Bop.BopParameters.Types.ThreadSynchronizationType SynchronizationTypeDefaultValue = global::Google.OrTools.Bop.BopParameters.Types.ThreadSynchronizationType.NoSynchronization;
 
 
 1529    private global::Google.OrTools.Bop.BopParameters.Types.ThreadSynchronizationType synchronizationType_;
 
 1530    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
 1531    [global::System.CodeDom.Compiler.GeneratedCode(
"protoc", 
null)]
 
 1533      get { if ((_hasBits0 & 2097152) != 0) { return synchronizationType_; } else { return SynchronizationTypeDefaultValue; } }
 
 1535        _hasBits0 |= 2097152;
 
 1536        synchronizationType_ = value;
 
 1540    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
 1541    [global::System.CodeDom.Compiler.GeneratedCode(
"protoc", 
null)]
 
 1542    public bool HasSynchronizationType {
 
 
 1543      get { 
return (_hasBits0 & 2097152) != 0; }
 
 1546    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
 1547    [global::System.CodeDom.Compiler.GeneratedCode(
"protoc", 
null)]
 
 
 1549      _hasBits0 &= ~2097152;
 
 1554    private static readonly pb::FieldCodec<global::Google.OrTools.Bop.BopSolverOptimizerSet> _repeated_solverOptimizerSets_codec
 
 
 1556    private readonly pbc::RepeatedField<global::Google.OrTools.Bop.BopSolverOptimizerSet> solverOptimizerSets_ = 
new pbc::RepeatedField<global::Google.OrTools.Bop.BopSolverOptimizerSet>();
 
 1563    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
 1564    [global::System.CodeDom.Compiler.GeneratedCode(
"protoc", 
null)]
 
 1565    public pbc::RepeatedField<global::Google.OrTools.Bop.BopSolverOptimizerSet> 
SolverOptimizerSets {
 
 1566      get { return solverOptimizerSets_; }
 
 1571    private readonly 
static string DefaultSolverOptimizerSetsDefaultValue = global::System.Text.Encoding.UTF8.GetString(global::System.Convert.FromBase64String(
"bWV0aG9kczp7dHlwZTpMT0NBTF9TRUFSQ0ggfSAgICAgICAgICAgICAgICAgICAgICAgbWV0aG9kczp7dHlwZTpSQU5ET01fRklSU1RfU09MVVRJT04gfSAgICAgICAgICAgICAgbWV0aG9kczp7dHlwZTpMSU5FQVJfUkVMQVhBVElPTiB9ICAgICAgICAgICAgICAgICAgbWV0aG9kczp7dHlwZTpMUF9GSVJTVF9TT0xVVElPTiB9ICAgICAgICAgICAgICAgICAgbWV0aG9kczp7dHlwZTpPQkpFQ1RJVkVfRklSU1RfU09MVVRJT04gfSAgICAgICAgICAgbWV0aG9kczp7dHlwZTpVU0VSX0dVSURFRF9GSVJTVF9TT0xVVElPTiB9ICAgICAgICAgbWV0aG9kczp7dHlwZTpSQU5ET01fQ09OU1RSQUlOVF9MTlNfR1VJREVEX0JZX0xQIH0gbWV0aG9kczp7dHlwZTpSQU5ET01fVkFSSUFCTEVfTE5TX0dVSURFRF9CWV9MUCB9ICAgbWV0aG9kczp7dHlwZTpSRUxBVElPTl9HUkFQSF9MTlMgfSAgICAgICAgICAgICAgICAgbWV0aG9kczp7dHlwZTpSRUxBVElPTl9HUkFQSF9MTlNfR1VJREVEX0JZX0xQIH0gICAgbWV0aG9kczp7dHlwZTpSQU5ET01fQ09OU1RSQUlOVF9MTlMgfSAgICAgICAgICAgICAgbWV0aG9kczp7dHlwZTpSQU5ET01fVkFSSUFCTEVfTE5TIH0gICAgICAgICAgICAgICAgbWV0aG9kczp7dHlwZTpTQVRfQ09SRV9CQVNFRCB9ICAgICAgICAgICAgICAgICAgICAgbWV0aG9kczp7dHlwZTpDT01QTEVURV9MTlMgfSAgICAgICAgICAgICAgICAgICAgICAg"), 0, 714);
 
 
 1573    private string defaultSolverOptimizerSets_;
 
 1574    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
 1575    [global::System.CodeDom.Compiler.GeneratedCode(
"protoc", 
null)]
 
 1577      get { return defaultSolverOptimizerSets_ ?? DefaultSolverOptimizerSetsDefaultValue; }
 
 1579        defaultSolverOptimizerSets_ = pb::ProtoPreconditions.CheckNotNull(value, 
"value");
 
 1583    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
 1584    [global::System.CodeDom.Compiler.GeneratedCode(
"protoc", 
null)]
 
 1585    public bool HasDefaultSolverOptimizerSets {
 
 
 1586      get { 
return defaultSolverOptimizerSets_ != 
null; }
 
 1589    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
 1590    [global::System.CodeDom.Compiler.GeneratedCode(
"protoc", 
null)]
 
 
 1592      defaultSolverOptimizerSets_ = 
null;
 
 1597    private readonly 
static bool UseLpStrongBranchingDefaultValue = 
false;
 
 
 1599    private bool useLpStrongBranching_;
 
 1611    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
 1612    [global::System.CodeDom.Compiler.GeneratedCode(
"protoc", 
null)]
 
 1614      get { 
if ((_hasBits0 & 16777216) != 0) { 
return useLpStrongBranching_; } 
else { 
return UseLpStrongBranchingDefaultValue; } }
 
 1616        _hasBits0 |= 16777216;
 
 1617        useLpStrongBranching_ = value;
 
 1621    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
 1622    [global::System.CodeDom.Compiler.GeneratedCode(
"protoc", 
null)]
 
 1623    public bool HasUseLpStrongBranching {
 
 
 1624      get { 
return (_hasBits0 & 16777216) != 0; }
 
 1627    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
 1628    [global::System.CodeDom.Compiler.GeneratedCode(
"protoc", 
null)]
 
 
 1630      _hasBits0 &= ~16777216;
 
 1635    private readonly 
static int DecomposerNumVariablesThresholdDefaultValue = 50;
 
 
 1637    private int decomposerNumVariablesThreshold_;
 
 1642    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
 1643    [global::System.CodeDom.Compiler.GeneratedCode(
"protoc", 
null)]
 
 1645      get { 
if ((_hasBits0 & 33554432) != 0) { 
return decomposerNumVariablesThreshold_; } 
else { 
return DecomposerNumVariablesThresholdDefaultValue; } }
 
 1647        _hasBits0 |= 33554432;
 
 1648        decomposerNumVariablesThreshold_ = value;
 
 1652    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
 1653    [global::System.CodeDom.Compiler.GeneratedCode(
"protoc", 
null)]
 
 1654    public bool HasDecomposerNumVariablesThreshold {
 
 
 1655      get { 
return (_hasBits0 & 33554432) != 0; }
 
 1658    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
 1659    [global::System.CodeDom.Compiler.GeneratedCode(
"protoc", 
null)]
 
 
 1661      _hasBits0 &= ~33554432;
 
 1666    private readonly 
static int NumBopSolversUsedByDecompositionDefaultValue = 1;
 
 
 1668    private int numBopSolversUsedByDecomposition_;
 
 1674    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
 1675    [global::System.CodeDom.Compiler.GeneratedCode(
"protoc", 
null)]
 
 1677      get { 
if ((_hasBits0 & 67108864) != 0) { 
return numBopSolversUsedByDecomposition_; } 
else { 
return NumBopSolversUsedByDecompositionDefaultValue; } }
 
 1679        _hasBits0 |= 67108864;
 
 1680        numBopSolversUsedByDecomposition_ = value;
 
 1684    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
 1685    [global::System.CodeDom.Compiler.GeneratedCode(
"protoc", 
null)]
 
 1686    public bool HasNumBopSolversUsedByDecomposition {
 
 
 1687      get { 
return (_hasBits0 & 67108864) != 0; }
 
 1690    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
 1691    [global::System.CodeDom.Compiler.GeneratedCode(
"protoc", 
null)]
 
 
 1693      _hasBits0 &= ~67108864;
 
 1698    private readonly 
static double DecomposedProblemMinTimeInSecondsDefaultValue = 0D;
 
 
 1700    private double decomposedProblemMinTimeInSeconds_;
 
 1707    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
 1708    [global::System.CodeDom.Compiler.GeneratedCode(
"protoc", 
null)]
 
 1710      get { 
if ((_hasBits0 & 536870912) != 0) { 
return decomposedProblemMinTimeInSeconds_; } 
else { 
return DecomposedProblemMinTimeInSecondsDefaultValue; } }
 
 1712        _hasBits0 |= 536870912;
 
 1713        decomposedProblemMinTimeInSeconds_ = value;
 
 1717    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
 1718    [global::System.CodeDom.Compiler.GeneratedCode(
"protoc", 
null)]
 
 1719    public bool HasDecomposedProblemMinTimeInSeconds {
 
 
 1720      get { 
return (_hasBits0 & 536870912) != 0; }
 
 1723    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
 1724    [global::System.CodeDom.Compiler.GeneratedCode(
"protoc", 
null)]
 
 
 1726      _hasBits0 &= ~536870912;
 
 1731    private readonly 
static int GuidedSatConflictsChunkDefaultValue = 1000;
 
 
 1733    private int guidedSatConflictsChunk_;
 
 1739    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
 1740    [global::System.CodeDom.Compiler.GeneratedCode(
"protoc", 
null)]
 
 1742      get { 
if ((_hasBits0 & 134217728) != 0) { 
return guidedSatConflictsChunk_; } 
else { 
return GuidedSatConflictsChunkDefaultValue; } }
 
 1744        _hasBits0 |= 134217728;
 
 1745        guidedSatConflictsChunk_ = value;
 
 1749    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
 1750    [global::System.CodeDom.Compiler.GeneratedCode(
"protoc", 
null)]
 
 1751    public bool HasGuidedSatConflictsChunk {
 
 
 1752      get { 
return (_hasBits0 & 134217728) != 0; }
 
 1755    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
 1756    [global::System.CodeDom.Compiler.GeneratedCode(
"protoc", 
null)]
 
 
 1758      _hasBits0 &= ~134217728;
 
 1763    private readonly 
static int MaxLpSolveForFeasibilityProblemsDefaultValue = 0;
 
 
 1765    private int maxLpSolveForFeasibilityProblems_;
 
 1772    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
 1773    [global::System.CodeDom.Compiler.GeneratedCode(
"protoc", 
null)]
 
 1775      get { 
if ((_hasBits1 & 4) != 0) { 
return maxLpSolveForFeasibilityProblems_; } 
else { 
return MaxLpSolveForFeasibilityProblemsDefaultValue; } }
 
 1778        maxLpSolveForFeasibilityProblems_ = value;
 
 1782    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
 1783    [global::System.CodeDom.Compiler.GeneratedCode(
"protoc", 
null)]
 
 1784    public bool HasMaxLpSolveForFeasibilityProblems {
 
 
 1785      get { 
return (_hasBits1 & 4) != 0; }
 
 1788    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
 1789    [global::System.CodeDom.Compiler.GeneratedCode(
"protoc", 
null)]
 
 
 1794    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
 1795    [global::System.CodeDom.Compiler.GeneratedCode(
"protoc", 
null)]
 
 1796    public override bool Equals(
object other) {
 
 
 1800    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
 1801    [global::System.CodeDom.Compiler.GeneratedCode(
"protoc", 
null)]
 
 
 1803      if (ReferenceEquals(other, 
null)) {
 
 1806      if (ReferenceEquals(other, 
this)) {
 
 1809      if (!pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.Equals(MaxTimeInSeconds, other.
MaxTimeInSeconds)) 
return false;
 
 1810      if (!pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.Equals(MaxDeterministicTime, other.
MaxDeterministicTime)) 
return false;
 
 1811      if (!pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.Equals(LpMaxDeterministicTime, other.
LpMaxDeterministicTime)) 
return false;
 
 1813      if (!pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.Equals(RelativeGapLimit, other.
RelativeGapLimit)) 
return false;
 
 1821      if (RandomSeed != other.
RandomSeed) 
return false;
 
 1826      if (UseLpLns != other.
UseLpLns) 
return false;
 
 1829      if (UseSymmetry != other.
UseSymmetry) 
return false;
 
 1838      if(!solverOptimizerSets_.Equals(other.solverOptimizerSets_)) 
return false;
 
 1843      if (!pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.Equals(DecomposedProblemMinTimeInSeconds, other.
DecomposedProblemMinTimeInSeconds)) 
return false;
 
 1846      return Equals(_unknownFields, other._unknownFields);
 
 1849    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
 1850    [global::System.CodeDom.Compiler.GeneratedCode(
"protoc", 
null)]
 
 1851    public override int GetHashCode() {
 
 
 1853      if (HasMaxTimeInSeconds) hash ^= pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.GetHashCode(MaxTimeInSeconds);
 
 1854      if (HasMaxDeterministicTime) hash ^= pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.GetHashCode(MaxDeterministicTime);
 
 1882      hash ^= solverOptimizerSets_.GetHashCode();
 
 1890      if (_unknownFields != 
null) {
 
 1891        hash ^= _unknownFields.GetHashCode();
 
 1896    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
 1897    [global::System.CodeDom.Compiler.GeneratedCode(
"protoc", 
null)]
 
 1898    public override string ToString() {
 
 
 1899      return pb::JsonFormatter.ToDiagnosticString(
this);
 
 1902    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
 1903    [global::System.CodeDom.Compiler.GeneratedCode(
"protoc", 
null)]
 
 1904    public void WriteTo(pb::CodedOutputStream output) {
 
 
 1905    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE 
 1906      output.WriteRawMessage(
this);
 
 1909        output.WriteRawTag(9);
 
 1912      if (HasMaxNumDecisionsInLs) {
 
 1913        output.WriteRawTag(16);
 
 1914        output.WriteInt32(MaxNumDecisionsInLs);
 
 1916      if (HasComputeEstimatedImpact) {
 
 1917        output.WriteRawTag(24);
 
 1918        output.WriteBool(ComputeEstimatedImpact);
 
 1920      if (HasPruneSearchTree) {
 
 1921        output.WriteRawTag(32);
 
 1922        output.WriteBool(PruneSearchTree);
 
 1924      if (HasSortConstraintsByNumTerms) {
 
 1925        output.WriteRawTag(40);
 
 1926        output.WriteBool(SortConstraintsByNumTerms);
 
 1928      if (HasUseRandomLns) {
 
 1929        output.WriteRawTag(48);
 
 1930        output.WriteBool(UseRandomLns);
 
 1932      if (HasRandomSeed) {
 
 1933        output.WriteRawTag(56);
 
 1934        output.WriteInt32(RandomSeed);
 
 1936      if (HasNumRelaxedVars) {
 
 1937        output.WriteRawTag(64);
 
 1938        output.WriteInt32(NumRelaxedVars);
 
 1940      if (HasMaxNumberOfConflictsInRandomLns) {
 
 1941        output.WriteRawTag(72);
 
 1942        output.WriteInt32(MaxNumberOfConflictsInRandomLns);
 
 1944      if (HasNumRandomLnsTries) {
 
 1945        output.WriteRawTag(80);
 
 1946        output.WriteInt32(NumRandomLnsTries);
 
 1948      if (HasMaxNumberOfBacktracksInLs) {
 
 1949        output.WriteRawTag(88);
 
 1950        output.WriteInt64(MaxNumberOfBacktracksInLs);
 
 1953        output.WriteRawTag(96);
 
 1954        output.WriteBool(UseLpLns);
 
 1956      if (HasLogSearchProgress) {
 
 1957        output.WriteRawTag(112);
 
 1958        output.WriteBool(LogSearchProgress);
 
 1960      if (HasUseSatToChooseLnsNeighbourhood) {
 
 1961        output.WriteRawTag(120);
 
 1962        output.WriteBool(UseSatToChooseLnsNeighbourhood);
 
 1964      if (HasMaxNumberOfConflictsForQuickCheck) {
 
 1965        output.WriteRawTag(128, 1);
 
 1966        output.WriteInt32(MaxNumberOfConflictsForQuickCheck);
 
 1968      if (HasUseSymmetry) {
 
 1969        output.WriteRawTag(136, 1);
 
 1970        output.WriteBool(UseSymmetry);
 
 1972      if (HasMaxNumberOfConflictsInRandomSolutionGeneration) {
 
 1973        output.WriteRawTag(160, 1);
 
 1974        output.WriteInt32(MaxNumberOfConflictsInRandomSolutionGeneration);
 
 1976      if (HasMaxNumberOfExploredAssignmentsPerTryInLs) {
 
 1977        output.WriteRawTag(168, 1);
 
 1978        output.WriteInt64(MaxNumberOfExploredAssignmentsPerTryInLs);
 
 1980      if (HasUseTranspositionTableInLs) {
 
 1981        output.WriteRawTag(176, 1);
 
 1982        output.WriteBool(UseTranspositionTableInLs);
 
 1984      if (HasUseLearnedBinaryClausesInLp) {
 
 1985        output.WriteRawTag(184, 1);
 
 1986        output.WriteBool(UseLearnedBinaryClausesInLp);
 
 1988      if (HasNumberOfSolvers) {
 
 1989        output.WriteRawTag(192, 1);
 
 1990        output.WriteInt32(NumberOfSolvers);
 
 1992      if (HasSynchronizationType) {
 
 1993        output.WriteRawTag(200, 1);
 
 1994        output.WriteEnum((
int) SynchronizationType);
 
 1996      solverOptimizerSets_.WriteTo(output, _repeated_solverOptimizerSets_codec);
 
 1997      if (HasMaxDeterministicTime) {
 
 1998        output.WriteRawTag(217, 1);
 
 1999        output.WriteDouble(MaxDeterministicTime);
 
 2001      if (HasRelativeGapLimit) {
 
 2002        output.WriteRawTag(225, 1);
 
 2003        output.WriteDouble(RelativeGapLimit);
 
 2005      if (HasUseLpStrongBranching) {
 
 2006        output.WriteRawTag(232, 1);
 
 2007        output.WriteBool(UseLpStrongBranching);
 
 2009      if (HasDecomposerNumVariablesThreshold) {
 
 2010        output.WriteRawTag(240, 1);
 
 2011        output.WriteInt32(DecomposerNumVariablesThreshold);
 
 2013      if (HasNumBopSolversUsedByDecomposition) {
 
 2014        output.WriteRawTag(248, 1);
 
 2015        output.WriteInt32(NumBopSolversUsedByDecomposition);
 
 2017      if (HasDefaultSolverOptimizerSets) {
 
 2018        output.WriteRawTag(138, 2);
 
 2019        output.WriteString(DefaultSolverOptimizerSets);
 
 2021      if (HasGuidedSatConflictsChunk) {
 
 2022        output.WriteRawTag(144, 2);
 
 2023        output.WriteInt32(GuidedSatConflictsChunk);
 
 2025      if (HasMaxNumberOfConsecutiveFailingOptimizerCalls) {
 
 2026        output.WriteRawTag(152, 2);
 
 2027        output.WriteInt32(MaxNumberOfConsecutiveFailingOptimizerCalls);
 
 2029      if (HasDecomposedProblemMinTimeInSeconds) {
 
 2030        output.WriteRawTag(161, 2);
 
 2031        output.WriteDouble(DecomposedProblemMinTimeInSeconds);
 
 2033      if (HasLpMaxDeterministicTime) {
 
 2034        output.WriteRawTag(169, 2);
 
 2035        output.WriteDouble(LpMaxDeterministicTime);
 
 2037      if (HasMaxNumBrokenConstraintsInLs) {
 
 2038        output.WriteRawTag(176, 2);
 
 2039        output.WriteInt32(MaxNumBrokenConstraintsInLs);
 
 2041      if (HasUsePotentialOneFlipRepairsInLs) {
 
 2042        output.WriteRawTag(184, 2);
 
 2043        output.WriteBool(UsePotentialOneFlipRepairsInLs);
 
 2045      if (HasExploitSymmetryInSatFirstSolution) {
 
 2046        output.WriteRawTag(192, 2);
 
 2047        output.WriteBool(ExploitSymmetryInSatFirstSolution);
 
 2049      if (HasMaxLpSolveForFeasibilityProblems) {
 
 2050        output.WriteRawTag(200, 2);
 
 2051        output.WriteInt32(MaxLpSolveForFeasibilityProblems);
 
 2053      if (_unknownFields != 
null) {
 
 2054        _unknownFields.WriteTo(output);
 
 2059    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE 
 2060    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
 2061    [global::System.CodeDom.Compiler.GeneratedCode(
"protoc", 
null)]
 
 
 2062    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
 
 2063      if (HasMaxTimeInSeconds) {
 
 2064        output.WriteRawTag(9);
 
 2065        output.WriteDouble(MaxTimeInSeconds);
 
 2067      if (HasMaxNumDecisionsInLs) {
 
 2068        output.WriteRawTag(16);
 
 2069        output.WriteInt32(MaxNumDecisionsInLs);
 
 2071      if (HasComputeEstimatedImpact) {
 
 2072        output.WriteRawTag(24);
 
 2073        output.WriteBool(ComputeEstimatedImpact);
 
 2075      if (HasPruneSearchTree) {
 
 2076        output.WriteRawTag(32);
 
 2077        output.WriteBool(PruneSearchTree);
 
 2079      if (HasSortConstraintsByNumTerms) {
 
 2080        output.WriteRawTag(40);
 
 2081        output.WriteBool(SortConstraintsByNumTerms);
 
 2083      if (HasUseRandomLns) {
 
 2084        output.WriteRawTag(48);
 
 2085        output.WriteBool(UseRandomLns);
 
 2087      if (HasRandomSeed) {
 
 2088        output.WriteRawTag(56);
 
 2089        output.WriteInt32(RandomSeed);
 
 2091      if (HasNumRelaxedVars) {
 
 2092        output.WriteRawTag(64);
 
 2093        output.WriteInt32(NumRelaxedVars);
 
 2095      if (HasMaxNumberOfConflictsInRandomLns) {
 
 2096        output.WriteRawTag(72);
 
 2097        output.WriteInt32(MaxNumberOfConflictsInRandomLns);
 
 2099      if (HasNumRandomLnsTries) {
 
 2100        output.WriteRawTag(80);
 
 2101        output.WriteInt32(NumRandomLnsTries);
 
 2103      if (HasMaxNumberOfBacktracksInLs) {
 
 2104        output.WriteRawTag(88);
 
 2105        output.WriteInt64(MaxNumberOfBacktracksInLs);
 
 2108        output.WriteRawTag(96);
 
 2109        output.WriteBool(UseLpLns);
 
 2111      if (HasLogSearchProgress) {
 
 2112        output.WriteRawTag(112);
 
 2113        output.WriteBool(LogSearchProgress);
 
 2115      if (HasUseSatToChooseLnsNeighbourhood) {
 
 2116        output.WriteRawTag(120);
 
 2117        output.WriteBool(UseSatToChooseLnsNeighbourhood);
 
 2119      if (HasMaxNumberOfConflictsForQuickCheck) {
 
 2120        output.WriteRawTag(128, 1);
 
 2121        output.WriteInt32(MaxNumberOfConflictsForQuickCheck);
 
 2123      if (HasUseSymmetry) {
 
 2124        output.WriteRawTag(136, 1);
 
 2125        output.WriteBool(UseSymmetry);
 
 2127      if (HasMaxNumberOfConflictsInRandomSolutionGeneration) {
 
 2128        output.WriteRawTag(160, 1);
 
 2129        output.WriteInt32(MaxNumberOfConflictsInRandomSolutionGeneration);
 
 2131      if (HasMaxNumberOfExploredAssignmentsPerTryInLs) {
 
 2132        output.WriteRawTag(168, 1);
 
 2133        output.WriteInt64(MaxNumberOfExploredAssignmentsPerTryInLs);
 
 2135      if (HasUseTranspositionTableInLs) {
 
 2136        output.WriteRawTag(176, 1);
 
 2137        output.WriteBool(UseTranspositionTableInLs);
 
 2139      if (HasUseLearnedBinaryClausesInLp) {
 
 2140        output.WriteRawTag(184, 1);
 
 2141        output.WriteBool(UseLearnedBinaryClausesInLp);
 
 2143      if (HasNumberOfSolvers) {
 
 2144        output.WriteRawTag(192, 1);
 
 2145        output.WriteInt32(NumberOfSolvers);
 
 2147      if (HasSynchronizationType) {
 
 2148        output.WriteRawTag(200, 1);
 
 2149        output.WriteEnum((
int) SynchronizationType);
 
 2151      solverOptimizerSets_.WriteTo(ref output, _repeated_solverOptimizerSets_codec);
 
 2152      if (HasMaxDeterministicTime) {
 
 2153        output.WriteRawTag(217, 1);
 
 2154        output.WriteDouble(MaxDeterministicTime);
 
 2156      if (HasRelativeGapLimit) {
 
 2157        output.WriteRawTag(225, 1);
 
 2158        output.WriteDouble(RelativeGapLimit);
 
 2160      if (HasUseLpStrongBranching) {
 
 2161        output.WriteRawTag(232, 1);
 
 2162        output.WriteBool(UseLpStrongBranching);
 
 2164      if (HasDecomposerNumVariablesThreshold) {
 
 2165        output.WriteRawTag(240, 1);
 
 2166        output.WriteInt32(DecomposerNumVariablesThreshold);
 
 2168      if (HasNumBopSolversUsedByDecomposition) {
 
 2169        output.WriteRawTag(248, 1);
 
 2170        output.WriteInt32(NumBopSolversUsedByDecomposition);
 
 2172      if (HasDefaultSolverOptimizerSets) {
 
 2173        output.WriteRawTag(138, 2);
 
 2174        output.WriteString(DefaultSolverOptimizerSets);
 
 2176      if (HasGuidedSatConflictsChunk) {
 
 2177        output.WriteRawTag(144, 2);
 
 2178        output.WriteInt32(GuidedSatConflictsChunk);
 
 2180      if (HasMaxNumberOfConsecutiveFailingOptimizerCalls) {
 
 2181        output.WriteRawTag(152, 2);
 
 2182        output.WriteInt32(MaxNumberOfConsecutiveFailingOptimizerCalls);
 
 2184      if (HasDecomposedProblemMinTimeInSeconds) {
 
 2185        output.WriteRawTag(161, 2);
 
 2186        output.WriteDouble(DecomposedProblemMinTimeInSeconds);
 
 2188      if (HasLpMaxDeterministicTime) {
 
 2189        output.WriteRawTag(169, 2);
 
 2190        output.WriteDouble(LpMaxDeterministicTime);
 
 2192      if (HasMaxNumBrokenConstraintsInLs) {
 
 2193        output.WriteRawTag(176, 2);
 
 2194        output.WriteInt32(MaxNumBrokenConstraintsInLs);
 
 2196      if (HasUsePotentialOneFlipRepairsInLs) {
 
 2197        output.WriteRawTag(184, 2);
 
 2198        output.WriteBool(UsePotentialOneFlipRepairsInLs);
 
 2200      if (HasExploitSymmetryInSatFirstSolution) {
 
 2201        output.WriteRawTag(192, 2);
 
 2202        output.WriteBool(ExploitSymmetryInSatFirstSolution);
 
 2204      if (HasMaxLpSolveForFeasibilityProblems) {
 
 2205        output.WriteRawTag(200, 2);
 
 2206        output.WriteInt32(MaxLpSolveForFeasibilityProblems);
 
 2208      if (_unknownFields != 
null) {
 
 2209        _unknownFields.WriteTo(ref output);
 
 2214    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
 2215    [global::System.CodeDom.Compiler.GeneratedCode(
"protoc", 
null)]
 
 2216    public int CalculateSize() {
 
 2218      if (HasMaxTimeInSeconds) {
 
 2221      if (HasMaxDeterministicTime) {
 
 2224      if (HasLpMaxDeterministicTime) {
 
 2227      if (HasMaxNumberOfConsecutiveFailingOptimizerCalls) {
 
 2228        size += 2 + pb::CodedOutputStream.ComputeInt32Size(MaxNumberOfConsecutiveFailingOptimizerCalls);
 
 2230      if (HasRelativeGapLimit) {
 
 2233      if (HasMaxNumDecisionsInLs) {
 
 2234        size += 1 + pb::CodedOutputStream.ComputeInt32Size(MaxNumDecisionsInLs);
 
 2236      if (HasMaxNumBrokenConstraintsInLs) {
 
 2237        size += 2 + pb::CodedOutputStream.ComputeInt32Size(MaxNumBrokenConstraintsInLs);
 
 2239      if (HasLogSearchProgress) {
 
 2242      if (HasComputeEstimatedImpact) {
 
 2245      if (HasPruneSearchTree) {
 
 2248      if (HasSortConstraintsByNumTerms) {
 
 2251      if (HasUseRandomLns) {
 
 2254      if (HasRandomSeed) {
 
 2255        size += 1 + pb::CodedOutputStream.ComputeInt32Size(RandomSeed);
 
 2257      if (HasNumRelaxedVars) {
 
 2258        size += 1 + pb::CodedOutputStream.ComputeInt32Size(NumRelaxedVars);
 
 2260      if (HasMaxNumberOfConflictsInRandomLns) {
 
 2261        size += 1 + pb::CodedOutputStream.ComputeInt32Size(MaxNumberOfConflictsInRandomLns);
 
 2263      if (HasNumRandomLnsTries) {
 
 2264        size += 1 + pb::CodedOutputStream.ComputeInt32Size(NumRandomLnsTries);
 
 2266      if (HasMaxNumberOfBacktracksInLs) {
 
 2267        size += 1 + pb::CodedOutputStream.ComputeInt64Size(MaxNumberOfBacktracksInLs);
 
 2272      if (HasUseSatToChooseLnsNeighbourhood) {
 
 2275      if (HasMaxNumberOfConflictsForQuickCheck) {
 
 2276        size += 2 + pb::CodedOutputStream.ComputeInt32Size(MaxNumberOfConflictsForQuickCheck);
 
 2278      if (HasUseSymmetry) {
 
 2281      if (HasExploitSymmetryInSatFirstSolution) {
 
 2284      if (HasMaxNumberOfConflictsInRandomSolutionGeneration) {
 
 2285        size += 2 + pb::CodedOutputStream.ComputeInt32Size(MaxNumberOfConflictsInRandomSolutionGeneration);
 
 2287      if (HasMaxNumberOfExploredAssignmentsPerTryInLs) {
 
 2288        size += 2 + pb::CodedOutputStream.ComputeInt64Size(MaxNumberOfExploredAssignmentsPerTryInLs);
 
 2290      if (HasUseTranspositionTableInLs) {
 
 2293      if (HasUsePotentialOneFlipRepairsInLs) {
 
 2296      if (HasUseLearnedBinaryClausesInLp) {
 
 2299      if (HasNumberOfSolvers) {
 
 2300        size += 2 + pb::CodedOutputStream.ComputeInt32Size(NumberOfSolvers);
 
 2302      if (HasSynchronizationType) {
 
 2303        size += 2 + pb::CodedOutputStream.ComputeEnumSize((
int) SynchronizationType);
 
 2305      size += solverOptimizerSets_.CalculateSize(_repeated_solverOptimizerSets_codec);
 
 2306      if (HasDefaultSolverOptimizerSets) {
 
 2307        size += 2 + pb::CodedOutputStream.ComputeStringSize(DefaultSolverOptimizerSets);
 
 2309      if (HasUseLpStrongBranching) {
 
 2312      if (HasDecomposerNumVariablesThreshold) {
 
 2313        size += 2 + pb::CodedOutputStream.ComputeInt32Size(DecomposerNumVariablesThreshold);
 
 2315      if (HasNumBopSolversUsedByDecomposition) {
 
 2316        size += 2 + pb::CodedOutputStream.ComputeInt32Size(NumBopSolversUsedByDecomposition);
 
 2318      if (HasDecomposedProblemMinTimeInSeconds) {
 
 2321      if (HasGuidedSatConflictsChunk) {
 
 2322        size += 2 + pb::CodedOutputStream.ComputeInt32Size(GuidedSatConflictsChunk);
 
 2324      if (HasMaxLpSolveForFeasibilityProblems) {
 
 2325        size += 2 + pb::CodedOutputStream.ComputeInt32Size(MaxLpSolveForFeasibilityProblems);
 
 2327      if (_unknownFields != 
null) {
 
 2328        size += _unknownFields.CalculateSize();
 
 2333    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
 2334    [global::System.CodeDom.Compiler.GeneratedCode(
"protoc", 
null)]
 
 2335    public void MergeFrom(BopParameters other) {
 
 
 2336      if (other == 
null) {
 
 2339      if (other.HasMaxTimeInSeconds) {
 
 2342      if (other.HasMaxDeterministicTime) {
 
 2343        MaxDeterministicTime = other.MaxDeterministicTime;
 
 2345      if (other.HasLpMaxDeterministicTime) {
 
 2346        LpMaxDeterministicTime = other.LpMaxDeterministicTime;
 
 2348      if (other.HasMaxNumberOfConsecutiveFailingOptimizerCalls) {
 
 2349        MaxNumberOfConsecutiveFailingOptimizerCalls = other.MaxNumberOfConsecutiveFailingOptimizerCalls;
 
 2351      if (other.HasRelativeGapLimit) {
 
 2352        RelativeGapLimit = other.RelativeGapLimit;
 
 2354      if (other.HasMaxNumDecisionsInLs) {
 
 2355        MaxNumDecisionsInLs = other.MaxNumDecisionsInLs;
 
 2357      if (other.HasMaxNumBrokenConstraintsInLs) {
 
 2358        MaxNumBrokenConstraintsInLs = other.MaxNumBrokenConstraintsInLs;
 
 2360      if (other.HasLogSearchProgress) {
 
 2361        LogSearchProgress = other.LogSearchProgress;
 
 2363      if (other.HasComputeEstimatedImpact) {
 
 2364        ComputeEstimatedImpact = other.ComputeEstimatedImpact;
 
 2366      if (other.HasPruneSearchTree) {
 
 2367        PruneSearchTree = other.PruneSearchTree;
 
 2369      if (other.HasSortConstraintsByNumTerms) {
 
 2370        SortConstraintsByNumTerms = other.SortConstraintsByNumTerms;
 
 2372      if (other.HasUseRandomLns) {
 
 2373        UseRandomLns = other.UseRandomLns;
 
 2375      if (other.HasRandomSeed) {
 
 2376        RandomSeed = other.RandomSeed;
 
 2378      if (other.HasNumRelaxedVars) {
 
 2379        NumRelaxedVars = other.NumRelaxedVars;
 
 2381      if (other.HasMaxNumberOfConflictsInRandomLns) {
 
 2382        MaxNumberOfConflictsInRandomLns = other.MaxNumberOfConflictsInRandomLns;
 
 2384      if (other.HasNumRandomLnsTries) {
 
 2385        NumRandomLnsTries = other.NumRandomLnsTries;
 
 2387      if (other.HasMaxNumberOfBacktracksInLs) {
 
 2388        MaxNumberOfBacktracksInLs = other.MaxNumberOfBacktracksInLs;
 
 2390      if (other.HasUseLpLns) {
 
 2391        UseLpLns = other.UseLpLns;
 
 2393      if (other.HasUseSatToChooseLnsNeighbourhood) {
 
 2394        UseSatToChooseLnsNeighbourhood = other.UseSatToChooseLnsNeighbourhood;
 
 2396      if (other.HasMaxNumberOfConflictsForQuickCheck) {
 
 2397        MaxNumberOfConflictsForQuickCheck = other.MaxNumberOfConflictsForQuickCheck;
 
 2399      if (other.HasUseSymmetry) {
 
 2400        UseSymmetry = other.UseSymmetry;
 
 2402      if (other.HasExploitSymmetryInSatFirstSolution) {
 
 2403        ExploitSymmetryInSatFirstSolution = other.ExploitSymmetryInSatFirstSolution;
 
 2405      if (other.HasMaxNumberOfConflictsInRandomSolutionGeneration) {
 
 2406        MaxNumberOfConflictsInRandomSolutionGeneration = other.MaxNumberOfConflictsInRandomSolutionGeneration;
 
 2408      if (other.HasMaxNumberOfExploredAssignmentsPerTryInLs) {
 
 2409        MaxNumberOfExploredAssignmentsPerTryInLs = other.MaxNumberOfExploredAssignmentsPerTryInLs;
 
 2411      if (other.HasUseTranspositionTableInLs) {
 
 2412        UseTranspositionTableInLs = other.UseTranspositionTableInLs;
 
 2414      if (other.HasUsePotentialOneFlipRepairsInLs) {
 
 2415        UsePotentialOneFlipRepairsInLs = other.UsePotentialOneFlipRepairsInLs;
 
 2417      if (other.HasUseLearnedBinaryClausesInLp) {
 
 2418        UseLearnedBinaryClausesInLp = other.UseLearnedBinaryClausesInLp;
 
 2420      if (other.HasNumberOfSolvers) {
 
 2421        NumberOfSolvers = other.NumberOfSolvers;
 
 2423      if (other.HasSynchronizationType) {
 
 2424        SynchronizationType = other.SynchronizationType;
 
 2426      solverOptimizerSets_.Add(other.solverOptimizerSets_);
 
 2427      if (other.HasDefaultSolverOptimizerSets) {
 
 2428        DefaultSolverOptimizerSets = other.DefaultSolverOptimizerSets;
 
 2430      if (other.HasUseLpStrongBranching) {
 
 2431        UseLpStrongBranching = other.UseLpStrongBranching;
 
 2433      if (other.HasDecomposerNumVariablesThreshold) {
 
 2434        DecomposerNumVariablesThreshold = other.DecomposerNumVariablesThreshold;
 
 2436      if (other.HasNumBopSolversUsedByDecomposition) {
 
 2437        NumBopSolversUsedByDecomposition = other.NumBopSolversUsedByDecomposition;
 
 2439      if (other.HasDecomposedProblemMinTimeInSeconds) {
 
 2440        DecomposedProblemMinTimeInSeconds = other.DecomposedProblemMinTimeInSeconds;
 
 2442      if (other.HasGuidedSatConflictsChunk) {
 
 2443        GuidedSatConflictsChunk = other.GuidedSatConflictsChunk;
 
 2445      if (other.HasMaxLpSolveForFeasibilityProblems) {
 
 2446        MaxLpSolveForFeasibilityProblems = other.MaxLpSolveForFeasibilityProblems;
 
 2448      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
 
 2451    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
 2452    [global::System.CodeDom.Compiler.GeneratedCode(
"protoc", 
null)]
 
 2453    public void MergeFrom(pb::CodedInputStream input) {
 
 
 2454    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE 
 2455      input.ReadRawMessage(
this);
 
 2458      while ((tag = input.ReadTag()) != 0) {
 
 2459      if ((tag & 7) == 4) {
 
 2465            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
 
 2552            SynchronizationType = (global::Google.OrTools.Bop.BopParameters.Types.ThreadSynchronizationType) input.ReadEnum();
 
 2556            solverOptimizerSets_.AddEntriesFrom(input, _repeated_solverOptimizerSets_codec);
 
 2620    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE 
 2621    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
 2622    [global::System.CodeDom.Compiler.GeneratedCode(
"protoc", 
null)]
 
 
 2623    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
 
 2625      while ((tag = input.ReadTag()) != 0) {
 
 2626      if ((tag & 7) == 4) {
 
 2632            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
 
 2635            MaxTimeInSeconds = input.ReadDouble();
 
 2639            MaxNumDecisionsInLs = input.ReadInt32();
 
 2643            ComputeEstimatedImpact = input.ReadBool();
 
 2647            PruneSearchTree = input.ReadBool();
 
 2651            SortConstraintsByNumTerms = input.ReadBool();
 
 2655            UseRandomLns = input.ReadBool();
 
 2659            RandomSeed = input.ReadInt32();
 
 2663            NumRelaxedVars = input.ReadInt32();
 
 2667            MaxNumberOfConflictsInRandomLns = input.ReadInt32();
 
 2671            NumRandomLnsTries = input.ReadInt32();
 
 2675            MaxNumberOfBacktracksInLs = input.ReadInt64();
 
 2679            UseLpLns = input.ReadBool();
 
 2683            LogSearchProgress = input.ReadBool();
 
 2687            UseSatToChooseLnsNeighbourhood = input.ReadBool();
 
 2691            MaxNumberOfConflictsForQuickCheck = input.ReadInt32();
 
 2695            UseSymmetry = input.ReadBool();
 
 2699            MaxNumberOfConflictsInRandomSolutionGeneration = input.ReadInt32();
 
 2703            MaxNumberOfExploredAssignmentsPerTryInLs = input.ReadInt64();
 
 2707            UseTranspositionTableInLs = input.ReadBool();
 
 2711            UseLearnedBinaryClausesInLp = input.ReadBool();
 
 2715            NumberOfSolvers = input.ReadInt32();
 
 2719            SynchronizationType = (global::Google.OrTools.Bop.BopParameters.Types.ThreadSynchronizationType) input.ReadEnum();
 
 2723            solverOptimizerSets_.AddEntriesFrom(ref input, _repeated_solverOptimizerSets_codec);
 
 2727            MaxDeterministicTime = input.ReadDouble();
 
 2731            RelativeGapLimit = input.ReadDouble();
 
 2735            UseLpStrongBranching = input.ReadBool();
 
 2739            DecomposerNumVariablesThreshold = input.ReadInt32();
 
 2743            NumBopSolversUsedByDecomposition = input.ReadInt32();
 
 2747            DefaultSolverOptimizerSets = input.ReadString();
 
 2751            GuidedSatConflictsChunk = input.ReadInt32();
 
 2755            MaxNumberOfConsecutiveFailingOptimizerCalls = input.ReadInt32();
 
 2759            DecomposedProblemMinTimeInSeconds = input.ReadDouble();
 
 2763            LpMaxDeterministicTime = input.ReadDouble();
 
 2767            MaxNumBrokenConstraintsInLs = input.ReadInt32();
 
 2771            UsePotentialOneFlipRepairsInLs = input.ReadBool();
 
 2775            ExploitSymmetryInSatFirstSolution = input.ReadBool();
 
 2779            MaxLpSolveForFeasibilityProblems = input.ReadInt32();
 
 2787    #region Nested types 
 2789    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
 
 2790    [global::System.CodeDom.Compiler.GeneratedCode(
"protoc", 
null)]
 
 2791    public static partial 
class Types {