text: # encoding: utf-8
  # module Microsoft.Win32 calls itself Win32
  # from mscorlib,Version=4.0.0.0,Culture=neutral,PublicKeyToken=b77a5c561934e089,System,Version=4.0.0.0,Culture=neutral,PublicKeyToken=b77a5c561934e089,PresentationFramework,Version=4.0.0.0,Culture=neutral,PublicKeyToken=31bf3856ad364e35
  # by generator 1.145
  # no doc
  # no imports
  
  # no functions
  # classes
  
  class CommonDialog(object):
   """ An abstract base class for displaying common Win32 dialogs. """
   def CheckPermissionsToShowDialog(self,*args):
    """
    CheckPermissionsToShowDialog(self: CommonDialog)
  
     Determines whether sufficient permissions for displaying a dialog exist.
    """
    pass
   def HookProc(self,*args):
    """
    HookProc(self: CommonDialog,hwnd: IntPtr,msg: int,wParam: IntPtr,lParam: IntPtr) -> IntPtr
  
    
  
     Defines the common dialog box hook procedure that is overridden to add specific 
  
      functionality to a common dialog box.
  
    
  
    
  
     hwnd: Window handle for the Win32 dialog.
  
     msg: Windows message to be processed by the Win32 dialog.
  
     wParam: Parameters for dialog actions.
  
     lParam: Parameters for dialog actions.
  
     Returns: Always returns System.IntPtr.Zero.
    """
    pass
   def Reset(self):
    """
    Reset(self: CommonDialog)
  
     When overridden in a derived class,resets the properties of a common dialog to 
  
      their default values.
    """
    pass
   def RunDialog(self,*args):
    """
    RunDialog(self: CommonDialog,hwndOwner: IntPtr) -> bool
  
    
  
     When overridden in a derived class,is called to display a particular type of 
  
      Win32 common dialog.
  
    
  
    
  
     hwndOwner: Handle to the window that owns the dialog box.
  
     Returns: If the user clicks the OK button of the dialog that is displayed (e.g. 
  
      Microsoft.Win32.OpenFileDialog,Microsoft.Win32.SaveFileDialog),true is 
  
      returned; otherwise,false.
    """
    pass
   def ShowDialog(self,owner=None):
    """
    ShowDialog(self: CommonDialog,owner: Window) -> Nullable[bool]
  
    
  
     Displays a common dialog.
  
    
  
     owner: Handle to the window that owns the dialog.
  
     Returns: If the user clicks the OK button of the dialog that is displayed (e.g. 
  
      Microsoft.Win32.OpenFileDialog,Microsoft.Win32.SaveFileDialog),true is 
  
      returned; otherwise,false.
  
    
  
    ShowDialog(self: CommonDialog) -> Nullable[bool]
  
    
  
     Displays a common dialog.
  
     Returns: If the user clicks the OK button of the dialog that is displayed (e.g. 
  
      Microsoft.Win32.OpenFileDialog,Microsoft.Win32.SaveFileDialog),true is 
  
      returned; otherwise,false.
    """
    pass
   Tag=property(lambda self: object(),lambda self,v: None,lambda self: None)
   """Gets or sets an object associated with the dialog. This provides the ability to attach an arbitrary object to the dialog.
  
  
  
  Get: Tag(self: CommonDialog) -> object
  
  
  
  Set: Tag(self: CommonDialog)=value
  
  """
  
  
  
  class FileDialog(CommonDialog):
   """ An abstract base class that encapsulates functionality that is common to file dialogs,including Microsoft.Win32.OpenFileDialog and Microsoft.Win32.SaveFileDialog. """
   def OnFileOk(self,*args):
    """
    OnFileOk(self: FileDialog,e: CancelEventArgs)
  
     Raises the Microsoft.Win32.FileDialog.FileOk event.
  
    
  
     e: A System.ComponentModel.CancelEventArgs that contains the event data.
    """
    pass
   def Reset(self):
    """
    Reset(self: FileDialog)
  
     Sets all properties of a file dialog back to their initial values.
    """
    pass
   def ToString(self):
    """
    ToString(self: FileDialog) -> str
  
    
  
     Returns a string that represents a file dialog.
  
     Returns: A System.String representation of Microsoft.Win32.FileDialog that contains the 
  
      full pathname for any files selected from either 
  
      Microsoft.Win32.OpenFileDialog,Microsoft.Win32.SaveFileDialog.
    """
    pass
   AddExtension=property(lambda self: object(),lambda self,v: None,lambda self: None)
   """Gets or sets a value indicating whether a file dialog automatically adds an extension to a file name if the user omits an extension.
  
  
  
  Get: AddExtension(self: FileDialog) -> bool
  
  
  
  Set: AddExtension(self: FileDialog)=value
  
  """
  
   CheckFileExists=property(lambda self: object(),lambda self,v: None,lambda self: None)
   """Gets or sets a value indicating whether a file dialog displays a warning if the user specifies a file name that does not exist.
  
  
  
  Get: CheckFileExists(self: FileDialog) -> bool
  
  
  
  Set: CheckFileExists(self: FileDialog)=value
  
  """
  
   CheckPathExists=property(lambda self: object(),lambda self,v: None,lambda self: None)
   """Gets or sets a value that specifies whether warnings are displayed if the user types invalid paths and file names.
  
  
  
  Get: CheckPathExists(self: FileDialog) -> bool
  
  
  
  Set: CheckPathExists(self: FileDialog)=value
  
  """
  
   CustomPlaces=property(lambda self: object(),lambda self,v: None,lambda self: None)
   """Gets or sets the list of custom places for file dialog boxes.
  
  
  
  Get: CustomPlaces(self: FileDialog) -> IList[FileDialogCustomPlace]
  
  
  
  Set: CustomPlaces(self: FileDialog)=value
  
  """
  
   DefaultExt=property(lambda self: object(),lambda self,v: None,lambda self: None)
   """Gets or sets a value that specifies the default extension string to use to filter the list of files that are displayed.
  
  
  
  Get: DefaultExt(self: FileDialog) -> str
  
  
  
  Set: DefaultExt(self: FileDialog)=value
  
  """
  
   DereferenceLinks=property(lambda self: object(),lambda self,v: None,lambda self: None)
   """Gets or sets a value indicating whether a file dialog returns either the location of the file referenced by a shortcut or the location of the shortcut file (.lnk).
  
  
  
  Get: DereferenceLinks(self: FileDialog) -> bool
  
  
  
  Set: DereferenceLinks(self: FileDialog)=value
  
  """
  
   FileName=property(lambda self: object(),lambda self,v: None,lambda self: None)
   """Gets or sets a string containing the full path of the file selected in a file dialog.
  
  
  
  Get: FileName(self: FileDialog) -> str
  
  
  
  Set: FileName(self: FileDialog)=value
  
  """
  
   FileNames=property(lambda self: object(),lambda self,v: None,lambda self: None)
   """Gets an array that contains one file name for each selected file.
  
  
  
  Get: FileNames(self: FileDialog) -> Array[str]
  
  
  
  """
  
   Filter=property(lambda self: object(),lambda self,v: None,lambda self: None)
   """Gets or sets the filter string that determines what types of files are displayed from either the Microsoft.Win32.OpenFileDialog or Microsoft.Win32.SaveFileDialog.
  
  
  
  Get: Filter(self: FileDialog) -> str
  
  
  
  Set: Filter(self: FileDialog)=value
  
  """
  
   FilterIndex=property(lambda self: object(),lambda self,v: None,lambda self: None)
   """Gets or sets the index of the filter currently selected in a file dialog.
  
  
  
  Get: FilterIndex(self: FileDialog) -> int
  
  
  
  Set: FilterIndex(self: FileDialog)=value
  
  """
  
   InitialDirectory=property(lambda self: object(),lambda self,v: None,lambda self: None)
   """Gets or sets the initial directory that is displayed by a file dialog.
  
  
  
  Get: InitialDirectory(self: FileDialog) -> str
  
  
  
  Set: InitialDirectory(self: FileDialog)=value
  
  """
  
   Options=property(lambda self: object(),lambda self,v: None,lambda self: None)
   """Gets the Win32 common file dialog flags that are used by file dialogs for initialization.
  
  
  
  """
  
   RestoreDirectory=property(lambda self: object(),lambda self,v: None,lambda self: None)
   """This property is not implemented.
  
  
  
  Get: RestoreDirectory(self: FileDialog) -> bool
  
  
  
  Set: RestoreDirectory(self: FileDialog)=value
  
  """
  
   SafeFileName=property(lambda self: object(),lambda self,v: None,lambda self: None)
   """Gets a string that only contains the file name for the selected file.
  
  
  
  Get: SafeFileName(self: FileDialog) -> str
  
  
  
  """
  
   SafeFileNames=property(lambda self: object(),lambda self,v: None,lambda self: None)
   """Gets an array that contains one safe file name for each selected file.
  
  
  
  Get: SafeFileNames(self: FileDialog) -> Array[str]
  
  
  
  """
  
   Title=property(lambda self: object(),lambda self,v: None,lambda self: None)
   """Gets or sets the text that appears in the title bar of a file dialog.
  
  
  
  Get: Title(self: FileDialog) -> str
  
  
  
  Set: Title(self: FileDialog)=value
  
  """
  
   ValidateNames=property(lambda self: object(),lambda self,v: None,lambda self: None)
   """Gets or sets a value indicating whether the dialog accepts only valid Win32�file names.
  
  
  
  Get: ValidateNames(self: FileDialog) -> bool
  
  
  
  Set: ValidateNames(self: FileDialog)=value
  
  """
  
  
   FileOk=None
  
  
  class FileDialogCustomPlace(object):
   """
   Represents an entry in a Microsoft.Win32.FileDialog custom place list.
  
   
  
   FileDialogCustomPlace(knownFolder: Guid)
  
   FileDialogCustomPlace(path: str)
   """
   @staticmethod
   def __new__(self,*__args):
    """
    __new__(cls: type,knownFolder: Guid)
  
    __new__(cls: type,path: str)
    """
    pass
   KnownFolder=property(lambda self: object(),lambda self,v: None,lambda self: None)
   """Gets the GUID of the known folder for the custom place.
  
  
  
  Get: KnownFolder(self: FileDialogCustomPlace) -> Guid
  
  
  
  """
  
   Path=property(lambda self: object(),lambda self,v: None,lambda self: None)
   """Gets the file path for the custom place.
  
  
  
  Get: Path(self: FileDialogCustomPlace) -> str
  
  
  
  """
  
  
  
  class FileDialogCustomPlaces(object):
   """ Defines the known folders for custom places in file dialog boxes. """
   Contacts=None
   Cookies=None
   Desktop=None
   Documents=None
   Favorites=None
   LocalApplicationData=None
   Music=None
   Pictures=None
   ProgramFiles=None
   ProgramFilesCommon=None
   Programs=None
   RoamingApplicationData=None
   SendTo=None
   StartMenu=None
   Startup=None
   System=None
   Templates=None
   __all__=[]
  
  
  class IntranetZoneCredentialPolicy(object,ICredentialPolicy):
   """
   Defines a credential policy to be used for resource requests that are made using System.Net.WebRequest and its derived classes.
  
   
  
   IntranetZoneCredentialPolicy()
   """
   def ShouldSendCredential(self,challengeUri,request,credential,authModule):
    """
    ShouldSendCredential(self: IntranetZoneCredentialPolicy,challengeUri: Uri,request: WebRequest,credential: NetworkCredential,authModule: IAuthenticationModule) -> bool
  
    
  
     Returns a System.Boolean that indicates whether the client's credentials are 
  
      sent with a request for a resource that was made using System.Net.WebRequest.
  
    
  
    
  
     challengeUri: The System.Uri that will receive the request.
  
     request: The System.Net.WebRequest that represents the resource being requested.
  
     credential: The System.Net.NetworkCredential that will be sent with the request if this 
  
      method returns true.
  
    
  
     authModule: The System.Net.IAuthenticationModule that will conduct the authentication,if 
  
      authentication is required.
  
    
  
     Returns: true if the requested resource is in the same domain as the client making the 
  
      request; otherwise,false.
    """
    pass
   def __init__(self,*args):
    """ x.__init__(...) initializes x; see x.__class__.__doc__ for signaturex.__init__(...) initializes x; see x.__class__.__doc__ for signaturex.__init__(...) initializes x; see x.__class__.__doc__ for signature """
    pass
   def __repr__(self,*args):
    """ __repr__(self: object) -> str """
    pass
  
  class OpenFileDialog(FileDialog):
   """
   Represents a common dialog box that allows a user to specify a filename for one or more files to open.
  
   
  
   OpenFileDialog()
   """
   def OpenFile(self):
    """
    OpenFile(self: OpenFileDialog) -> Stream
  
    
  
     Opens a read-only stream for the file that is selected by the user using 
  
      Microsoft.Win32.OpenFileDialog.
  
    
  
     Returns: A new System.IO.Stream that contains the selected file.
    """
    pass
   def OpenFiles(self):
    """
    OpenFiles(self: OpenFileDialog) -> Array[Stream]
  
    
  
     Creates an array that contains one read-only stream for each file selected by 
  
      the user using Microsoft.Win32.OpenFileDialog.
  
    
  
     Returns: An array of multiple new System.IO.Stream objects that contain the selected 
  
      files.
    """
    pass
   def Reset(self):
    """
    Reset(self: OpenFileDialog)
  
     Resets all Microsoft.Win32.OpenFileDialog properties to their default values.
    """
    pass
   Multiselect=property(lambda self: object(),lambda self,v: None,lambda self: None)
   """Gets or sets an option indicating whether Microsoft.Win32.OpenFileDialog allows users to select multiple files.
  
  
  
  Get: Multiselect(self: OpenFileDialog) -> bool
  
  
  
  Set: Multiselect(self: OpenFileDialog)=value
  
  """
  
   Options=property(lambda self: object(),lambda self,v: None,lambda self: None)
   """Gets the Win32 common file dialog flags that are used by file dialogs for initialization.
  
  
  
  """
  
   ReadOnlyChecked=property(lambda self: object(),lambda self,v: None,lambda self: None)
   """Gets or sets a value indicating whether the read-only check box displayed by Microsoft.Win32.OpenFileDialog is selected.
  
  
  
  Get: ReadOnlyChecked(self: OpenFileDialog) -> bool
  
  
  
  Set: ReadOnlyChecked(self: OpenFileDialog)=value
  
  """
  
   ShowReadOnly=property(lambda self: object(),lambda self,v: None,lambda self: None)
   """Gets or sets a value indicating whether Microsoft.Win32.OpenFileDialog contains a read-only check box.
  
  
  
  Get: ShowReadOnly(self: OpenFileDialog) -> bool
  
  
  
  Set: ShowReadOnly(self: OpenFileDialog)=value
  
  """
  
  
  
  class PowerModeChangedEventArgs(EventArgs):
   """
   Provides data for the Microsoft.Win32.SystemEvents.PowerModeChanged event.
  
   
  
   PowerModeChangedEventArgs(mode: PowerModes)
   """
   @staticmethod
   def __new__(self,mode):
    """ __new__(cls: type,mode: PowerModes) """
    pass
   Mode=property(lambda self: object(),lambda self,v: None,lambda self: None)
   """Gets an identifier that indicates the type of the power mode event that has occurred.
  
  
  
  Get: Mode(self: PowerModeChangedEventArgs) -> PowerModes
  
  
  
  """
  
  
  
  class PowerModeChangedEventHandler(MulticastDelegate,ICloneable,ISerializable):
   """
   Represents the method that will handle the Microsoft.Win32.SystemEvents.PowerModeChanged event.
  
   
  
   PowerModeChangedEventHandler(object: object,method: IntPtr)
   """
   def BeginInvoke(self,sender,e,callback,object):
    """ BeginInvoke(self: PowerModeChangedEventHandler,sender: object,e: PowerModeChangedEventArgs,callback: AsyncCallback,object: object) -> IAsyncResult """
    pass
   def CombineImpl(self,*args):
    """
    CombineImpl(self: MulticastDelegate,follow: Delegate) -> Delegate
  
    
  
     Combines this System.Delegate with the specified System.Delegate to form a new 
  
      delegate.
  
    
  
    
  
     follow: The delegate to combine with this delegate.
  
     Returns: A delegate that is the new root of the System.MulticastDelegate invocation list.
    """
    pass
   def DynamicInvokeImpl(self,*args):
    """
    DynamicInvokeImpl(self: Delegate,args: Array[object]) -> object
  
    
  
     Dynamically invokes (late-bound) the method represented by the current delegate.
  
    
  
     args: An array of objects that are the arguments to pass to the method represented by 
  
      the current delegate.-or- null,if the method represented by the current 
  
      delegate does not require arguments.
  
    
  
     Returns: The object returned by the method represented by the delegate.
    """
    pass
   def EndInvoke(self,result):
    """ EndInvoke(self: PowerModeChangedEventHandler,result: IAsyncResult) """
    pass
   def GetMethodImpl(self,*args):
    """
    GetMethodImpl(self: MulticastDelegate) -> MethodInfo
  
    
  
     Returns a static method represented by the current System.MulticastDelegate.
  
     Returns: A static method represented by the current System.MulticastDelegate.
    """
    pass
   def Invoke(self,sender,e):
    """ Invoke(self: PowerModeChangedEventHandler,sender: object,e: PowerModeChangedEventArgs) """
    pass
   def RemoveImpl(self,*args):
    """
    RemoveImpl(self: MulticastDelegate,value: Delegate) -> Delegate
  
    
  
     Removes an element from the invocation list of this System.MulticastDelegate 
  
      that is equal to the specified delegate.
  
    
  
    
  
     value: The delegate to search for in the invocation list.
  
     Returns: If value is found in the invocation list for this instance,then a new 
  
      System.Delegate without value in its invocation list; otherwise,this instance 
  
      with its original invocation list.
    """
    pass
   def __init__(self,*args):
    """ x.__init__(...) initializes x; see x.__class__.__doc__ for signaturex.__init__(...) initializes x; see x.__class__.__doc__ for signaturex.__init__(...) initializes x; see x.__class__.__doc__ for signature """
    pass
   @staticmethod
   def __new__(self,object,method):
    """ __new__(cls: type,object: object,method: IntPtr) """
    pass
   def __reduce_ex__(self,*args):
    pass
  
  class PowerModes(Enum,IComparable,IFormattable,IConvertible):
   """
   Defines identifiers for power mode events reported by the operating system.
  
   
  
   enum PowerModes,values: Resume (1),StatusChange (2),Suspend (3)
   """
   def __eq__(self,*args):
    """ x.__eq__(y) <==> x==yx.__eq__(y) <==> x==yx.__eq__(y) <==> x==y """
    pass
   def __format__(self,*args):
    """ __format__(formattable: IFormattable,format: str) -> str """
    pass
   def __ge__(self,*args):
    pass
   def __gt__(self,*args):
    pass
   def __init__(self,*args):
    """ x.__init__(...) initializes x; see x.__class__.__doc__ for signaturex.__init__(...) initializes x; see x.__class__.__doc__ for signaturex.__init__(...) initializes x; see x.__class__.__doc__ for signature """
    pass
   def __le__(self,*args):
    pass
   def __lt__(self,*args):
    pass
   def __ne__(self,*args):
    pass
   def __reduce_ex__(self,*args):
    pass
   def __str__(self,*args):
    pass
   Resume=None
   StatusChange=None
   Suspend=None
   value__=None
  
  
  class Registry(object):
   """ Provides Microsoft.Win32.RegistryKey objects that represent the root keys in the Windows registry,and static methods to access key/value pairs. """
   @staticmethod
   def GetValue(keyName,valueName,defaultValue):
    """
    GetValue(keyName: str,valueName: str,defaultValue: object) -> object
  
    
  
     Retrieves the value associated with the specified name,in the specified 
  
      registry key. If the name is not found in the specified key,returns a default 
  
      value that you provide,or null if the specified key does not exist.
  
    
  
    
  
     keyName: The full registry path of the key,beginning with a valid registry root,such 
  
      as "HKEY_CURRENT_USER".
  
    
  
     valueName: The name of the name/value pair.
  
     defaultValue: The value to return if valueName does not exist.
  
     Returns: null if the subkey specified by keyName does not exist; otherwise,the value 
  
      associated with valueName,or defaultValue if valueName is not found.
    """
    pass
   @staticmethod
   def SetValue(keyName,valueName,value,valueKind=None):
    """
    SetValue(keyName: str,valueName: str,value: object)
  
     Sets the specified name/value pair on the specified registry key. If the 
  
      specified key does not exist,it is created.
  
    
  
    
  
     keyName: The full registry path of the key,beginning with a valid registry root,such 
  
      as "HKEY_CURRENT_USER".
  
    
  
     valueName: The name of the name/value pair.
  
     value: The value to be stored.
  
    SetValue(keyName: str,valueName: str,value: object,valueKind: RegistryValueKind)
  
     Sets the name/value pair on the specified registry key,using the specified 
  
      registry data type. If the specified key does not exist,it is created.
  
    
  
    
  
     keyName: The full registry path of the key,beginning with a valid registry root,such 
  
      as "HKEY_CURRENT_USER".
  
    
  
     valueName: The name of the name/value pair.
  
     value: The value to be stored.
  
     valueKind: The registry data type to use when storing the data.
    """
    pass
   ClassesRoot=None
   CurrentConfig=None
   CurrentUser=None
   DynData=None
   LocalMachine=None
   PerformanceData=None
   Users=None
   __all__=[
    'ClassesRoot',
    'CurrentConfig',
    'CurrentUser',
    'DynData',
    'GetValue',
    'LocalMachine',
    'PerformanceData',
    'SetValue',
    'Users',
   ]
  
  
  class RegistryHive(Enum,IComparable,IFormattable,IConvertible):
   """
   Represents the possible values for a top-level node on a foreign machine.
  
   
  
   enum RegistryHive,values: ClassesRoot (-2147483648),CurrentConfig (-2147483643),CurrentUser (-2147483647),DynData (-2147483642),LocalMachine (-2147483646),PerformanceData (-2147483644),Users (-2147483645)
   """
   def __eq__(self,*args):
    """ x.__eq__(y) <==> x==yx.__eq__(y) <==> x==yx.__eq__(y) <==> x==y """
    pass
   def __format__(self,*args):
    """ __format__(formattable: IFormattable,format: str) -> str """
    pass
   def __ge__(self,*args):
    pass
   def __gt__(self,*args):
    pass
   def __init__(self,*args):
    """ x.__init__(...) initializes x; see x.__class__.__doc__ for signaturex.__init__(...) initializes x; see x.__class__.__doc__ for signaturex.__init__(...) initializes x; see x.__class__.__doc__ for signature """
    pass
   def __le__(self,*args):
    pass
   def __lt__(self,*args):
    pass
   def __ne__(self,*args):
    pass
   def __reduce_ex__(self,*args):
    pass
   def __str__(self,*args):
    pass
   ClassesRoot=None
   CurrentConfig=None
   CurrentUser=None
   DynData=None
   LocalMachine=None
   PerformanceData=None
   Users=None
   value__=None
  
  
  class RegistryKey(MarshalByRefObject,IDisposable):
   """ Represents a key-level node in the Windows registry. This class is a registry encapsulation. """
   def Close(self):
    """
    Close(self: RegistryKey)
  
     Closes the key and flushes it to disk if its contents have been modified.
    """
    pass
   def CreateSubKey(self,subkey,*__args):
    """
    CreateSubKey(self: RegistryKey,subkey: str,writable: bool,options: RegistryOptions) -> RegistryKey
  
    CreateSubKey(self: RegistryKey,subkey: str,permissionCheck: RegistryKeyPermissionCheck,registrySecurity: RegistrySecurity) -> RegistryKey
  
    
  
     Creates a new subkey or opens an existing subkey for write access,using the 
  
      specified permission check option and registry security.
  
    
  
    
  
     subkey: The name or path of the subkey to create or open. This string is not 
  
      case-sensitive.
  
    
  
     permissionCheck: One of the enumeration values that specifies whether the key is opened for read 
  
      or read/write access.
  
    
  
     registrySecurity: The access control security for the new key.
  
     Returns: The newly created subkey,or null if the operation failed. If a zero-length 
  
      string is specified for subkey,the current Microsoft.Win32.RegistryKey object 
  
      is returned.
  
    
  
    CreateSubKey(self: RegistryKey,subkey: str,permissionCheck: RegistryKeyPermissionCheck,registryOptions: RegistryOptions,registrySecurity: RegistrySecurity) -> RegistryKey
  
    
  
     Creates a subkey or opens a subkey for write access,using the specified 
  
      permission check option,registry option,and registry security.
  
    
  
    
  
     subkey: The name or path of the subkey to create or open.
  
     permissionCheck: One of the enumeration values that specifies whether the key is opened for read 
  
      or read/write access.
  
    
  
     registryOptions: The registry option to use.
  
     registrySecurity: The access control security for the new subkey.
  
     Returns: The newly created subkey,or null if the operation failed.
  
    CreateSubKey(self: RegistryKey,subkey: str,writable: bool) -> RegistryKey
  
    CreateSubKey(self: RegistryKey,subkey: str) -> RegistryKey
  
    
  
     Creates a new subkey or opens an existing subkey for write access.
  
    
  
     subkey: The name or path of the subkey to create or open. This string is not 
  
      case-sensitive.
  
    
  
     Returns: The newly created subkey,or null if the operation failed. If a zero-length 
  
      string is specified for subkey,the current Microsoft.Win32.RegistryKey object 
  
      is returned.
  
    
  
    CreateSubKey(self: RegistryKey,subkey: str,permissionCheck: RegistryKeyPermissionCheck) -> RegistryKey
  
    
  
     Creates a new subkey or opens an existing subkey for write access,using the 
  
      specified permission check option.
  
    
  
    
  
     subkey: The name or path of the subkey to create or open. This string is not 
  
      case-sensitive.
  
    
  
     permissionCheck: One of the enumeration values that specifies whether the key is opened for read 
  
      or read/write access.
  
    
  
     Returns: The newly created subkey,or null if the operation failed. If a zero-length 
  
      string is specified for subkey,the current Microsoft.Win32.RegistryKey object 
  
      is returned.
  
    
  
    CreateSubKey(self: RegistryKey,subkey: str,permissionCheck: RegistryKeyPermissionCheck,options: RegistryOptions) -> RegistryKey
  
    
  
     Creates a subkey or opens a subkey for write access,using the specified 
  
      permission check and registry options.
  
    
  
    
  
     subkey: The name or path of the subkey to create or open.
  
     permissionCheck: One of the enumeration values that specifies whether the key is opened for read 
  
      or read/write access.
  
    
  
     options: The registry option to use; for example,that creates a volatile key.
  
     Returns: The newly created subkey,or null if the operation failed.
    """
    pass
   def DeleteSubKey(self,subkey,throwOnMissingSubKey=None):
    """
    DeleteSubKey(self: RegistryKey,subkey: str,throwOnMissingSubKey: bool)
  
     Deletes the specified subkey,and specifies whether an exception is raised if 
  
      the subkey is not found.
  
    
  
    
  
     subkey: The name of the subkey to delete. This string is not case-sensitive.
  
     throwOnMissingSubKey: Indicates whether an exception should be raised if the specified subkey cannot 
  
      be found. If this argument is true and the specified subkey does not exist,an 
  
      exception is raised. If this argument is false and the specified subkey does 
  
      not exist,no action is taken.
  
    
  
    DeleteSubKey(self: RegistryKey,subkey: str)
  
     Deletes the specified subkey.
  
    
  
     subkey: The name of the subkey to delete. This string is not case-sensitive.
    """
    pass
   def DeleteSubKeyTree(self,subkey,throwOnMissingSubKey=None):
    """
    DeleteSubKeyTree(self: RegistryKey,subkey: str,throwOnMissingSubKey: bool)
  
     Deletes the specified subkey and any child subkeys recursively,and specifies 
  
      whether an exception is raised if the subkey is not found.
  
    
  
    
  
     subkey: The name of the subkey to delete. This string is not case-sensitive.
  
     throwOnMissingSubKey: Indicates whether an exception should be raised if the specified subkey cannot 
  
      be found. If this argument is true and the specified subkey does not exist,an 
  
      exception is raised. If this argument is false and the specified subkey does 
  
      not exist,no action is taken.
  
    
  
    DeleteSubKeyTree(self: RegistryKey,subkey: str)
  
     Deletes a subkey and any child subkeys recursively.
  
    
  
     subkey: The subkey to delete. This string is not case-sensitive.
    """
    pass
   def DeleteValue(self,name,throwOnMissingValue=None):
    """
    DeleteValue(self: RegistryKey,name: str,throwOnMissingValue: bool)
  
     Deletes the specified value from this key,and specifies whether an exception 
  
      is raised if the value is not found.
  
    
  
    
  
     name: The name of the value to delete.
  
     throwOnMissingValue: Indicates whether an exception should be raised if the specified value cannot 
  
      be found. If this argument is true and the specified value does not exist,an 
  
      exception is raised. If this argument is false and the specified value does not 
  
      exist,no action is taken.
  
    
  
    DeleteValue(self: RegistryKey,name: str)
  
     Deletes the specified value from this key.
  
    
  
     name: The name of the value to delete.
    """
    pass
   def Dispose(self):
    """
    Dispose(self: RegistryKey)
  
     Releases all resources used by the current instance of the 
  
      Microsoft.Win32.RegistryKey class.
    """
    pass
   def Flush(self):
    """
    Flush(self: RegistryKey)
  
     Writes all the attributes of the specified open registry key into the registry.
    """
    pass
   @staticmethod
   def FromHandle(handle,view=None):
    """
    FromHandle(handle: SafeRegistryHandle,view: RegistryView) -> RegistryKey
  
    
  
     Creates a registry key from a specified handle and registry view setting.
  
    
  
     handle: The handle to the registry key.
  
     view: The registry view to use.
  
     Returns: A registry key.
  
    FromHandle(handle: SafeRegistryHandle) -> RegistryKey
  
    
  
     Creates a registry key from a specified handle.
  
    
  
     handle: The handle to the registry key.
  
     Returns: A registry key.
    """
    pass
   def GetAccessControl(self,includeSections=None):
    """
    GetAccessControl(self: RegistryKey,includeSections: AccessControlSections) -> RegistrySecurity
  
    
  
     Returns the specified sections of the access control security for the current 
  
      registry key.
  
    
  
    
  
     includeSections: A bitwise combination of enumeration values that specifies the type of security 
  
      information to get.
  
    
  
     Returns: An object that describes the access control permissions on the registry key 
  
      represented by the current Microsoft.Win32.RegistryKey.
  
    
  
    GetAccessControl(self: RegistryKey) -> RegistrySecurity
  
    
  
     Returns the access control security for the current registry key.
  
     Returns: An object that describes the access control permissions on the registry key 
  
      represented by the current Microsoft.Win32.RegistryKey.
    """
    pass
   def GetSubKeyNames(self):
    """
    GetSubKeyNames(self: RegistryKey) -> Array[str]
  
    
  
     Retrieves an array of strings that contains all the subkey names.
  
     Returns: An array of strings that contains the names of the subkeys for the current key.
    """
    pass
   def GetValue(self,name,defaultValue=None,options=None):
    """
    GetValue(self: RegistryKey,name: str,defaultValue: object,options: RegistryValueOptions) -> object
  
    
  
     Retrieves the value associated with the specified name and retrieval options. 
  
      If the name is not found,returns the default value that you provide.
  
    
  
    
  
     name: The name of the value to retrieve. This string is not case-sensitive.
  
     defaultValue: The value to return if name does not exist.
  
     options: One of the enumeration values that specifies optional processing of the 
  
      retrieved value.
  
    
  
     Returns: The value associated with name,processed according to the specified options,
  
      or defaultValue if name is not found.
  
    
  
    GetValue(self: RegistryKey,name: str,defaultValue: object) -> object
  
    
  
     Retrieves the value associated with the specified name. If the name is not 
  
      found,returns the default value that you provide.
  
    
  
    
  
     name: The name of the value to retrieve. This string is not case-sensitive.
  
     defaultValue: The value to return if name does not exist.
  
     Returns: The value associated with name,with any embedded environment variables left 
  
      unexpanded,or defaultValue if name is not found.
  
    
  
    GetValue(self: RegistryKey,name: str) -> object
  
    
  
     Retrieves the value associated with the specified name. Returns null if the 
  
      name/value pair does not exist in the registry.
  
    
  
    
  
     name: The name of the value to retrieve. This string is not case-sensitive.
  
     Returns: The value associated with name,or null if name is not found.
    """
    pass
   def GetValueKind(self,name):
    """
    GetValueKind(self: RegistryKey,name: str) -> RegistryValueKind
  
    
  
     Retrieves the registry data type of the value associated with the specified 
  
      name.
  
    
  
    
  
     name: The name of the value whose registry data type is to be retrieved. This string 
  
      is not case-sensitive.
  
    
  
     Returns: The registry data type of the value associated with name.
    """
    pass
   def GetValueNames(self):
    """
    GetValueNames(self: RegistryKey) -> Array[str]
  
    
  
     Retrieves an array of strings that contains all the value names associated with 
  
      this key.
  
    
  
     Returns: An array of strings that contains the value names for the current key.
    """
    pass
   def MemberwiseClone(self,*args):
    """
    MemberwiseClone(self: MarshalByRefObject,cloneIdentity: bool) -> MarshalByRefObject
  
    
  
     Creates a shallow copy of the current System.MarshalByRefObject object.
  
    
  
     cloneIdentity: false to delete the current System.MarshalByRefObject object's identity,which 
  
      will cause the object to be assigned a new identity when it is marshaled across 
  
      a remoting boundary. A value of false is usually appropriate. true to copy the 
  
      current System.MarshalByRefObject object's identity to its clone,which will 
  
      cause remoting client calls to be routed to the remote server object.
  
    
  
     Returns: A shallow copy of the current System.MarshalByRefObject object.
  
    MemberwiseClone(self: object) -> object
  
    
  
     Creates a shallow copy of the current System.Object.
  
     Returns: A shallow copy of the current System.Object.
    """
    pass
   @staticmethod
   def OpenBaseKey(hKey,view):
    """
    OpenBaseKey(hKey: RegistryHive,view: RegistryView) -> RegistryKey
  
    
  
     Opens a new Microsoft.Win32.RegistryKey that represents the requested key on 
  
      the local machine with the specified view.
  
    
  
    
  
     hKey: The HKEY to open.
  
     view: The registry view to use.
  
     Returns: The requested registry key.
    """
    pass
   @staticmethod
   def OpenRemoteBaseKey(hKey,machineName,view=None):
    """
    OpenRemoteBaseKey(hKey: RegistryHive,machineName: str,view: RegistryView) -> RegistryKey
  
    
  
     Opens a new registry key that represents the requested key on a remote machine 
  
      with the specified view.
  
    
  
    
  
     hKey: The HKEY to open from the Microsoft.Win32.RegistryHive enumeration..
  
     machineName: The remote machine.
  
     view: The registry view to use.
  
     Returns: The requested registry key.
  
    OpenRemoteBaseKey(hKey: RegistryHive,machineName: str) -> RegistryKey
  
    
  
     Opens a new Microsoft.Win32.RegistryKey that represents the requested key on a 
  
      remote machine.
  
    
  
    
  
     hKey: The HKEY to open,from the Microsoft.Win32.RegistryHive enumeration.
  
     machineName: The remote machine.
  
     Returns: The requested registry key.
    """
    pass
   def OpenSubKey(self,name,*__args):
    """
    OpenSubKey(self: RegistryKey,name: str,permissionCheck: RegistryKeyPermissionCheck,rights: RegistryRights) -> RegistryKey
  
    
  
     Retrieves the specified subkey for read or read/write access,requesting the 
  
      specified access rights.
  
    
  
    
  
     name: The name or path of the subkey to create or open.
  
     permissionCheck: One of the enumeration values that specifies whether the key is opened for read 
  
      or read/write access.
  
    
  
     rights: A bitwise combination of enumeration values that specifies the desired security 
  
      access.
  
    
  
     Returns: The subkey requested,or null if the operation failed.
  
    OpenSubKey(self: RegistryKey,name: str) -> RegistryKey
  
    
  
     Retrieves a subkey as read-only.
  
    
  
     name: The name or path of the subkey to open as read-only.
  
     Returns: The subkey requested,or null if the operation failed.
  
    OpenSubKey(self: RegistryKey,name: str,rights: RegistryRights) -> RegistryKey
  
    OpenSubKey(self: RegistryKey,name: str,writable: bool) -> RegistryKey
  
    
  
     Retrieves a specified subkey,and specifies whether write access is to be 
  
      applied to the key.
  
    
  
    
  
     name: Name or path of the subkey to open.
  
     writable: Set to true if you need write access to the key.
  
     Returns: The subkey requested,or null if the operation failed.
  
    OpenSubKey(self: RegistryKey,name: str,permissionCheck: RegistryKeyPermissionCheck) -> RegistryKey
  
    
  
     Retrieves the specified subkey for read or read/write access.
  
    
  
     name: The name or path of the subkey to create or open.
  
     permissionCheck: One of the enumeration values that specifies whether the key is opened for read 
  
      or read/write access.
  
    
  
     Returns: The subkey requested,or null if the operation failed.
    """
    pass
   def SetAccessControl(self,registrySecurity):
    """
    SetAccessControl(self: RegistryKey,registrySecurity: RegistrySecurity)
  
     Applies Windows access control security to an existing registry key.
  
    
  
     registrySecurity: The access control security to apply to the current subkey.
    """
    pass
   def SetValue(self,name,value,valueKind=None):
    """
    SetValue(self: RegistryKey,name: str,value: object,valueKind: RegistryValueKind)
  
     Sets the value of a name/value pair in the registry key,using the specified 
  
      registry data type.
  
    
  
    
  
     name: The name of the value to be stored.
  
     value: The data to be stored.
  
     valueKind: The registry data type to use when storing the data.
  
    SetValue(self: RegistryKey,name: str,value: object)
  
     Sets the specified name/value pair.
  
    
  
     name: The name of the value to store.
  
     value: The data to be stored.
    """
    pass
   def ToString(self):
    """
    ToString(self: RegistryKey) -> str
  
    
  
     Retrieves a string representation of this key.
  
     Returns: A string representing the key. If the specified key is invalid (cannot be 
  
      found) then null is returned.
    """
    pass
   def __enter__(self,*args):
    """ __enter__(self: IDisposable) -> object """
    pass
   def __exit__(self,*args):
    """ __exit__(self: IDisposable,exc_type: object,exc_value: object,exc_back: object) """
    pass
   def __init__(self,*args):
    """ x.__init__(...) initializes x; see x.__class__.__doc__ for signaturex.__init__(...) initializes x; see x.__class__.__doc__ for signaturex.__init__(...) initializes x; see x.__class__.__doc__ for signature """
    pass
   def __str__(self,*args):
    pass
   Handle=property(lambda self: object(),lambda self,v: None,lambda self: None)
   """Gets a Microsoft.Win32.SafeHandles.SafeRegistryHandle object that represents the registry key that the current Microsoft.Win32.RegistryKey object encapsulates.
  
  
  
  Get: Handle(self: RegistryKey) -> SafeRegistryHandle
  
  
  
  """
  
   Name=property(lambda self: object(),lambda self,v: None,lambda self: None)
   """Retrieves the name of the key.
  
  
  
  Get: Name(self: RegistryKey) -> str
  
  
  
  """
  
   SubKeyCount=property(lambda self: object(),lambda self,v: None,lambda self: None)
   """Retrieves the count of subkeys of the current key.
  
  
  
  Get: SubKeyCount(self: RegistryKey) -> int
  
  
  
  """
  
   ValueCount=property(lambda self: object(),lambda self,v: None,lambda self: None)
   """Retrieves the count of values in the key.
  
  
  
  Get: ValueCount(self: RegistryKey) -> int
  
  
  
  """
  
   View=property(lambda self: object(),lambda self,v: None,lambda self: None)
   """Gets the view that was used to create the registry key.
  
  
  
  Get: View(self: RegistryKey) -> RegistryView
  
  
  
  """
  
  
  
  class RegistryKeyPermissionCheck(Enum,IComparable,IFormattable,IConvertible):
   """
   Specifies whether security checks are performed when opening registry keys and accessing their name/value pairs.
  
   
  
   enum RegistryKeyPermissionCheck,values: Default (0),ReadSubTree (1),ReadWriteSubTree (2)
   """
   def __eq__(self,*args):
    """ x.__eq__(y) <==> x==yx.__eq__(y) <==> x==yx.__eq__(y) <==> x==y """
    pass
   def __format__(self,*args):
    """ __format__(formattable: IFormattable,format: str) -> str """
    pass
   def __ge__(self,*args):
    pass
   def __gt__(self,*args):
    pass
   def __init__(self,*args):
    """ x.__init__(...) initializes x; see x.__class__.__doc__ for signaturex.__init__(...) initializes x; see x.__class__.__doc__ for signaturex.__init__(...) initializes x; see x.__class__.__doc__ for signature """
    pass
   def __le__(self,*args):
    pass
   def __lt__(self,*args):
    pass
   def __ne__(self,*args):
    pass
   def __reduce_ex__(self,*args):
    pass
   def __str__(self,*args):
    pass
   Default=None
   ReadSubTree=None
   ReadWriteSubTree=None
   value__=None
  
  
  class RegistryOptions(Enum,IComparable,IFormattable,IConvertible):
   """
   Specifies options to use when creating a registry key.
  
   
  
   enum (flags) RegistryOptions,values: None (0),Volatile (1)
   """
   def __eq__(self,*args):
    """ x.__eq__(y) <==> x==yx.__eq__(y) <==> x==yx.__eq__(y) <==> x==y """
    pass
   def __format__(self,*args):
    """ __format__(formattable: IFormattable,format: str) -> str """
    pass
   def __ge__(self,*args):
    pass
   def __gt__(self,*args):
    pass
   def __init__(self,*args):
    """ x.__init__(...) initializes x; see x.__class__.__doc__ for signaturex.__init__(...) initializes x; see x.__class__.__doc__ for signaturex.__init__(...) initializes x; see x.__class__.__doc__ for signature """
    pass
   def __le__(self,*args):
    pass
   def __lt__(self,*args):
    pass
   def __ne__(self,*args):
    pass
   def __reduce_ex__(self,*args):
    pass
   def __str__(self,*args):
    pass
   None=None
   value__=None
   Volatile=None
  
  
  class RegistryValueKind(Enum,IComparable,IFormattable,IConvertible):
   """
   Specifies the data types to use when storing values in the registry,or identifies the data type of a value in the registry.
  
   
  
   enum RegistryValueKind,values: Binary (3),DWord (4),ExpandString (2),MultiString (7),None (-1),QWord (11),String (1),Unknown (0)
   """
   def __eq__(self,*args):
    """ x.__eq__(y) <==> x==yx.__eq__(y) <==> x==yx.__eq__(y) <==> x==y """
    pass
   def __format__(self,*args):
    """ __format__(formattable: IFormattable,format: str) -> str """
    pass
   def __ge__(self,*args):
    pass
   def __gt__(self,*args):
    pass
   def __init__(self,*args):
    """ x.__init__(...) initializes x; see x.__class__.__doc__ for signaturex.__init__(...) initializes x; see x.__class__.__doc__ for signaturex.__init__(...) initializes x; see x.__class__.__doc__ for signature """
    pass
   def __le__(self,*args):
    pass
   def __lt__(self,*args):
    pass
   def __ne__(self,*args):
    pass
   def __reduce_ex__(self,*args):
    pass
   def __str__(self,*args):
    pass
   Binary=None
   DWord=None
   ExpandString=None
   MultiString=None
   None=None
   QWord=None
   String=None
   Unknown=None
   value__=None
  
  
  class RegistryValueOptions(Enum,IComparable,IFormattable,IConvertible):
   """
   Specifies optional behavior when retrieving name/value pairs from a registry key.
  
   
  
   enum (flags) RegistryValueOptions,values: DoNotExpandEnvironmentNames (1),None (0)
   """
   def __eq__(self,*args):
    """ x.__eq__(y) <==> x==yx.__eq__(y) <==> x==yx.__eq__(y) <==> x==y """
    pass
   def __format__(self,*args):
    """ __format__(formattable: IFormattable,format: str) -> str """
    pass
   def __ge__(self,*args):
    pass
   def __gt__(self,*args):
    pass
   def __init__(self,*args):
    """ x.__init__(...) initializes x; see x.__class__.__doc__ for signaturex.__init__(...) initializes x; see x.__class__.__doc__ for signaturex.__init__(...) initializes x; see x.__class__.__doc__ for signature """
    pass
   def __le__(self,*args):
    pass
   def __lt__(self,*args):
    pass
   def __ne__(self,*args):
    pass
   def __reduce_ex__(self,*args):
    pass
   def __str__(self,*args):
    pass
   DoNotExpandEnvironmentNames=None
   None=None
   value__=None
  
  
  class RegistryView(Enum,IComparable,IFormattable,IConvertible):
   """
   Specifies which registry view to target on a 64-bit operating system.
  
   
  
   enum RegistryView,values: Default (0),Registry32 (512),Registry64 (256)
   """
   def __eq__(self,*args):
    """ x.__eq__(y) <==> x==yx.__eq__(y) <==> x==yx.__eq__(y) <==> x==y """
    pass
   def __format__(self,*args):
    """ __format__(formattable: IFormattable,format: str) -> str """
    pass
   def __ge__(self,*args):
    pass
   def __gt__(self,*args):
    pass
   def __init__(self,*args):
    """ x.__init__(...) initializes x; see x.__class__.__doc__ for signaturex.__init__(...) initializes x; see x.__class__.__doc__ for signaturex.__init__(...) initializes x; see x.__class__.__doc__ for signature """
    pass
   def __le__(self,*args):
    pass
   def __lt__(self,*args):
    pass
   def __ne__(self,*args):
    pass
   def __reduce_ex__(self,*args):
    pass
   def __str__(self,*args):
    pass
   Default=None
   Registry32=None
   Registry64=None
   value__=None
  
  
  class SaveFileDialog(FileDialog):
   """
   Represents a common dialog that allows the user to specify a filename to save a file as. Microsoft.Win32.SaveFileDialog cannot be used by an application that is executing under partial trust.
  
   
  
   SaveFileDialog()
   """
   def OpenFile(self):
    """
    OpenFile(self: SaveFileDialog) -> Stream
  
    
  
     Creates a read-write file stream for the filename selected by the user using 
  
      Microsoft.Win32.SaveFileDialog.
  
    
  
     Returns: A new System.IO.Stream that contains the selected file.
    """
    pass
   def Reset(self):
    """
    Reset(self: SaveFileDialog)
  
     Resets all Microsoft.Win32.SaveFileDialog properties to their default values.
    """
    pass
   CreatePrompt=property(lambda self: object(),lambda self,v: None,lambda self: None)
   """Gets or sets a value indicating whether Microsoft.Win32.SaveFileDialog prompts the user for permission to create a file if the user specifies a file that does not exist.
  
  
  
  Get: CreatePrompt(self: SaveFileDialog) -> bool
  
  
  
  Set: CreatePrompt(self: SaveFileDialog)=value
  
  """
  
   Options=property(lambda self: object(),lambda self,v: None,lambda self: None)
   """Gets the Win32 common file dialog flags that are used by file dialogs for initialization.
  
  
  
  """
  
   OverwritePrompt=property(lambda self: object(),lambda self,v: None,lambda self: None)
   """Gets or sets a value indicating whether Microsoft.Win32.SaveFileDialog displays a warning if the user specifies the name of a file that already exists.
  
  
  
  Get: OverwritePrompt(self: SaveFileDialog) -> bool
  
  
  
  Set: OverwritePrompt(self: SaveFileDialog)=value
  
  """
  
  
  
  class SessionEndedEventArgs(EventArgs):
   """
   Provides data for the Microsoft.Win32.SystemEvents.SessionEnded event.
  
   
  
   SessionEndedEventArgs(reason: SessionEndReasons)
   """
   @staticmethod
   def __new__(self,reason):
    """ __new__(cls: type,reason: SessionEndReasons) """
    pass
   Reason=property(lambda self: object(),lambda self,v: None,lambda self: None)
   """Gets an identifier that indicates how the session ended.
  
  
  
  Get: Reason(self: SessionEndedEventArgs) -> SessionEndReasons
  
  
  
  """
  
  
  
  class SessionEndedEventHandler(MulticastDelegate,ICloneable,ISerializable):
   """
   Represents the method that will handle the Microsoft.Win32.SystemEvents.SessionEnded event.
  
   
  
   SessionEndedEventHandler(object: object,method: IntPtr)
   """
   def BeginInvoke(self,sender,e,callback,object):
    """ BeginInvoke(self: SessionEndedEventHandler,sender: object,e: SessionEndedEventArgs,callback: AsyncCallback,object: object) -> IAsyncResult """
    pass
   def CombineImpl(self,*args):
    """
    CombineImpl(self: MulticastDelegate,follow: Delegate) -> Delegate
  
    
  
     Combines this System.Delegate with the specified System.Delegate to form a new 
  
      delegate.
  
    
  
    
  
     follow: The delegate to combine with this delegate.
  
     Returns: A delegate that is the new root of the System.MulticastDelegate invocation list.
    """
    pass
   def DynamicInvokeImpl(self,*args):
    """
    DynamicInvokeImpl(self: Delegate,args: Array[object]) -> object
  
    
  
     Dynamically invokes (late-bound) the method represented by the current delegate.
  
    
  
     args: An array of objects that are the arguments to pass to the method represented by 
  
      the current delegate.-or- null,if the method represented by the current 
  
      delegate does not require arguments.
  
    
  
     Returns: The object returned by the method represented by the delegate.
    """
    pass
   def EndInvoke(self,result):
    """ EndInvoke(self: SessionEndedEventHandler,result: IAsyncResult) """
    pass
   def GetMethodImpl(self,*args):
    """
    GetMethodImpl(self: MulticastDelegate) -> MethodInfo
  
    
  
     Returns a static method represented by the current System.MulticastDelegate.
  
     Returns: A static method represented by the current System.MulticastDelegate.
    """
    pass
   def Invoke(self,sender,e):
    """ Invoke(self: SessionEndedEventHandler,sender: object,e: SessionEndedEventArgs) """
    pass
   def RemoveImpl(self,*args):
    """
    RemoveImpl(self: MulticastDelegate,value: Delegate) -> Delegate
  
    
  
     Removes an element from the invocation list of this System.MulticastDelegate 
  
      that is equal to the specified delegate.
  
    
  
    
  
     value: The delegate to search for in the invocation list.
  
     Returns: If value is found in the invocation list for this instance,then a new 
  
      System.Delegate without value in its invocation list; otherwise,this instance 
  
      with its original invocation list.
    """
    pass
   def __init__(self,*args):
    """ x.__init__(...) initializes x; see x.__class__.__doc__ for signaturex.__init__(...) initializes x; see x.__class__.__doc__ for signaturex.__init__(...) initializes x; see x.__class__.__doc__ for signature """
    pass
   @staticmethod
   def __new__(self,object,method):
    """ __new__(cls: type,object: object,method: IntPtr) """
    pass
   def __reduce_ex__(self,*args):
    pass
  
  class SessionEndingEventArgs(EventArgs):
   """
   Provides data for the Microsoft.Win32.SystemEvents.SessionEnding event.
  
   
  
   SessionEndingEventArgs(reason: SessionEndReasons)
   """
   @staticmethod
   def __new__(self,reason):
    """ __new__(cls: type,reason: SessionEndReasons) """
    pass
   Cancel=property(lambda self: object(),lambda self,v: None,lambda self: None)
   """Gets or sets a value indicating whether to cancel the user request to end the session.
  
  
  
  Get: Cancel(self: SessionEndingEventArgs) -> bool
  
  
  
  Set: Cancel(self: SessionEndingEventArgs)=value
  
  """
  
   Reason=property(lambda self: object(),lambda self,v: None,lambda self: None)
   """Gets the reason the session is ending.
  
  
  
  Get: Reason(self: SessionEndingEventArgs) -> SessionEndReasons
  
  
  
  """
  
  
  
  class SessionEndingEventHandler(MulticastDelegate,ICloneable,ISerializable):
   """
   Represents the method that will handle the Microsoft.Win32.SystemEvents.SessionEnding event from the operating system.
  
   
  
   SessionEndingEventHandler(object: object,method: IntPtr)
   """
   def BeginInvoke(self,sender,e,callback,object):
    """ BeginInvoke(self: SessionEndingEventHandler,sender: object,e: SessionEndingEventArgs,callback: AsyncCallback,object: object) -> IAsyncResult """
    pass
   def CombineImpl(self,*args):
    """
    CombineImpl(self: MulticastDelegate,follow: Delegate) -> Delegate
  
    
  
     Combines this System.Delegate with the specified System.Delegate to form a new 
  
      delegate.
  
    
  
    
  
     follow: The delegate to combine with this delegate.
  
     Returns: A delegate that is the new root of the System.MulticastDelegate invocation list.
    """
    pass
   def DynamicInvokeImpl(self,*args):
    """
    DynamicInvokeImpl(self: Delegate,args: Array[object]) -> object
  
    
  
     Dynamically invokes (late-bound) the method represented by the current delegate.
  
    
  
     args: An array of objects that are the arguments to pass to the method represented by 
  
      the current delegate.-or- null,if the method represented by the current 
  
      delegate does not require arguments.
  
    
  
     Returns: The object returned by the method represented by the delegate.
    """
    pass
   def EndInvoke(self,result):
    """ EndInvoke(self: SessionEndingEventHandler,result: IAsyncResult) """
    pass
   def GetMethodImpl(self,*args):
    """
    GetMethodImpl(self: MulticastDelegate) -> MethodInfo
  
    
  
     Returns a static method represented by the current System.MulticastDelegate.
  
     Returns: A static method represented by the current System.MulticastDelegate.
    """
    pass
   def Invoke(self,sender,e):
    """ Invoke(self: SessionEndingEventHandler,sender: object,e: SessionEndingEventArgs) """
    pass
   def RemoveImpl(self,*args):
    """
    RemoveImpl(self: MulticastDelegate,value: Delegate) -> Delegate
  
    
  
     Removes an element from the invocation list of this System.MulticastDelegate 
  
      that is equal to the specified delegate.
  
    
  
    
  
     value: The delegate to search for in the invocation list.
  
     Returns: If value is found in the invocation list for this instance,then a new 
  
      System.Delegate without value in its invocation list; otherwise,this instance 
  
      with its original invocation list.
    """
    pass
   def __init__(self,*args):
    """ x.__init__(...) initializes x; see x.__class__.__doc__ for signaturex.__init__(...) initializes x; see x.__class__.__doc__ for signaturex.__init__(...) initializes x; see x.__class__.__doc__ for signature """
    pass
   @staticmethod
   def __new__(self,object,method):
    """ __new__(cls: type,object: object,method: IntPtr) """
    pass
   def __reduce_ex__(self,*args):
    pass
  
  class SessionEndReasons(Enum,IComparable,IFormattable,IConvertible):
   """
   Defines identifiers that represent how the current logon session is ending.
  
   
  
   enum SessionEndReasons,values: Logoff (1),SystemShutdown (2)
   """
   def __eq__(self,*args):
    """ x.__eq__(y) <==> x==yx.__eq__(y) <==> x==yx.__eq__(y) <==> x==y """
    pass
   def __format__(self,*args):
    """ __format__(formattable: IFormattable,format: str) -> str """
    pass
   def __ge__(self,*args):
    pass
   def __gt__(self,*args):
    pass
   def __init__(self,*args):
    """ x.__init__(...) initializes x; see x.__class__.__doc__ for signaturex.__init__(...) initializes x; see x.__class__.__doc__ for signaturex.__init__(...) initializes x; see x.__class__.__doc__ for signature """
    pass
   def __le__(self,*args):
    pass
   def __lt__(self,*args):
    pass
   def __ne__(self,*args):
    pass
   def __reduce_ex__(self,*args):
    pass
   def __str__(self,*args):
    pass
   Logoff=None
   SystemShutdown=None
   value__=None
  
  
  class SessionSwitchEventArgs(EventArgs):
   """
   Provides data for the Microsoft.Win32.SystemEvents.SessionSwitch event.
  
   
  
   SessionSwitchEventArgs(reason: SessionSwitchReason)
   """
   @staticmethod
   def __new__(self,reason):
    """ __new__(cls: type,reason: SessionSwitchReason) """
    pass
   Reason=property(lambda self: object(),lambda self,v: None,lambda self: None)
   """Gets an identifier that indicates the type of session change event.
  
  
  
  Get: Reason(self: SessionSwitchEventArgs) -> SessionSwitchReason
  
  
  
  """
  
  
  
  class SessionSwitchEventHandler(MulticastDelegate,ICloneable,ISerializable):
   """
   Represents the method that will handle the Microsoft.Win32.SystemEvents.SessionSwitch event.
  
   
  
   SessionSwitchEventHandler(object: object,method: IntPtr)
   """
   def BeginInvoke(self,sender,e,callback,object):
    """ BeginInvoke(self: SessionSwitchEventHandler,sender: object,e: SessionSwitchEventArgs,callback: AsyncCallback,object: object) -> IAsyncResult """
    pass
   def CombineImpl(self,*args):
    """
    CombineImpl(self: MulticastDelegate,follow: Delegate) -> Delegate
  
    
  
     Combines this System.Delegate with the specified System.Delegate to form a new 
  
      delegate.
  
    
  
    
  
     follow: The delegate to combine with this delegate.
  
     Returns: A delegate that is the new root of the System.MulticastDelegate invocation list.
    """
    pass
   def DynamicInvokeImpl(self,*args):
    """
    DynamicInvokeImpl(self: Delegate,args: Array[object]) -> object
  
    
  
     Dynamically invokes (late-bound) the method represented by the current delegate.
  
    
  
     args: An array of objects that are the arguments to pass to the method represented by 
  
      the current delegate.-or- null,if the method represented by the current 
  
      delegate does not require arguments.
  
    
  
     Returns: The object returned by the method represented by the delegate.
    """
    pass
   def EndInvoke(self,result):
    """ EndInvoke(self: SessionSwitchEventHandler,result: IAsyncResult) """
    pass
   def GetMethodImpl(self,*args):
    """
    GetMethodImpl(self: MulticastDelegate) -> MethodInfo
  
    
  
     Returns a static method represented by the current System.MulticastDelegate.
  
     Returns: A static method represented by the current System.MulticastDelegate.
    """
    pass
   def Invoke(self,sender,e):
    """ Invoke(self: SessionSwitchEventHandler,sender: object,e: SessionSwitchEventArgs) """
    pass
   def RemoveImpl(self,*args):
    """
    RemoveImpl(self: MulticastDelegate,value: Delegate) -> Delegate
  
    
  
     Removes an element from the invocation list of this System.MulticastDelegate 
  
      that is equal to the specified delegate.
  
    
  
    
  
     value: The delegate to search for in the invocation list.
  
     Returns: If value is found in the invocation list for this instance,then a new 
  
      System.Delegate without value in its invocation list; otherwise,this instance 
  
      with its original invocation list.
    """
    pass
   def __init__(self,*args):
    """ x.__init__(...) initializes x; see x.__class__.__doc__ for signaturex.__init__(...) initializes x; see x.__class__.__doc__ for signaturex.__init__(...) initializes x; see x.__class__.__doc__ for signature """
    pass
   @staticmethod
   def __new__(self,object,method):
    """ __new__(cls: type,object: object,method: IntPtr) """
    pass
   def __reduce_ex__(self,*args):
    pass
  
  class SessionSwitchReason(Enum,IComparable,IFormattable,IConvertible):
   """
   Defines identifiers used to represent the type of a session switch event.
  
   
  
   enum SessionSwitchReason,values: ConsoleConnect (1),ConsoleDisconnect (2),RemoteConnect (3),RemoteDisconnect (4),SessionLock (7),SessionLogoff (6),SessionLogon (5),SessionRemoteControl (9),SessionUnlock (8)
   """
   def __eq__(self,*args):
    """ x.__eq__(y) <==> x==yx.__eq__(y) <==> x==yx.__eq__(y) <==> x==y """
    pass
   def __format__(self,*args):
    """ __format__(formattable: IFormattable,format: str) -> str """
    pass
   def __ge__(self,*args):
    pass
   def __gt__(self,*args):
    pass
   def __init__(self,*args):
    """ x.__init__(...) initializes x; see x.__class__.__doc__ for signaturex.__init__(...) initializes x; see x.__class__.__doc__ for signaturex.__init__(...) initializes x; see x.__class__.__doc__ for signature """
    pass
   def __le__(self,*args):
    pass
   def __lt__(self,*args):
    pass
   def __ne__(self,*args):
    pass
   def __reduce_ex__(self,*args):
    pass
   def __str__(self,*args):
    pass
   ConsoleConnect=None
   ConsoleDisconnect=None
   RemoteConnect=None
   RemoteDisconnect=None
   SessionLock=None
   SessionLogoff=None
   SessionLogon=None
   SessionRemoteControl=None
   SessionUnlock=None
   value__=None
  
  
  class SystemEvents(object):
   """ Provides access to system event notifications. This class cannot be inherited. """
   @staticmethod
   def CreateTimer(interval):
    """
    CreateTimer(interval: int) -> IntPtr
  
    
  
     Creates a new window timer associated with the system events window.
  
    
  
     interval: Specifies the interval between timer notifications,in milliseconds.
  
     Returns: The ID of the new timer.
    """
    pass
   @staticmethod
   def InvokeOnEventsThread(method):
    """
    InvokeOnEventsThread(method: Delegate)
  
     Invokes the specified delegate using the thread that listens for system events.
  
    
  
     method: A delegate to invoke using the thread that listens for system events.
    """
    pass
   @staticmethod
   def KillTimer(timerId):
    """
    KillTimer(timerId: IntPtr)
  
     Terminates the timer specified by the given id.
  
    
  
     timerId: The ID of the timer to terminate.
    """
    pass
   DisplaySettingsChanged=None
   DisplaySettingsChanging=None
   EventsThreadShutdown=None
   InstalledFontsChanged=None
   LowMemory=None
   PaletteChanged=None
   PowerModeChanged=None
   SessionEnded=None
   SessionEnding=None
   SessionSwitch=None
   TimeChanged=None
   TimerElapsed=None
   UserPreferenceChanged=None
   UserPreferenceChanging=None
  
  
  class TimerElapsedEventArgs(EventArgs):
   """
   Provides data for the Microsoft.Win32.SystemEvents.TimerElapsed event.
  
   
  
   TimerElapsedEventArgs(timerId: IntPtr)
   """
   @staticmethod
   def __new__(self,timerId):
    """ __new__(cls: type,timerId: IntPtr) """
    pass
   TimerId=property(lambda self: object(),lambda self,v: None,lambda self: None)
   """Gets the ID number for the timer.
  
  
  
  Get: TimerId(self: TimerElapsedEventArgs) -> IntPtr
  
  
  
  """
  
  
  
  class TimerElapsedEventHandler(MulticastDelegate,ICloneable,ISerializable):
   """
   Represents the method that will handle the Microsoft.Win32.SystemEvents.TimerElapsed event.
  
   
  
   TimerElapsedEventHandler(object: object,method: IntPtr)
   """
   def BeginInvoke(self,sender,e,callback,object):
    """ BeginInvoke(self: TimerElapsedEventHandler,sender: object,e: TimerElapsedEventArgs,callback: AsyncCallback,object: object) -> IAsyncResult """
    pass
   def CombineImpl(self,*args):
    """
    CombineImpl(self: MulticastDelegate,follow: Delegate) -> Delegate
  
    
  
     Combines this System.Delegate with the specified System.Delegate to form a new 
  
      delegate.
  
    
  
    
  
     follow: The delegate to combine with this delegate.
  
     Returns: A delegate that is the new root of the System.MulticastDelegate invocation list.
    """
    pass
   def DynamicInvokeImpl(self,*args):
    """
    DynamicInvokeImpl(self: Delegate,args: Array[object]) -> object
  
    
  
     Dynamically invokes (late-bound) the method represented by the current delegate.
  
    
  
     args: An array of objects that are the arguments to pass to the method represented by 
  
      the current delegate.-or- null,if the method represented by the current 
  
      delegate does not require arguments.
  
    
  
     Returns: The object returned by the method represented by the delegate.
    """
    pass
   def EndInvoke(self,result):
    """ EndInvoke(self: TimerElapsedEventHandler,result: IAsyncResult) """
    pass
   def GetMethodImpl(self,*args):
    """
    GetMethodImpl(self: MulticastDelegate) -> MethodInfo
  
    
  
     Returns a static method represented by the current System.MulticastDelegate.
  
     Returns: A static method represented by the current System.MulticastDelegate.
    """
    pass
   def Invoke(self,sender,e):
    """ Invoke(self: TimerElapsedEventHandler,sender: object,e: TimerElapsedEventArgs) """
    pass
   def RemoveImpl(self,*args):
    """
    RemoveImpl(self: MulticastDelegate,value: Delegate) -> Delegate
  
    
  
     Removes an element from the invocation list of this System.MulticastDelegate 
  
      that is equal to the specified delegate.
  
    
  
    
  
     value: The delegate to search for in the invocation list.
  
     Returns: If value is found in the invocation list for this instance,then a new 
  
      System.Delegate without value in its invocation list; otherwise,this instance 
  
      with its original invocation list.
    """
    pass
   def __init__(self,*args):
    """ x.__init__(...) initializes x; see x.__class__.__doc__ for signaturex.__init__(...) initializes x; see x.__class__.__doc__ for signaturex.__init__(...) initializes x; see x.__class__.__doc__ for signature """
    pass
   @staticmethod
   def __new__(self,object,method):
    """ __new__(cls: type,object: object,method: IntPtr) """
    pass
   def __reduce_ex__(self,*args):
    pass
  
  class UserPreferenceCategory(Enum,IComparable,IFormattable,IConvertible):
   """
   Defines identifiers that represent categories of user preferences.
  
   
  
   enum UserPreferenceCategory,values: Accessibility (1),Color (2),Desktop (3),General (4),Icon (5),Keyboard (6),Locale (13),Menu (7),Mouse (8),Policy (9),Power (10),Screensaver (11),VisualStyle (14),Window (12)
   """
   def __eq__(self,*args):
    """ x.__eq__(y) <==> x==yx.__eq__(y) <==> x==yx.__eq__(y) <==> x==y """
    pass
   def __format__(self,*args):
    """ __format__(formattable: IFormattable,format: str) -> str """
    pass
   def __ge__(self,*args):
    pass
   def __gt__(self,*args):
    pass
   def __init__(self,*args):
    """ x.__init__(...) initializes x; see x.__class__.__doc__ for signaturex.__init__(...) initializes x; see x.__class__.__doc__ for signaturex.__init__(...) initializes x; see x.__class__.__doc__ for signature """
    pass
   def __le__(self,*args):
    pass
   def __lt__(self,*args):
    pass
   def __ne__(self,*args):
    pass
   def __reduce_ex__(self,*args):
    pass
   def __str__(self,*args):
    pass
   Accessibility=None
   Color=None
   Desktop=None
   General=None
   Icon=None
   Keyboard=None
   Locale=None
   Menu=None
   Mouse=None
   Policy=None
   Power=None
   Screensaver=None
   value__=None
   VisualStyle=None
   Window=None
  
  
  class UserPreferenceChangedEventArgs(EventArgs):
   """
   Provides data for the Microsoft.Win32.SystemEvents.UserPreferenceChanged event.
  
   
  
   UserPreferenceChangedEventArgs(category: UserPreferenceCategory)
   """
   @staticmethod
   def __new__(self,category):
    """ __new__(cls: type,category: UserPreferenceCategory) """
    pass
   Category=property(lambda self: object(),lambda self,v: None,lambda self: None)
   """Gets the category of user preferences that has changed.
  
  
  
  Get: Category(self: UserPreferenceChangedEventArgs) -> UserPreferenceCategory
  
  
  
  """
  
  
  
  class UserPreferenceChangedEventHandler(MulticastDelegate,ICloneable,ISerializable):
   """
   Represents the method that will handle the Microsoft.Win32.SystemEvents.UserPreferenceChanged event.
  
   
  
   UserPreferenceChangedEventHandler(object: object,method: IntPtr)
   """
   def BeginInvoke(self,sender,e,callback,object):
    """ BeginInvoke(self: UserPreferenceChangedEventHandler,sender: object,e: UserPreferenceChangedEventArgs,callback: AsyncCallback,object: object) -> IAsyncResult """
    pass
   def CombineImpl(self,*args):
    """
    CombineImpl(self: MulticastDelegate,follow: Delegate) -> Delegate
  
    
  
     Combines this System.Delegate with the specified System.Delegate to form a new 
  
      delegate.
  
    
  
    
  
     follow: The delegate to combine with this delegate.
  
     Returns: A delegate that is the new root of the System.MulticastDelegate invocation list.
    """
    pass
   def DynamicInvokeImpl(self,*args):
    """
    DynamicInvokeImpl(self: Delegate,args: Array[object]) -> object
  
    
  
     Dynamically invokes (late-bound) the method represented by the current delegate.
  
    
  
     args: An array of objects that are the arguments to pass to the method represented by 
  
      the current delegate.-or- null,if the method represented by the current 
  
      delegate does not require arguments.
  
    
  
     Returns: The object returned by the method represented by the delegate.
    """
    pass
   def EndInvoke(self,result):
    """ EndInvoke(self: UserPreferenceChangedEventHandler,result: IAsyncResult) """
    pass
   def GetMethodImpl(self,*args):
    """
    GetMethodImpl(self: MulticastDelegate) -> MethodInfo
  
    
  
     Returns a static method represented by the current System.MulticastDelegate.
  
     Returns: A static method represented by the current System.MulticastDelegate.
    """
    pass
   def Invoke(self,sender,e):
    """ Invoke(self: UserPreferenceChangedEventHandler,sender: object,e: UserPreferenceChangedEventArgs) """
    pass
   def RemoveImpl(self,*args):
    """
    RemoveImpl(self: MulticastDelegate,value: Delegate) -> Delegate
  
    
  
     Removes an element from the invocation list of this System.MulticastDelegate 
  
      that is equal to the specified delegate.
  
    
  
    
  
     value: The delegate to search for in the invocation list.
  
     Returns: If value is found in the invocation list for this instance,then a new 
  
      System.Delegate without value in its invocation list; otherwise,this instance 
  
      with its original invocation list.
    """
    pass
   def __init__(self,*args):
    """ x.__init__(...) initializes x; see x.__class__.__doc__ for signaturex.__init__(...) initializes x; see x.__class__.__doc__ for signaturex.__init__(...) initializes x; see x.__class__.__doc__ for signature """
    pass
   @staticmethod
   def __new__(self,object,method):
    """ __new__(cls: type,object: object,method: IntPtr) """
    pass
   def __reduce_ex__(self,*args):
    pass
  
  class UserPreferenceChangingEventArgs(EventArgs):
   """
   Provides data for the Microsoft.Win32.SystemEvents.UserPreferenceChanging event.
  
   
  
   UserPreferenceChangingEventArgs(category: UserPreferenceCategory)
   """
   @staticmethod
   def __new__(self,category):
    """ __new__(cls: type,category: UserPreferenceCategory) """
    pass
   Category=property(lambda self: object(),lambda self,v: None,lambda self: None)
   """Gets the category of user preferences that is changing.
  
  
  
  Get: Category(self: UserPreferenceChangingEventArgs) -> UserPreferenceCategory
  
  
  
  """
  
  
  
  class UserPreferenceChangingEventHandler(MulticastDelegate,ICloneable,ISerializable):
   """
   Represents the method that will handle the Microsoft.Win32.SystemEvents.UserPreferenceChanging event.
  
   
  
   UserPreferenceChangingEventHandler(object: object,method: IntPtr)
   """
   def BeginInvoke(self,sender,e,callback,object):
    """ BeginInvoke(self: UserPreferenceChangingEventHandler,sender: object,e: UserPreferenceChangingEventArgs,callback: AsyncCallback,object: object) -> IAsyncResult """
    pass
   def CombineImpl(self,*args):
    """
    CombineImpl(self: MulticastDelegate,follow: Delegate) -> Delegate
  
    
  
     Combines this System.Delegate with the specified System.Delegate to form a new 
  
      delegate.
  
    
  
    
  
     follow: The delegate to combine with this delegate.
  
     Returns: A delegate that is the new root of the System.MulticastDelegate invocation list.
    """
    pass
   def DynamicInvokeImpl(self,*args):
    """
    DynamicInvokeImpl(self: Delegate,args: Array[object]) -> object
  
    
  
     Dynamically invokes (late-bound) the method represented by the current delegate.
  
    
  
     args: An array of objects that are the arguments to pass to the method represented by 
  
      the current delegate.-or- null,if the method represented by the current 
  
      delegate does not require arguments.
  
    
  
     Returns: The object returned by the method represented by the delegate.
    """
    pass
   def EndInvoke(self,result):
    """ EndInvoke(self: UserPreferenceChangingEventHandler,result: IAsyncResult) """
    pass
   def GetMethodImpl(self,*args):
    """
    GetMethodImpl(self: MulticastDelegate) -> MethodInfo
  
    
  
     Returns a static method represented by the current System.MulticastDelegate.
  
     Returns: A static method represented by the current System.MulticastDelegate.
    """
    pass
   def Invoke(self,sender,e):
    """ Invoke(self: UserPreferenceChangingEventHandler,sender: object,e: UserPreferenceChangingEventArgs) """
    pass
   def RemoveImpl(self,*args):
    """
    RemoveImpl(self: MulticastDelegate,value: Delegate) -> Delegate
  
    
  
     Removes an element from the invocation list of this System.MulticastDelegate 
  
      that is equal to the specified delegate.
  
    
  
    
  
     value: The delegate to search for in the invocation list.
  
     Returns: If value is found in the invocation list for this instance,then a new 
  
      System.Delegate without value in its invocation list; otherwise,this instance 
  
      with its original invocation list.
    """
    pass
   def __init__(self,*args):
    """ x.__init__(...) initializes x; see x.__class__.__doc__ for signaturex.__init__(...) initializes x; see x.__class__.__doc__ for signaturex.__init__(...) initializes x; see x.__class__.__doc__ for signature """
    pass
   @staticmethod
   def __new__(self,object,method):
    """ __new__(cls: type,object: object,method: IntPtr) """
    pass
   def __reduce_ex__(self,*args):
    pass
  
  # variables with complex values
  
  