36    [global::System.Runtime.InteropServices.DllImport(
"google-ortools-native", EntryPoint=
"SWIGRegisterExceptionCallbacks_operations_research_sat")]
 
   50    [global::System.Runtime.InteropServices.DllImport(
"google-ortools-native", EntryPoint=
"SWIGRegisterExceptionArgumentCallbacks_operations_research_sat")]
 
   56    static void SetPendingApplicationException(
string message) {
 
   59    static void SetPendingArithmeticException(
string message) {
 
   62    static void SetPendingDivideByZeroException(
string message) {
 
   63      SWIGPendingException.Set(
new global::System.DivideByZeroException(message, SWIGPendingException.Retrieve()));
 
   65    static void SetPendingIndexOutOfRangeException(
string message) {
 
   66      SWIGPendingException.Set(
new global::System.IndexOutOfRangeException(message, SWIGPendingException.Retrieve()));
 
   68    static void SetPendingInvalidCastException(
string message) {
 
   69      SWIGPendingException.Set(
new global::System.InvalidCastException(message, SWIGPendingException.Retrieve()));
 
   71    static void SetPendingInvalidOperationException(
string message) {
 
   72      SWIGPendingException.Set(
new global::System.InvalidOperationException(message, SWIGPendingException.Retrieve()));
 
   74    static void SetPendingIOException(
string message) {
 
   75      SWIGPendingException.Set(
new global::System.IO.IOException(message, SWIGPendingException.Retrieve()));
 
   77    static void SetPendingNullReferenceException(
string message) {
 
   78      SWIGPendingException.Set(
new global::System.NullReferenceException(message, SWIGPendingException.Retrieve()));
 
   80    static void SetPendingOutOfMemoryException(
string message) {
 
   81      SWIGPendingException.Set(
new global::System.OutOfMemoryException(message, SWIGPendingException.Retrieve()));
 
   83    static void SetPendingOverflowException(
string message) {
 
   84      SWIGPendingException.Set(
new global::System.OverflowException(message, SWIGPendingException.Retrieve()));
 
   86    static void SetPendingSystemException(
string message) {
 
   87      SWIGPendingException.Set(
new global::System.SystemException(message, SWIGPendingException.Retrieve()));
 
   90    static void SetPendingArgumentException(
string message, 
string paramName) {
 
   91      SWIGPendingException.Set(
new global::System.ArgumentException(message, paramName, SWIGPendingException.Retrieve()));
 
   93    static void SetPendingArgumentNullException(
string message, 
string paramName) {
 
   94      global::System.Exception e = SWIGPendingException.Retrieve();
 
   95      if (e != 
null) message = message + 
" Inner Exception: " + e.Message;
 
   96      SWIGPendingException.Set(
new global::System.ArgumentNullException(paramName, message));
 
   98    static void SetPendingArgumentOutOfRangeException(
string message, 
string paramName) {
 
   99      global::System.Exception e = SWIGPendingException.Retrieve();
 
  100      if (e != 
null) message = message + 
" Inner Exception: " + e.Message;
 
  101      SWIGPendingException.Set(
new global::System.ArgumentOutOfRangeException(paramName, message));
 
  104    static SWIGExceptionHelper() {
 
  108                                divideByZeroDelegate,
 
  109                                indexOutOfRangeDelegate,
 
  111                                invalidOperationDelegate,
 
  113                                nullReferenceDelegate,
 
  120                                argumentNullDelegate,
 
  121                                argumentOutOfRangeDelegate);
 
 
  128    [global::System.ThreadStatic]
 
  129    private static global::System.Exception pendingException = 
null;
 
  130    private static int numExceptionsPending = 0;
 
  131    private static global::System.Object exceptionsLock = 
null;
 
  135        bool pending = 
false;
 
  136        if (numExceptionsPending > 0)
 
  137          if (pendingException != 
null)
 
  143    public static void Set(global::System.Exception e) {
 
 
  144      if (pendingException != 
null)
 
  145        throw new global::System.ApplicationException(
"FATAL: An earlier pending exception from unmanaged code was missed and thus not thrown (" + pendingException.ToString() + 
")", e);
 
  146      pendingException = e;
 
  147      lock(exceptionsLock) {
 
  148        numExceptionsPending++;
 
  152    public static global::System.Exception 
Retrieve() {
 
 
  153      global::System.Exception e = 
null;
 
  154      if (numExceptionsPending > 0) {
 
  155        if (pendingException != 
null) {
 
  156          e = pendingException;
 
  157          pendingException = 
null;
 
  158          lock(exceptionsLock) {
 
  159            numExceptionsPending--;
 
  166    static SWIGPendingException() {
 
 
  167      exceptionsLock = 
new global::System.Object();
 
 
  172  protected class SWIGStringHelper {
 
  177    [global::System.Runtime.InteropServices.DllImport(
"google-ortools-native", EntryPoint=
"SWIGRegisterStringCallback_operations_research_sat")]
 
  180    static string CreateString(
string cString) {
 
  189  static protected SWIGStringHelper 
swigStringHelper = 
new SWIGStringHelper();
 
 
  194    [global::System.Runtime.InteropServices.DllImport(
"operations_research_sat", EntryPoint=
"SWIG_csharp_string_to_c")]
 
  195    private static extern global::System.IntPtr SWIG_csharp_string_to_c0(
int size, 
int len, [global::System.Runtime.InteropServices.In,global::System.Runtime.InteropServices.MarshalAs(global::System.Runtime.InteropServices.UnmanagedType.LPStr, SizeParamIndex=0)] 
string str);
 
  197    [global::System.Runtime.InteropServices.DllImport(
"operations_research_sat", EntryPoint=
"SWIG_csharp_string_size")]
 
  198    private static extern int SWIG_csharp_string_size(global::System.IntPtr str);
 
  200    [global::System.Runtime.InteropServices.DllImport(
"operations_research_sat", EntryPoint=
"SWIG_csharp_string_str")]
 
  201    private static extern global::System.IntPtr SWIG_csharp_string_str(global::System.IntPtr str);
 
  205        return global::System.IntPtr.Zero;
 
  206      global::System.Text.Encoding utf8 = global::System.Text.Encoding.UTF8;
 
  207      return SWIG_csharp_string_to_c0(utf8.GetByteCount(str), str.Length, str);
 
 
  211      int size = SWIG_csharp_string_size(str);
 
  213        global::System.IntPtr s = SWIG_csharp_string_str(str);
 
  214        byte[] b = 
new byte[size];
 
  215        global::System.Runtime.InteropServices.Marshal.Copy(s, b, 0, size);
 
  216        global::System.Text.Encoding utf8 = global::System.Text.Encoding.UTF8;
 
  217        return utf8.GetString(b);
 
 
 
  224  static operations_research_satPINVOKE() {
 
  228  [global::System.Runtime.InteropServices.DllImport(
"google-ortools-native", EntryPoint=
"CSharp_GooglefOrToolsfSat_delete_SolutionCallback___")]
 
  231  [global::System.Runtime.InteropServices.DllImport(
"google-ortools-native", EntryPoint=
"CSharp_GooglefOrToolsfSat_SolutionCallback_OnSolutionCallback___")]
 
  234  [global::System.Runtime.InteropServices.DllImport(
"google-ortools-native", EntryPoint=
"CSharp_GooglefOrToolsfSat_SolutionCallback_NumBooleans___")]
 
  237  [global::System.Runtime.InteropServices.DllImport(
"google-ortools-native", EntryPoint=
"CSharp_GooglefOrToolsfSat_SolutionCallback_NumBranches___")]
 
  240  [global::System.Runtime.InteropServices.DllImport(
"google-ortools-native", EntryPoint=
"CSharp_GooglefOrToolsfSat_SolutionCallback_NumConflicts___")]
 
  243  [global::System.Runtime.InteropServices.DllImport(
"google-ortools-native", EntryPoint=
"CSharp_GooglefOrToolsfSat_SolutionCallback_NumBinaryPropagations___")]
 
  246  [global::System.Runtime.InteropServices.DllImport(
"google-ortools-native", EntryPoint=
"CSharp_GooglefOrToolsfSat_SolutionCallback_NumIntegerPropagations___")]
 
  249  [global::System.Runtime.InteropServices.DllImport(
"google-ortools-native", EntryPoint=
"CSharp_GooglefOrToolsfSat_SolutionCallback_WallTime___")]
 
  252  [global::System.Runtime.InteropServices.DllImport(
"google-ortools-native", EntryPoint=
"CSharp_GooglefOrToolsfSat_SolutionCallback_UserTime___")]
 
  255  [global::System.Runtime.InteropServices.DllImport(
"google-ortools-native", EntryPoint=
"CSharp_GooglefOrToolsfSat_SolutionCallback_ObjectiveValue___")]
 
  258  [global::System.Runtime.InteropServices.DllImport(
"google-ortools-native", EntryPoint=
"CSharp_GooglefOrToolsfSat_SolutionCallback_BestObjectiveBound___")]
 
  261  [global::System.Runtime.InteropServices.DllImport(
"google-ortools-native", EntryPoint=
"CSharp_GooglefOrToolsfSat_SolutionCallback_SolutionIntegerValue___")]
 
  264  [global::System.Runtime.InteropServices.DllImport(
"google-ortools-native", EntryPoint=
"CSharp_GooglefOrToolsfSat_SolutionCallback_SolutionBooleanValue___")]
 
  267  [global::System.Runtime.InteropServices.DllImport(
"google-ortools-native", EntryPoint=
"CSharp_GooglefOrToolsfSat_SolutionCallback_StopSearch___")]
 
  270  [global::System.Runtime.InteropServices.DllImport(
"google-ortools-native", EntryPoint=
"CSharp_GooglefOrToolsfSat_SolutionCallback_Response___")]
 
  271  public static extern global::System.IntPtr 
SolutionCallback_Response(global::System.Runtime.InteropServices.HandleRef jarg1);
 
  273  [global::System.Runtime.InteropServices.DllImport(
"google-ortools-native", EntryPoint=
"CSharp_GooglefOrToolsfSat_new_SolutionCallback___")]
 
  276  [global::System.Runtime.InteropServices.DllImport(
"google-ortools-native", EntryPoint=
"CSharp_GooglefOrToolsfSat_SolutionCallback_director_connect___")]
 
  279  [global::System.Runtime.InteropServices.DllImport(
"google-ortools-native", EntryPoint=
"CSharp_GooglefOrToolsfSat_delete_LogCallback___")]
 
  280  public static extern void delete_LogCallback(global::System.Runtime.InteropServices.HandleRef jarg1);
 
  282  [global::System.Runtime.InteropServices.DllImport(
"google-ortools-native", EntryPoint=
"CSharp_GooglefOrToolsfSat_LogCallback_NewMessage___")]
 
  283  public static extern void LogCallback_NewMessage(global::System.Runtime.InteropServices.HandleRef jarg1, 
string jarg2);
 
  285  [global::System.Runtime.InteropServices.DllImport(
"google-ortools-native", EntryPoint=
"CSharp_GooglefOrToolsfSat_new_LogCallback___")]
 
  288  [global::System.Runtime.InteropServices.DllImport(
"google-ortools-native", EntryPoint=
"CSharp_GooglefOrToolsfSat_LogCallback_director_connect___")]
 
  291  [global::System.Runtime.InteropServices.DllImport(
"google-ortools-native", EntryPoint=
"CSharp_GooglefOrToolsfSat_delete_BestBoundCallback___")]
 
  294  [global::System.Runtime.InteropServices.DllImport(
"google-ortools-native", EntryPoint=
"CSharp_GooglefOrToolsfSat_BestBoundCallback_NewBestBound___")]
 
  297  [global::System.Runtime.InteropServices.DllImport(
"google-ortools-native", EntryPoint=
"CSharp_GooglefOrToolsfSat_new_BestBoundCallback___")]
 
  300  [global::System.Runtime.InteropServices.DllImport(
"google-ortools-native", EntryPoint=
"CSharp_GooglefOrToolsfSat_BestBoundCallback_director_connect___")]
 
  303  [global::System.Runtime.InteropServices.DllImport(
"google-ortools-native", EntryPoint=
"CSharp_GooglefOrToolsfSat_new_SolveWrapper___")]
 
  306  [global::System.Runtime.InteropServices.DllImport(
"google-ortools-native", EntryPoint=
"CSharp_GooglefOrToolsfSat_SolveWrapper_SetStringParameters___")]
 
  309  [global::System.Runtime.InteropServices.DllImport(
"google-ortools-native", EntryPoint=
"CSharp_GooglefOrToolsfSat_SolveWrapper_AddSolutionCallback___")]
 
  310  public static extern void SolveWrapper_AddSolutionCallback(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
 
  312  [global::System.Runtime.InteropServices.DllImport(
"google-ortools-native", EntryPoint=
"CSharp_GooglefOrToolsfSat_SolveWrapper_ClearSolutionCallback___")]
 
  313  public static extern void SolveWrapper_ClearSolutionCallback(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
 
  315  [global::System.Runtime.InteropServices.DllImport(
"google-ortools-native", EntryPoint=
"CSharp_GooglefOrToolsfSat_SolveWrapper_AddLogCallbackFromClass___")]
 
  318  [global::System.Runtime.InteropServices.DllImport(
"google-ortools-native", EntryPoint=
"CSharp_GooglefOrToolsfSat_SolveWrapper_AddBestBoundCallbackFromClass___")]
 
  321  [global::System.Runtime.InteropServices.DllImport(
"google-ortools-native", EntryPoint=
"CSharp_GooglefOrToolsfSat_SolveWrapper_Solve___")]
 
  322  public static extern System.IntPtr 
SolveWrapper_Solve(global::System.Runtime.InteropServices.HandleRef jarg1, 
int model_proto_size, 
byte[] jarg2);
 
  324  [global::System.Runtime.InteropServices.DllImport(
"google-ortools-native", EntryPoint=
"CSharp_GooglefOrToolsfSat_SolveWrapper_StopSearch___")]
 
  327  [global::System.Runtime.InteropServices.DllImport(
"google-ortools-native", EntryPoint=
"CSharp_GooglefOrToolsfSat_delete_SolveWrapper___")]
 
  328  public static extern void delete_SolveWrapper(global::System.Runtime.InteropServices.HandleRef jarg1);
 
  330  [global::System.Runtime.InteropServices.DllImport(
"google-ortools-native", EntryPoint=
"CSharp_GooglefOrToolsfSat_CpSatHelper_ModelStats___")]
 
  333  [global::System.Runtime.InteropServices.DllImport(
"google-ortools-native", EntryPoint=
"CSharp_GooglefOrToolsfSat_CpSatHelper_SolverResponseStats___")]
 
  336  [global::System.Runtime.InteropServices.DllImport(
"google-ortools-native", EntryPoint=
"CSharp_GooglefOrToolsfSat_CpSatHelper_ValidateModel___")]
 
  339  [global::System.Runtime.InteropServices.DllImport(
"google-ortools-native", EntryPoint=
"CSharp_GooglefOrToolsfSat_CpSatHelper_VariableDomain___")]
 
  342  [global::System.Runtime.InteropServices.DllImport(
"google-ortools-native", EntryPoint=
"CSharp_GooglefOrToolsfSat_CpSatHelper_WriteModelToFile___")]
 
  345  [global::System.Runtime.InteropServices.DllImport(
"google-ortools-native", EntryPoint=
"CSharp_GooglefOrToolsfSat_new_CpSatHelper___")]
 
  348  [global::System.Runtime.InteropServices.DllImport(
"google-ortools-native", EntryPoint=
"CSharp_GooglefOrToolsfSat_delete_CpSatHelper___")]
 
  349  public static extern void delete_CpSatHelper(global::System.Runtime.InteropServices.HandleRef jarg1);