<?xml version="1.0"?>
<doc>
    <assembly>
        <name>CoC Bot.Core</name>
    </assembly>
    <members>
        <member name="M:BS2Container.Bluestacks.RunAdbCommand(System.String)">
            <summary>
            Runs a give command against the bluestacks adb.  If you need to run a shell command, be sure to include shell in the command.
            </summary>
            <param name="command">adb command to run</param>
            <returns>console output and the adb command</returns>
        </member>
        <member name="M:BS2Container.Bluestacks.SetRegistryOptions(System.Boolean)">
            <summary>
            Sets the registry options for the view size
            </summary>
            <param name="bot">true if running bot, false to set to default</param>
            <returns>true if registry values were modified, false on error or if values were okay</returns>
        </member>
        <member name="M:BS2Container.Bluestacks.StartCoCWhenReady">
            <summary>
            Waits for zygote to run, waits a few seconds, then starts Clash of Clans
            </summary>
        </member>
        <member name="M:BS2Container.Bluestacks.IsFrontEndReady">
            <summary>
            Checks to see if com.bluestacks.home is running
            </summary>
            <returns>is it running</returns>
        </member>
        <member name="M:BS2Container.Bluestacks.IsCoCRunning">
            <summary>
            Checks to see if Clash of Clans is running. NOTE: this will not tell you if it's in the foreground!
            </summary>
            <returns>Is CoC running</returns>
        </member>
        <member name="F:BS2Container.AdbCommand.KillServer">
            <summary>
            Kills the ADB server.  This is sometimes needed, especially after bluestacks has been closed
            </summary>
        </member>
        <member name="F:BS2Container.AdbCommand.StopUIService">
            <summary>
            Stops the UI Service, which will hide the nav bar
            </summary>
        </member>
        <member name="F:BS2Container.AdbCommand.StartUIService">
            <summary>
            Restarts the UI Service, which will bring the nav bar back
            </summary>
        </member>
        <member name="F:BS2Container.AdbCommand.CloseCoC">
            <summary>
            Stop clash of clans process
            </summary>
        </member>
        <member name="F:BS2Container.AdbCommand.OpenCoC">
            <summary>
            Starts the clash of clans app
            </summary>
        </member>
        <member name="F:BS2Container.AdbCommand.DumpProcesses">
            <summary>
            Dumps the process list
            </summary>
        </member>
        <member name="T:BS2Container.LP_Pinner">
            <summary>
            An LP_Pinner object pins an object for as long as the LP_Pinner object is alive.
            </summary>
            <remarks>
            This is the preferred use when the pointer value is not needed:
            	using (new LP_Pinner(objectThatNeedsPinning)) {
            		.. use the object here, it is pinned now ...
            	}
            This is the preferred use when the pointer value is needed:
            	using (LP_Pinner pinning=new LP_Pinner(objectThatNeedsPinning)) {
            	    IntPtr ptr=pinning.Ptr;
            		.. use the object here, it is pinned now ...
            	}
            </remarks>
        </member>
        <member name="M:BS2Container.LP_Pinner.#ctor(System.Object)">
            <summary>
            Creates an instance op LP_Pinner, and pins the argument.
            </summary>
            <param name="obj"></param>
        </member>
        <member name="M:BS2Container.LP_Pinner.Finalize">
            <summary>
            Undoes the pinning.
            </summary>
        </member>
        <member name="M:BS2Container.LP_Pinner.Dispose">
            <summary>
            Disposes of the object's internal resources.
            </summary>
        </member>
        <member name="P:BS2Container.LP_Pinner.Ptr">
            <summary>
            Returns the pointer to the pinned object.
            </summary>
        </member>
        <member name="T:BS2Container.LP_Process">
            <summary>
            LP_Process allows to send Windows messages and exchange data with
            windows in another process; this may require pointers that are valid
            in the other process.
            </summary>
        </member>
        <member name="F:BS2Container.LP_Process.hProcess">
            <summary>process handle</summary>
        </member>
        <member name="F:BS2Container.LP_Process.ownerProcessID">
            <summary>process ID</summary>
        </member>
        <member name="F:BS2Container.LP_Process.allocations">
            <summary>list of allocations in this process</summary>
        </member>
        <member name="M:BS2Container.LP_Process.#ctor(System.IntPtr)">
            <summary>
            Creates an instance of LP_Process, owner of the window.
            </summary>
            <param name="hWnd"></param>
        </member>
        <member name="M:BS2Container.LP_Process.Dispose">
            <summary>
            Disposes of an LP_Process (closing all open handles).
            </summary>
        </member>
        <member name="M:BS2Container.LP_Process.GetImageFileName">
            <summary>
            Gets the file name of the process image.
            </summary>
            <returns></returns>
        </member>
        <member name="M:BS2Container.LP_Process.Allocate(System.Object)">
            <summary>
            Allocates a chunck of memory in the process.
            The memory gets freed when the LP_Process object is disposed.
            </summary>
            <param name="managedObject"></param>
            <returns></returns>
        </member>
        <member name="M:BS2Container.LP_Process.Read(System.Object,System.IntPtr)">
            <summary>
            Reads an object's data from the process memory at ptr.
            </summary>
            <param name="obj">Must be a reference type (no struct!)</param>
            <param name="ptr"></param>
        </member>
        <member name="M:BS2Container.LP_Process.ReadString(System.Int32,System.IntPtr)">
            <summary>
            Reads a string from the process memory at ptr.
            </summary>
            <param name="size"></param>
            <param name="ptr"></param>
        </member>
        <member name="M:BS2Container.LP_Process.Write(System.Object,System.Int32,System.IntPtr)">
            <summary>
            Write an object's data to the process memory at ptr.
            </summary>
            <param name="obj"></param>
            <param name="ptr"></param>
            <param name="size"></param>
        </member>
        <member name="M:BS2Container.LP_Process.GetWindowThreadProcessId(System.IntPtr,System.UInt32@)">
            Retrieves the identifier of the thread that created the specified window
            and the identifier of the process that created the window. 
        </member>
        <member name="M:BS2Container.BS2Container.StartFrontEnd">
            <summary>
            Starts the HD-Frontend, and creates the window border while resizing to allow for windows padding..
            </summary>
            <returns></returns>
        </member>
        <member name="M:BS2Container.TrayIconClean.RemovePhantomIcons">
            <summary>
            The actual trayIconBuster
            </summary>
            <returns>The number of tray icons removed.</returns>
        </member>
        <member name="T:BS2Container.TrayIconClean.ToolBarButton32">
            <summary>
            ToolBarButton struct used for TB_GETBUTTON message.
            </summary>
            <remarks>We use a class so LP_Process.Read can fill this. The struct padding varies
            depending on Win32/Win64.
            ref: http://msdn.microsoft.com/en-us/library/windows/desktop/bb760476(v=vs.85).aspx</remarks>
        </member>
        <member name="T:BS2Container.TrayIconClean.TrayData">
            <summary>
            TrayData struct used for extra info for ToolBarButton.
            </summary>
            <remarks>We use a class so LP_Process.Read can fill this.
            No padding required, layout is always fine (and irrelevant as we only use the first field!)</remarks>
        </member>
        <member name="T:CoC_Bot.Internals.AdbCommands">
            <summary>
            Class to contain information about structures: Barracks, Dark Barracks, Spell Factory, and Dark Spell Factory.
            </summary>
        </member>
        <member name="M:CoC_Bot.Internals.AdbCommands.Get(System.String)">
            <summary>
            Returns the ADB command associated with the specified key, or the key if it does not exist in the collection.
            </summary>
            <param name="key">Key to look up.</param>
            <returns>ADB command associated with the key, or <c>key</c> if it doesn't exist.</returns>
        </member>
        <member name="T:CoC_Bot.Internals.BarracksData">
            <summary>
            Class to contain information about structures: Barracks, Dark Barracks, Spell Factory, and Dark Spell Factory.
            </summary>
        </member>
        <member name="P:CoC_Bot.Internals.BarracksData.AllBarracks">
            <summary>
            Information about all the structures we know about.
            </summary>
        </member>
        <member name="T:CoC_Bot.Internals.BarracksData.BarracksElement">
            <summary>
            An element representing a specific structure at a specific level.
            </summary>
        </member>
        <member name="F:CoC_Bot.Internals.BarracksData.BarracksElement.Level">
            <summary>Level of the structure.</summary>
        </member>
        <member name="F:CoC_Bot.Internals.BarracksData.BarracksElement.IsSpellFactory">
            <summary>True if this is a Spell Factory or Dark Spell Factory.</summary>
        </member>
        <member name="F:CoC_Bot.Internals.BarracksData.BarracksElement.IsDark">
            <summary>True if this is a Dark Barracks or Dark Spell Factory.</summary>
        </member>
        <member name="F:CoC_Bot.Internals.BarracksData.BarracksElement.TownHallRequired">
            <summary>Level of Town Hall required to have this structure at this level.</summary>
        </member>
        <member name="F:CoC_Bot.Internals.BarracksData.BarracksElement.BoostCost">
            <summary>How many gems it costs to boost this structure.</summary>
        </member>
        <member name="F:CoC_Bot.Internals.BarracksData.BarracksElement.BoostSeconds">
            <summary>How long each boost lasts for this structure.</summary>
        </member>
        <member name="F:CoC_Bot.Internals.BarracksData.BarracksElement.Capacity">
            <summary>Maximum length of the training queue, in housing space.</summary>
        </member>
        <member name="F:CoC_Bot.Internals.BarracksData.BarracksElement.AvailableTroops">
            <summary>Which unitbig_ definitions can be built in this structure at this level.</summary>
        </member>
        <member name="P:CoC_Bot.Internals.Assembler.Origin">
            <summary>
            The origin for jumps and class used when assembling. Aka the location where the code will be written.
            Rebasing is not possible after code has been compiled!
            </summary>
        </member>
        <member name="P:CoC_Bot.Internals.Assembler.UseShuffle">
            <summary>
            Shuffle the input lines around, while preserving logic
            WARNING: Increases memory consumption while assembling and the resulting binary-code by ~4 times! 
            </summary>
        </member>
        <member name="P:CoC_Bot.Internals.Assembler.MaxJumps">
            <summary>
            Sets the maximum number of jumps that will be used while shuffling.
            </summary>
        </member>
        <member name="P:CoC_Bot.Internals.Assembler.AutoAddRandomLines">
            <summary>
            Adds random lines before and after every instruction.
            WARNING: Increases the resulting code by at least 3 times!
            </summary>
        </member>
        <member name="M:CoC_Bot.Internals.Assembler.AddCode(System.Byte[])">
            <summary>
            Adds raw assembly codes to the buffer. Useful when adding bytes that have been overwritten by a hook.
            This will trigger a compile of the current buffer, so set the origin first!
            To get the final code just call Compile()
            </summary>
        </member>
        <member name="M:CoC_Bot.Internals.Assembler.AddRandomLines(System.Int32)">
            <summary>
            Add bogus code for obfuscation
            </summary>
        </member>
        <member name="M:CoC_Bot.Internals.Assembler.Clear">
            <summary>
            Clears all compiled bytes and code
            </summary>
        </member>
        <member name="T:CoC_Bot.Internals.BluestacksThrottling">
            <summary>
            Class to throttle the BlueStacks process by limiting it's audio/video activity.
            </summary>
        </member>
        <member name="F:CoC_Bot.Internals.BluestacksThrottling.ThreadUpdateFrequencyTicks">
            <summary>How often to re-enumerate the threads of the process being throttled.</summary>
        </member>
        <member name="F:CoC_Bot.Internals.BluestacksThrottling.AudioModules">
            <summary>These are the modules which will be targeted for audio throttling (permanently suspended).</summary>
        </member>
        <member name="F:CoC_Bot.Internals.BluestacksThrottling.VideoModules">
            <summary>These are the modules which are targeted for video throttling (suspended when not getting a frame copy).</summary>
        </member>
        <member name="F:CoC_Bot.Internals.BluestacksThrottling.running">
            <summary>Indicates whether throttling is in effect.</summary>
        </member>
        <member name="F:CoC_Bot.Internals.BluestacksThrottling.process">
            <summary>Process we are throttling (null if we are not throttling).</summary>
        </member>
        <member name="F:CoC_Bot.Internals.BluestacksThrottling.lastTicks">
            <summary>Tick count last time thread lists were updated.</summary>
        </member>
        <member name="F:CoC_Bot.Internals.BluestacksThrottling.audioThreadHandles">
            <summary>Handles to audio threads, opened with SuspendResume access.</summary>
        </member>
        <member name="F:CoC_Bot.Internals.BluestacksThrottling.videoThreadHandles">
            <summary>Handles to video threads, opened with SuspendResume access.</summary>
        </member>
        <member name="M:CoC_Bot.Internals.BluestacksThrottling.Start(System.Diagnostics.Process)">
            <summary>
            Starts throttling on the specified BlueStacks process.
            </summary>
            <param name="proc">BlueStacks process to throttle</param>
        </member>
        <member name="M:CoC_Bot.Internals.BluestacksThrottling.Stop">
            <summary>
            Stops throttling the BlueStacks process.
            </summary>
        </member>
        <member name="M:CoC_Bot.Internals.BluestacksThrottling.CloseHandles(System.IntPtr[]@)">
            <summary>
            Closes the handles supplied in the array, and sets the array to null.
            </summary>
            <param name="handles">List of handles to close</param>
        </member>
        <member name="M:CoC_Bot.Internals.BluestacksThrottling.SuspendVideo">
            <summary>
            Suspends the BlueStacks video threads, if throttling is enabled.
            </summary>
        </member>
        <member name="M:CoC_Bot.Internals.BluestacksThrottling.ResumeVideo">
            <summary>
            Resumes the BlueStacks video threads, if throttling is enabled.
            </summary>
        </member>
        <member name="M:CoC_Bot.Internals.BluestacksThrottling.SuspendAudio">
            <summary>
            Suspends the BlueStacks audio threads, if throttling is enabled.
            </summary>
        </member>
        <member name="M:CoC_Bot.Internals.BluestacksThrottling.ResumeAudio">
            <summary>
            Resumes the BlueStacks video threads, if throttling is enabled.
            </summary>
        </member>
        <member name="M:CoC_Bot.Internals.BluestacksThrottling.SuspendThreads(System.IntPtr[])">
            <summary>
            Suspends the threads in the handles array, if it isn't null.
            </summary>
            <param name="handles">Threads to suspend</param>
            <returns>True if threads were suspended, false if handles was null</returns>
        </member>
        <member name="M:CoC_Bot.Internals.BluestacksThrottling.ResumeThreads(System.IntPtr[])">
            <summary>
            Resumes the threads in the handles array, if it isn't null.
            </summary>
            <param name="handles">Threads to resume</param>
            <returns>True if threads were resumed, false if handles was null</returns>
        </member>
        <member name="M:CoC_Bot.Internals.BluestacksThrottling.GetThreadStartAddress(System.Int32)">
            <summary>
            Gets the ACTUAL start address for the given thread ID. This is different from
            <see cref="P:System.Diagnostics.ProcessThread.StartAddress"/>, which is always the same value on newer
            operating systems (ntdll.dll!RtlUserThreadStart).
            </summary>
            <param name="threadId">ID of the thread to interrogate</param>
            <returns>Actual start address of the thread</returns>
        </member>
        <member name="T:CoC_Bot.Internals.TownHallLimits">
            <summary>
            Class to store and retrieve information about structure limits based on Town Hall level.
            </summary>
        </member>
        <member name="P:CoC_Bot.Internals.TownHallLimits.Limits">
            <summary>
            An array indexed by Town Hall level, containing Dictionaries keyed by building name and valued with <see cref="T:CoC_Bot.Internals.TownHallLimit"/>.
            </summary>
        </member>
        <member name="T:CoC_Bot.Internals.TownHallLimit">
            <summary>
            Structure to hold information about quantity and level limits for a building.
            </summary>
        </member>
        <member name="P:CoC_Bot.Internals.TownHallLimit.Quantity">
            <summary>Maximum number of this building that can be built.</summary>
        </member>
        <member name="P:CoC_Bot.Internals.TownHallLimit.Level">
            <summary>Maximum level of this building that can be built.</summary>
        </member>
        <member name="E:CoC_Bot.Core.OnAndroidDialog">
            <summary>Fired when an Android dialog is detected.</summary>
        </member>
        <member name="E:CoC_Bot.Core.OnOnlineTooLong">
            <summary>Fired when the Online Too Long message is displayed on the screen.</summary>
        </member>
        <member name="E:CoC_Bot.Core.OnGameStateChanged">
            <summary>Fired when the GameState has changed.</summary>
        </member>
        <member name="T:CoC_Bot.Core.AdbDelegate">
            <summary>
            Executes an ADB command. Must be attached with an ADB target unless <c>command</c> is <literal>devices</literal>.
            </summary>
            <param name="command">Command to execute (do not include target, it will be appended automatically).</param>
            <param name="async">Whether to wait for command to terminate and return the result.</param>
            <param name="timeout">How long to wait for the command to execute. Default is -1 to wait forever.</param>
            <returns>Null if <c>async</c> is true, standard output from command otherwise.</returns>
        </member>
        <member name="T:CoC_Bot.GameStateCheck.IsInOnlineTooLongState">
            <summary>
            This is a special state, because we don't actually set the state
            based on it (it would interfere with normal operations). Instead,
            we use this to trigger an event from the Core as necessary.
            </summary>
        </member>
        <member name="F:CoC_Bot.GameState.BreakExtended">
            <summary>Your personal break has been extended because you didn't get a Shield the last time you went on break.</summary>
        </member>
        <member name="F:CoC_Bot.GameState.BreakEnding">
            <summary>Your personal break has been extended multiple times and will now reset. To avoid this in the future, make sure your Town Hall is protected and try increasing your Trophy count.</summary>
        </member>
        <member name="F:CoC_Bot.GameState.OnlineTooLong">
            <summary>You have been online too long and will be soon kicked out for a few minutes.</summary>
        </member>
        <member name="F:CoC_Bot.MEmu.WindowsShortcut.SLGP_FLAGS.SLGP_SHORTPATH">
            <summary>Retrieves the standard short (8.3 format) file name</summary>
        </member>
        <member name="F:CoC_Bot.MEmu.WindowsShortcut.SLGP_FLAGS.SLGP_UNCPRIORITY">
            <summary>Retrieves the Universal Naming Convention (UNC) path name of the file</summary>
        </member>
        <member name="F:CoC_Bot.MEmu.WindowsShortcut.SLGP_FLAGS.SLGP_RAWPATH">
            <summary>Retrieves the raw path name. A raw path is something that might not exist and may include environment variables that need to be expanded</summary>
        </member>
        <member name="F:CoC_Bot.MEmu.WindowsShortcut.SLR_FLAGS.SLR_NO_UI">
            <summary>
            Do not display a dialog box if the link cannot be resolved. When SLR_NO_UI is set,
            the high-order word of fFlags can be set to a time-out value that specifies the
            maximum amount of time to be spent resolving the link. The function returns if the
            link cannot be resolved within the time-out duration. If the high-order word is set
            to zero, the time-out duration will be set to the default value of 3,000 milliseconds
            (3 seconds). To specify a value, set the high word of fFlags to the desired time-out
            duration, in milliseconds.
            </summary>
        </member>
        <member name="F:CoC_Bot.MEmu.WindowsShortcut.SLR_FLAGS.SLR_ANY_MATCH">
            <summary>Obsolete and no longer used</summary>
        </member>
        <member name="F:CoC_Bot.MEmu.WindowsShortcut.SLR_FLAGS.SLR_UPDATE">
            <summary>If the link object has changed, update its path and list of identifiers.
            If SLR_UPDATE is set, you do not need to call IPersistFile::IsDirty to determine
            whether or not the link object has changed.</summary>
        </member>
        <member name="F:CoC_Bot.MEmu.WindowsShortcut.SLR_FLAGS.SLR_NOUPDATE">
            <summary>Do not update the link information</summary>
        </member>
        <member name="F:CoC_Bot.MEmu.WindowsShortcut.SLR_FLAGS.SLR_NOSEARCH">
            <summary>Do not execute the search heuristics</summary>
        </member>
        <member name="F:CoC_Bot.MEmu.WindowsShortcut.SLR_FLAGS.SLR_NOTRACK">
            <summary>Do not use distributed link tracking</summary>
        </member>
        <member name="F:CoC_Bot.MEmu.WindowsShortcut.SLR_FLAGS.SLR_NOLINKINFO">
            <summary>Disable distributed link tracking. By default, distributed link tracking tracks
            removable media across multiple devices based on the volume name. It also uses the
            Universal Naming Convention (UNC) path to track remote file systems whose drive letter
            has changed. Setting SLR_NOLINKINFO disables both types of tracking.</summary>
        </member>
        <member name="F:CoC_Bot.MEmu.WindowsShortcut.SLR_FLAGS.SLR_INVOKE_MSI">
            <summary>Call the Microsoft Windows Installer</summary>
        </member>
        <member name="T:CoC_Bot.MEmu.WindowsShortcut.IShellLinkW">
            <summary>The IShellLink interface allows Shell links to be created, modified, and resolved</summary>
        </member>
        <member name="M:CoC_Bot.MEmu.WindowsShortcut.IShellLinkW.GetPath(System.Text.StringBuilder,System.Int32,CoC_Bot.MEmu.WindowsShortcut.WIN32_FIND_DATAW@,CoC_Bot.MEmu.WindowsShortcut.SLGP_FLAGS)">
            <summary>Retrieves the path and file name of a Shell link object</summary>
        </member>
        <member name="M:CoC_Bot.MEmu.WindowsShortcut.IShellLinkW.GetIDList(System.IntPtr@)">
            <summary>Retrieves the list of item identifiers for a Shell link object</summary>
        </member>
        <member name="M:CoC_Bot.MEmu.WindowsShortcut.IShellLinkW.SetIDList(System.IntPtr)">
            <summary>Sets the pointer to an item identifier list (PIDL) for a Shell link object.</summary>
        </member>
        <member name="M:CoC_Bot.MEmu.WindowsShortcut.IShellLinkW.GetDescription(System.Text.StringBuilder,System.Int32)">
            <summary>Retrieves the description string for a Shell link object</summary>
        </member>
        <member name="M:CoC_Bot.MEmu.WindowsShortcut.IShellLinkW.SetDescription(System.String)">
            <summary>Sets the description for a Shell link object. The description can be any application-defined string</summary>
        </member>
        <member name="M:CoC_Bot.MEmu.WindowsShortcut.IShellLinkW.GetWorkingDirectory(System.Text.StringBuilder,System.Int32)">
            <summary>Retrieves the name of the working directory for a Shell link object</summary>
        </member>
        <member name="M:CoC_Bot.MEmu.WindowsShortcut.IShellLinkW.SetWorkingDirectory(System.String)">
            <summary>Sets the name of the working directory for a Shell link object</summary>
        </member>
        <member name="M:CoC_Bot.MEmu.WindowsShortcut.IShellLinkW.GetArguments(System.Text.StringBuilder,System.Int32)">
            <summary>Retrieves the command-line arguments associated with a Shell link object</summary>
        </member>
        <member name="M:CoC_Bot.MEmu.WindowsShortcut.IShellLinkW.SetArguments(System.String)">
            <summary>Sets the command-line arguments for a Shell link object</summary>
        </member>
        <member name="M:CoC_Bot.MEmu.WindowsShortcut.IShellLinkW.GetHotkey(System.Int16@)">
            <summary>Retrieves the hot key for a Shell link object</summary>
        </member>
        <member name="M:CoC_Bot.MEmu.WindowsShortcut.IShellLinkW.SetHotkey(System.Int16)">
            <summary>Sets a hot key for a Shell link object</summary>
        </member>
        <member name="M:CoC_Bot.MEmu.WindowsShortcut.IShellLinkW.GetShowCmd(System.Int32@)">
            <summary>Retrieves the show command for a Shell link object</summary>
        </member>
        <member name="M:CoC_Bot.MEmu.WindowsShortcut.IShellLinkW.SetShowCmd(System.Int32)">
            <summary>Sets the show command for a Shell link object. The show command sets the initial show state of the window.</summary>
        </member>
        <member name="M:CoC_Bot.MEmu.WindowsShortcut.IShellLinkW.GetIconLocation(System.Text.StringBuilder,System.Int32,System.Int32@)">
            <summary>Retrieves the location (path and index) of the icon for a Shell link object</summary>
        </member>
        <member name="M:CoC_Bot.MEmu.WindowsShortcut.IShellLinkW.SetIconLocation(System.String,System.Int32)">
            <summary>Sets the location (path and index) of the icon for a Shell link object</summary>
        </member>
        <member name="M:CoC_Bot.MEmu.WindowsShortcut.IShellLinkW.SetRelativePath(System.String,System.Int32)">
            <summary>Sets the relative path to the Shell link object</summary>
        </member>
        <member name="M:CoC_Bot.MEmu.WindowsShortcut.IShellLinkW.Resolve(System.IntPtr,CoC_Bot.MEmu.WindowsShortcut.SLR_FLAGS)">
            <summary>Attempts to find the target of a Shell link, even if it has been moved or renamed</summary>
        </member>
        <member name="M:CoC_Bot.MEmu.WindowsShortcut.IShellLinkW.SetPath(System.String)">
            <summary>Sets the path and file name of a Shell link object</summary>
        </member>
        <member name="T:CoC_Bot.RectangleFEx">
            <summary>
            Extension methods for the RectangleF class.
            </summary>
        </member>
        <member name="M:CoC_Bot.RectangleFEx.ToAbsolute(System.Drawing.RectangleF)">
            <summary>
            Converts a relative rectangle into absolute coordinates.
            </summary>
            <param name="r"><see cref="T:System.Drawing.RectangleF"/> with relative (0..1) coordinates</param>
            <returns><see cref="T:System.Drawing.Rectangle"/> with pixel coordinates</returns>
        </member>
        <member name="M:CoC_Bot.RectangleFEx.GetCenter(System.Drawing.RectangleF)">
            <summary>
            Calculates the center of this <see cref="T:System.Drawing.RectangleF"/>.
            </summary>
            <returns>Center of the rectangle</returns>
        </member>
        <member name="M:CoC_Bot.RectangleFEx.ToRectangle(System.Drawing.RectangleF)">
            <summary>
            Converts this <see cref="T:System.Drawing.RectangleF"/> into a <see cref="T:System.Drawing.Rectangle"/>. Note if you are trying
            to change coordinate systems, you probably want <see cref="M:CoC_Bot.RectangleFEx.ToAbsolute(System.Drawing.RectangleF)"/>.
            </summary>
            <param name="r"></param>
            <returns></returns>
        </member>
        <member name="T:CoC_Bot.RectangleEx">
            <summary>
            Extension methods for the Rectangle class.
            </summary>
        </member>
        <member name="M:CoC_Bot.RectangleEx.ToRelative(System.Drawing.Rectangle)">
            <summary>
            Converts an absolute rectangle into relative coordinates.
            </summary>
            <param name="rect"><see cref="T:System.Drawing.Rectangle"/> with pixel coordinates</param>
            <returns><see cref="T:System.Drawing.RectangleF"/> with relative (0..1) coordinates</returns>
        </member>
        <member name="M:CoC_Bot.RectangleEx.GetCenter(System.Drawing.Rectangle)">
            <summary>
            Calculates the center of this <see cref="T:System.Drawing.Rectangle"/>.
            </summary>
            <returns>Center of the rectangle</returns>
        </member>
        <member name="M:CoC_Bot.RectangleEx.GetCenterRng(System.Drawing.Rectangle)">
            <summary>
            Like GetCenter(), but it randomizes the position intelligently inside the rectangle to make sure clicks can not be detected by any pattern-recognition
            </summary>
        </member>
        <member name="P:CoC_Bot.Input.LastInteraction">
            <summary>
            Timestamp of the last interaction (mouse clicks, text input, etc...)
            </summary>
        </member>
        <member name="P:CoC_Bot.Input.RandomHoldTimeMin">
            <summary>
            Minimum random time to hold the mouse button down when using Click()
            </summary>
        </member>
        <member name="P:CoC_Bot.Input.RandomHoldTimeMax">
            <summary>
            Maximum random time to hold the mouse button down when using Click()
            </summary>
        </member>
        <member name="P:CoC_Bot.Input.RandomReleaseTimeMin">
            <summary>
            Minimum random time to wait after the mouse button was released after a Click()
            </summary>
        </member>
        <member name="P:CoC_Bot.Input.RandomReleaseTimeMax">
            <summary>
            Maximum random time to wait after the mouse button was released after a Click()
            </summary>
        </member>
        <member name="F:CoC_Bot.Input.inputLogging">
            <summary>
            If set to true, it will log all clicks that are issued
            </summary>
        </member>
        <member name="M:CoC_Bot.Input.MouseWheel(System.Int32)">
            <summary>
            Scrolls the mousewheel, positive values means "forward" (moving the top of the wheel away from you)
            </summary>
        </member>
        <member name="M:CoC_Bot.Input.EnterText(System.String)">
            <summary>
            Sends text input to the current emulator, make sure that you have already selected a text field in the game
            </summary>
        </member>
        <member name="T:CoC_Bot.User32">
            <summary>
            Helper class containing User32 API functions
            </summary>
        </member>
        <member name="M:CoC_Bot.User32.GetChildWindows(System.IntPtr)">
            <summary>
            Returns a list of child windows
            </summary>
            <param name="parent">Parent of the windows to return</param>
            <returns>List of child windows</returns>
        </member>
        <member name="M:CoC_Bot.User32.EnumWindow(System.IntPtr,System.IntPtr)">
            <summary>
            Callback method to be used when enumerating windows.
            </summary>
            <param name="handle">Handle of the next window</param>
            <param name="pointer">Pointer to a GCHandle that holds a reference to the list to fill</param>
            <returns>True to continue the enumeration, false to bail</returns>
        </member>
        <member name="T:CoC_Bot.User32.EnumWindowProc">
            <summary>
            Delegate for the EnumChildWindows method
            </summary>
            <param name="hWnd">Window handle</param>
            <param name="parameter">Caller-defined variable; we use it for a pointer to our list</param>
            <returns>True to continue enumerating, false to bail.</returns>
        </member>
        <member name="T:CoC_Bot.StringRect">
            <summary>
            A class to provide options to the string readers.
            </summary>
        </member>
        <member name="F:CoC_Bot.StringRect.Rect">
            <summary>Area to operate on</summary>
        </member>
        <member name="F:CoC_Bot.StringRect.Name">
            <summary>Arbitrary name of the area to operate on</summary>
        </member>
        <member name="F:CoC_Bot.StringRect.BrightnessLimit">
            <summary>Brightness level to use for the threshold operation</summary>
        </member>
        <member name="F:CoC_Bot.StringRect.Scaling">
            <summary>Factor to scale the image by; must be &lt;= 0.9 or &gt;= 1.1 to activate</summary>
        </member>
        <member name="F:CoC_Bot.StringRect.Invert">
            <summary>Invert the image</summary>
        </member>
        <member name="F:CoC_Bot.StringRect.BlackWhiteFilter">
            <summary>Enable or disable the threshold operation</summary>
        </member>
        <member name="F:CoC_Bot.StringRect.ColorFilters">
            <summary>List of colors to replace in the image</summary>
        </member>
        <member name="T:CoC_Bot.ColorFilter">
            <summary>
            Color to replace in an image.
            </summary>
        </member>
        <member name="F:CoC_Bot.ColorFilter.From">
            <summary>Color to look for (<seealso cref="F:CoC_Bot.ColorFilter.Tolerance"/>)</summary>
        </member>
        <member name="F:CoC_Bot.ColorFilter.To">
            <summary>Color to replace it with</summary>
        </member>
        <member name="F:CoC_Bot.ColorFilter.Tolerance">
            <summary>Sum squared error (SSE) allowed when comparing</summary>
        </member>
        <member name="F:CoC_Bot.ObjectScanner.cdNoRectMerging">
            <summary>Keeps track of when the last FindObjects with noRectMerging call came</summary>
        </member>
        <member name="P:CoC_Bot.ImmutablePoint.X">
            <summary>Gets the x-coordinate of this Point.</summary>
        </member>
        <member name="P:CoC_Bot.ImmutablePoint.Y">
            <summary>Gets the y-coordinate of this Point.</summary>
        </member>
        <member name="M:CoC_Bot.ImmutablePoint.#ctor(System.Int32,System.Int32)">
            <summary>
            Initializes a new instance of the Point class with the specified coordinates.
            </summary>
            <param name="x">The horizontal position of the point.</param>
            <param name="y">The vertical position of the point.</param>
        </member>
        <member name="M:CoC_Bot.ImmutablePoint.op_Equality(CoC_Bot.ImmutablePoint,CoC_Bot.ImmutablePoint)">
            <summary>
            Compares two <see cref="T:CoC_Bot.ImmutablePoint"/> objects. The result
            specifies whether the values of the X and Y properties of the
            two <see cref="T:CoC_Bot.ImmutablePoint"/> objects are equal.
            </summary>
            <param name="left">An <see cref="T:CoC_Bot.ImmutablePoint"/> to compare.</param>
            <param name="right">An <see cref="T:CoC_Bot.ImmutablePoint"/> to compare.</param>
            <returns>true if the X and Y values of left and right are equal; otherwise, false.</returns>
        </member>
        <member name="M:CoC_Bot.ImmutablePoint.op_Inequality(CoC_Bot.ImmutablePoint,CoC_Bot.ImmutablePoint)">
            <summary>
            Compares two <see cref="T:CoC_Bot.ImmutablePoint"/> objects. The result
            specifies whether the values of the X and Y properties of the
            two <see cref="T:CoC_Bot.ImmutablePoint"/> objects are unequal.
            </summary>
            <param name="left">An <see cref="T:CoC_Bot.ImmutablePoint"/> to compare.</param>
            <param name="right">An <see cref="T:CoC_Bot.ImmutablePoint"/> to compare.</param>
            <returns>true if the values of either the X properties or the Y properties of left and right differ; otherwise, false.</returns>
        </member>
        <member name="M:CoC_Bot.ImmutablePoint.op_Implicit(CoC_Bot.ImmutablePoint)~System.Drawing.Point">
            <summary>
            Implicitly converts an ImmutablePoint into a Point.
            </summary>
            <param name="ip">ImmutablePoint to convert</param>
        </member>
        <member name="M:CoC_Bot.ImmutablePoint.op_Implicit(System.Drawing.Point)~CoC_Bot.ImmutablePoint">
            <summary>
            Implicitly converts a Point into an ImmutablePoint.
            </summary>
            <param name="p">Point to convert</param>
        </member>
        <member name="M:CoC_Bot.ImmutablePoint.ToString">
            <summary>
            Converts this Point to a human-readable string. (Overrides <see cref="M:System.ValueType.ToString"/>.)
            </summary>
            <returns>A string that represents this <see cref="T:CoC_Bot.ImmutablePoint"/>.</returns>
        </member>
        <member name="F:CoC_Bot.Definition.Name">
            <summary>Name of the definition, folded to lowercase.</summary>
        </member>
        <member name="F:CoC_Bot.Definition.OriginOffset">
            <summary>Location of origin (bottom corner) relative to definition rectangle.</summary>
        </member>
        <member name="M:CoC_Bot.ScannerI.ScanPoints(System.Collections.Generic.IEnumerable{System.Drawing.Point},Shared.FastImage,CoC_Bot.PSDefinition,System.Boolean)">
            <summary>
            Needs !!origin points!!, the scan position is calculated as scanPos=point-originOffset
            </summary>
        </member>
        <member name="M:CoC_Bot.Scanner.ScanPoints(System.Collections.Generic.IEnumerable{System.Drawing.Point},Shared.FastImage,CoC_Bot.Definition,System.Boolean)">
            <summary>
            Needs !!origin points!!, the scan position is calculated as scanPos=point-originOffset
            </summary>
        </member>
        <member name="T:CoC_Bot.ResamplingService">
            <summary>
            A class for image resampling with custom filters.
            </summary>
        </member>
        <member name="P:CoC_Bot.ResamplingService.Filter">
            <summary>
            Gets or sets the resampling filter.
            </summary>
        </member>
        <member name="P:CoC_Bot.ResamplingService.Aborting">
            <summary>
            Gets or sets wheter the resampling process is stopping.
            </summary>
        </member>
        <member name="P:CoC_Bot.ResamplingService.Covered">
            <summary>
            Covered units. Progress can be computed in combination with ResamplingService.Total property.
            </summary>
        </member>
        <member name="P:CoC_Bot.ResamplingService.Total">
            <summary>
            Total units. Progress can be computer in combination with ResamplingService.Covered property.
            </summary>
        </member>
        <member name="M:CoC_Bot.ResamplingService.Resample(System.UInt16[0:,0:][],System.Int32,System.Int32)">
            <summary>
            Resamples input array to a new array using current resampling filter.
            </summary>
            <param name="input">Input array.</param>
            <param name="nWidth">Width of the output array.</param>
            <param name="nHeight">Height of the output array.</param>
            <returns>Output array.</returns>
        </member>
        <member name="M:CoC_Bot.ResamplingService.ConvertBitmapToArray(System.Drawing.Bitmap)">
            <summary>
            Converts Bitmap to array. Supports only Format32bppArgb pixel format.
            </summary>
            <param name="bmp">Bitmap to convert.</param>
            <returns>Output array.</returns>
        </member>
        <member name="M:CoC_Bot.ResamplingService.ConvertArrayToBitmap(System.UInt16[0:,0:][])">
            <summary>
            Converts array to Bitmap. Supports only Format32bppArgb pixel format.
            </summary>
            <param name="array">Array to convert.</param>
            <returns>Output Bitmap.</returns>
        </member>
        <member name="T:CoC_Bot.ScreenCaptureGDI">
            <summary>
            GDI way to capture the screen,
            this is just a test xml comment...
            </summary>
        </member>
        <member name="F:CoC_Bot.ScreenCaptureGDI.BITMAPINFO.bmiHeader">
            <summary>
            A BITMAPINFOHEADER structure that contains information about the dimensions of color format.
            </summary>
        </member>
        <member name="F:CoC_Bot.ScreenCaptureGDI.BITMAPINFO.bmiColors">
            <summary>
            An array of RGBQUAD. The elements of the array that make up the color table.
            </summary>
        </member>
        <member name="T:CoC_Bot.BuildingType">
            <summary>
            Building type constants which can be used as array indexes.
            </summary>
        </member>
        <member name="T:LocalizazionSupport.LocalizerIgnoreAttribute">
            <summary>
            This attribute is used to exclude the content of a type or method from the localizer.
            Strings inside the type/method are forced to be excluded.
            Localization for those strings cannot be turned on with the UI.
            </summary>
        </member>
        <member name="T:LocalizazionSupport.Locale">
            <summary>
            The locale class is needed in the target assembly.
            This class is a working demo implementation.
            You can change everything but the GetString method.
            The definition "string GetString(int)" must be retained, the implementation can change (even though its not advised!)
            You are free to change all other methods.
            </summary>
        </member>
        <member name="T:LocalizazionSupport.LocalizationTable">
            <summary>
            The localization table is needed in the target assembly.
            You should not change it.
            </summary>
        </member>
        <member name="M:System.Logger.DebugDev(System.String,System.Object[])">
            <summary>
            Print only in DEBUG
            </summary>
        </member>
        <member name="M:System.Logger.DebugUI(System.String,System.Object[])">
            <summary>
            Print the message only in GUI
            </summary>
        </member>
        <member name="M:System.Logger.WriteDev(System.Drawing.Color,System.String,System.LogLevel,System.Boolean)">
            <summary>
            Print only in #DEBUG
            </summary>
        </member>
        <member name="M:System.Logger.WriteInline(System.Drawing.Color,System.String,System.LogLevel)">
            <summary>
            Print without Timestamp
            </summary>
        </member>
        <member name="M:System.Logger._Write(System.Drawing.Color,System.String,System.Boolean,System.LogLevel,System.Boolean)">
            <summary>
            Core Write
            </summary>
        </member>
        <member name="M:System.Instance.StartGame">
            <summary>
            This method launches the emulator, on a new thread.
            </summary>
        </member>
        <member name="M:System.Instance.__StartGame">
            <summary>
            Actually starts the game. Do not create new threads here.
            </summary>
        </member>
        <member name="M:System.Instance.Adb(System.String,System.Boolean,System.Int32)">
            <summary>
            Executes an ADB command. <see cref="!:AdbTarget"/> must be set unless <c>command</c> is <literal>devices</literal>.
            </summary>
            <param name="command">Command to execute (do not include target, it will be appended automatically).</param>
            <param name="async">Whether to wait for command to terminate and return the result.</param>
            <param name="timeout">Amount of time to wait for the command to complete, in milliseconds. Default is -1 to wait forever.</param>
            <returns>Null if <c>async</c> is true, standard output from command otherwise.</returns>
        </member>
        <member name="T:JetBrains.Annotations.CanBeNullAttribute">
            <summary>
            Indicates that the value of the marked element could be <c>null</c> sometimes,
            so the check for <c>null</c> is necessary before its usage
            </summary>
            <example><code>
            [CanBeNull] public object Test() { return null; }
            public void UseTest() {
              var p = Test();
              var s = p.ToString(); // Warning: Possible 'System.NullReferenceException'
            }
            </code></example>
        </member>
        <member name="T:JetBrains.Annotations.NotNullAttribute">
            <summary>
            Indicates that the value of the marked element could never be <c>null</c>
            </summary>
            <example><code>
            [NotNull] public object Foo() {
              return null; // Warning: Possible 'null' assignment
            }
            </code></example>
        </member>
        <member name="T:JetBrains.Annotations.StringFormatMethodAttribute">
            <summary>
            Indicates that the marked method builds string by format pattern and (optional) arguments.
            Parameter, which contains format string, should be given in constructor. The format string
            should be in <see cref="M:System.String.Format(System.IFormatProvider,System.String,System.Object[])"/>-like form
            </summary>
            <example><code>
            [StringFormatMethod("message")]
            public void ShowError(string message, params object[] args) { /* do something */ }
            public void Foo() {
              ShowError("Failed: {0}"); // Warning: Non-existing argument in format string
            }
            </code></example>
        </member>
        <member name="M:JetBrains.Annotations.StringFormatMethodAttribute.#ctor(System.String)">
            <param name="formatParameterName">
            Specifies which parameter of an annotated method should be treated as format-string
            </param>
        </member>
        <member name="T:JetBrains.Annotations.InvokerParameterNameAttribute">
            <summary>
            Indicates that the function argument should be string literal and match one
            of the parameters of the caller function. For example, ReSharper annotates
            the parameter of <see cref="T:System.ArgumentNullException"/>
            </summary>
            <example><code>
            public void Foo(string param) {
              if (param == null)
                throw new ArgumentNullException("par"); // Warning: Cannot resolve symbol
            }
            </code></example>
        </member>
        <member name="T:JetBrains.Annotations.NotifyPropertyChangedInvocatorAttribute">
             <summary>
             Indicates that the method is contained in a type that implements
             <see cref="T:System.ComponentModel.INotifyPropertyChanged"/> interface
             and this method is used to notify that some property value changed
             </summary>
             <remarks>
             The method should be non-static and conform to one of the supported signatures:
             <list>
             <item><c>NotifyChanged(string)</c></item>
             <item><c>NotifyChanged(params string[])</c></item>
             <item><c>NotifyChanged{T}(Expression{Func{T}})</c></item>
             <item><c>NotifyChanged{T,U}(Expression{Func{T,U}})</c></item>
             <item><c>SetProperty{T}(ref T, T, string)</c></item>
             </list>
             </remarks>
             <example><code>
             public class Foo : INotifyPropertyChanged {
               public event PropertyChangedEventHandler PropertyChanged;
               [NotifyPropertyChangedInvocator]
               protected virtual void NotifyChanged(string propertyName) { ... }
            
               private string _name;
               public string Name {
                 get { return _name; }
                 set { _name = value; NotifyChanged("LastName"); /* Warning */ }
               }
             }
             </code>
             Examples of generated notifications:
             <list>
             <item><c>NotifyChanged("Property")</c></item>
             <item><c>NotifyChanged(() =&gt; Property)</c></item>
             <item><c>NotifyChanged((VM x) =&gt; x.Property)</c></item>
             <item><c>SetProperty(ref myField, value, "Property")</c></item>
             </list>
             </example>
        </member>
        <member name="T:JetBrains.Annotations.ContractAnnotationAttribute">
            <summary>
            Describes dependency between method input and output
            </summary>
            <syntax>
            <p>Function Definition Table syntax:</p>
            <list>
            <item>FDT      ::= FDTRow [;FDTRow]*</item>
            <item>FDTRow   ::= Input =&gt; Output | Output &lt;= Input</item>
            <item>Input    ::= ParameterName: Value [, Input]*</item>
            <item>Output   ::= [ParameterName: Value]* {halt|stop|void|nothing|Value}</item>
            <item>Value    ::= true | false | null | notnull | canbenull</item>
            </list>
            If method has single input parameter, it's name could be omitted.<br/>
            Using <c>halt</c> (or <c>void</c>/<c>nothing</c>, which is the same)
            for method output means that the methos doesn't return normally.<br/>
            <c>canbenull</c> annotation is only applicable for output parameters.<br/>
            You can use multiple <c>[ContractAnnotation]</c> for each FDT row,
            or use single attribute with rows separated by semicolon.<br/>
            </syntax>
            <examples><list>
            <item><code>
            [ContractAnnotation("=> halt")]
            public void TerminationMethod()
            </code></item>
            <item><code>
            [ContractAnnotation("halt &lt;= condition: false")]
            public void Assert(bool condition, string text) // regular assertion method
            </code></item>
            <item><code>
            [ContractAnnotation("s:null => true")]
            public bool IsNullOrEmpty(string s) // string.IsNullOrEmpty()
            </code></item>
            <item><code>
            // A method that returns null if the parameter is null, and not null if the parameter is not null
            [ContractAnnotation("null => null; notnull => notnull")]
            public object Transform(object data) 
            </code></item>
            <item><code>
            [ContractAnnotation("s:null=>false; =>true,result:notnull; =>false, result:null")]
            public bool TryParse(string s, out Person result)
            </code></item>
            </list></examples>
        </member>
        <member name="T:JetBrains.Annotations.LocalizationRequiredAttribute">
            <summary>
            Indicates that marked element should be localized or not
            </summary>
            <example><code>
            [LocalizationRequiredAttribute(true)]
            public class Foo {
              private string str = "my string"; // Warning: Localizable string
            }
            </code></example>
        </member>
        <member name="T:JetBrains.Annotations.CannotApplyEqualityOperatorAttribute">
            <summary>
            Indicates that the value of the marked type (or its derivatives)
            cannot be compared using '==' or '!=' operators and <c>Equals()</c>
            should be used instead. However, using '==' or '!=' for comparison
            with <c>null</c> is always permitted.
            </summary>
            <example><code>
            [CannotApplyEqualityOperator]
            class NoEquality { }
            class UsesNoEquality {
              public void Test() {
                var ca1 = new NoEquality();
                var ca2 = new NoEquality();
                if (ca1 != null) { // OK
                  bool condition = ca1 == ca2; // Warning
                }
              }
            }
            </code></example>
        </member>
        <member name="T:JetBrains.Annotations.BaseTypeRequiredAttribute">
            <summary>
            When applied to a target attribute, specifies a requirement for any type marked
            with the target attribute to implement or inherit specific type or types.
            </summary>
            <example><code>
            [BaseTypeRequired(typeof(IComponent)] // Specify requirement
            public class ComponentAttribute : Attribute { }
            [Component] // ComponentAttribute requires implementing IComponent interface
            public class MyComponent : IComponent { }
            </code></example>
        </member>
        <member name="T:JetBrains.Annotations.UsedImplicitlyAttribute">
            <summary>
            Indicates that the marked symbol is used implicitly
            (e.g. via reflection, in external library), so this symbol
            will not be marked as unused (as well as by other usage inspections)
            </summary>
        </member>
        <member name="T:JetBrains.Annotations.MeansImplicitUseAttribute">
            <summary>
            Should be used on attributes and causes ReSharper
            to not mark symbols marked with such attributes as unused
            (as well as by other usage inspections)
            </summary>
        </member>
        <member name="F:JetBrains.Annotations.ImplicitUseKindFlags.Access">
            <summary>Only entity marked with attribute considered used</summary>
        </member>
        <member name="F:JetBrains.Annotations.ImplicitUseKindFlags.Assign">
            <summary>Indicates implicit assignment to a member</summary>
        </member>
        <member name="F:JetBrains.Annotations.ImplicitUseKindFlags.InstantiatedWithFixedConstructorSignature">
            <summary>
            Indicates implicit instantiation of a type with fixed constructor signature.
            That means any unused constructor parameters won't be reported as such.
            </summary>
        </member>
        <member name="F:JetBrains.Annotations.ImplicitUseKindFlags.InstantiatedNoFixedConstructorSignature">
            <summary>Indicates implicit instantiation of a type</summary>
        </member>
        <member name="T:JetBrains.Annotations.ImplicitUseTargetFlags">
            <summary>
            Specify what is considered used implicitly
            when marked with <see cref="T:JetBrains.Annotations.MeansImplicitUseAttribute"/>
            or <see cref="T:JetBrains.Annotations.UsedImplicitlyAttribute"/>
            </summary>
        </member>
        <member name="F:JetBrains.Annotations.ImplicitUseTargetFlags.Members">
            <summary>Members of entity marked with attribute are considered used</summary>
        </member>
        <member name="F:JetBrains.Annotations.ImplicitUseTargetFlags.WithMembers">
            <summary>Entity marked with attribute and all its members considered used</summary>
        </member>
        <member name="T:JetBrains.Annotations.PublicAPIAttribute">
            <summary>
            This attribute is intended to mark publicly available API
            which should not be removed and so is treated as used
            </summary>
        </member>
        <member name="T:JetBrains.Annotations.InstantHandleAttribute">
            <summary>
            Tells code analysis engine if the parameter is completely handled
            when the invoked method is on stack. If the parameter is a delegate,
            indicates that delegate is executed while the method is executed.
            If the parameter is an enumerable, indicates that it is enumerated
            while the method is executed
            </summary>
        </member>
        <member name="T:JetBrains.Annotations.PureAttribute">
            <summary>
            Indicates that a method does not make any observable state changes.
            The same as <c>System.Diagnostics.Contracts.PureAttribute</c>
            </summary>
            <example><code>
            [Pure] private int Multiply(int x, int y) { return x * y; }
            public void Foo() {
              const int a = 2, b = 2;
              Multiply(a, b); // Waring: Return value of pure method is not used
            }
            </code></example>
        </member>
        <member name="T:JetBrains.Annotations.PathReferenceAttribute">
            <summary>
            Indicates that a parameter is a path to a file or a folder
            within a web project. Path can be relative or absolute,
            starting from web root (~)
            </summary>
        </member>
        <member name="T:JetBrains.Annotations.AspMvcActionAttribute">
            <summary>
            ASP.NET MVC attribute. If applied to a parameter, indicates that the parameter
            is an MVC action. If applied to a method, the MVC action name is calculated
            implicitly from the context. Use this attribute for custom wrappers similar to
            <c>System.Web.Mvc.Html.ChildActionExtensions.RenderAction(HtmlHelper, String)</c>
            </summary>
        </member>
        <member name="T:JetBrains.Annotations.AspMvcAreaAttribute">
            <summary>
            ASP.NET MVC attribute. Indicates that a parameter is an MVC area.
            Use this attribute for custom wrappers similar to
            <c>System.Web.Mvc.Html.ChildActionExtensions.RenderAction(HtmlHelper, String)</c>
            </summary>
        </member>
        <member name="T:JetBrains.Annotations.AspMvcControllerAttribute">
            <summary>
            ASP.NET MVC attribute. If applied to a parameter, indicates that
            the parameter is an MVC controller. If applied to a method,
            the MVC controller name is calculated implicitly from the context.
            Use this attribute for custom wrappers similar to 
            <c>System.Web.Mvc.Html.ChildActionExtensions.RenderAction(HtmlHelper, String, String)</c>
            </summary>
        </member>
        <member name="T:JetBrains.Annotations.AspMvcMasterAttribute">
            <summary>
            ASP.NET MVC attribute. Indicates that a parameter is an MVC Master.
            Use this attribute for custom wrappers similar to
            <c>System.Web.Mvc.Controller.View(String, String)</c>
            </summary>
        </member>
        <member name="T:JetBrains.Annotations.AspMvcModelTypeAttribute">
            <summary>
            ASP.NET MVC attribute. Indicates that a parameter is an MVC model type.
            Use this attribute for custom wrappers similar to
            <c>System.Web.Mvc.Controller.View(String, Object)</c>
            </summary>
        </member>
        <member name="T:JetBrains.Annotations.AspMvcPartialViewAttribute">
            <summary>
            ASP.NET MVC attribute. If applied to a parameter, indicates that
            the parameter is an MVC partial view. If applied to a method,
            the MVC partial view name is calculated implicitly from the context.
            Use this attribute for custom wrappers similar to
            <c>System.Web.Mvc.Html.RenderPartialExtensions.RenderPartial(HtmlHelper, String)</c>
            </summary>
        </member>
        <member name="T:JetBrains.Annotations.AspMvcSupressViewErrorAttribute">
            <summary>
            ASP.NET MVC attribute. Allows disabling all inspections
            for MVC views within a class or a method.
            </summary>
        </member>
        <member name="T:JetBrains.Annotations.AspMvcDisplayTemplateAttribute">
            <summary>
            ASP.NET MVC attribute. Indicates that a parameter is an MVC display template.
            Use this attribute for custom wrappers similar to 
            <c>System.Web.Mvc.Html.DisplayExtensions.DisplayForModel(HtmlHelper, String)</c>
            </summary>
        </member>
        <member name="T:JetBrains.Annotations.AspMvcEditorTemplateAttribute">
            <summary>
            ASP.NET MVC attribute. Indicates that a parameter is an MVC editor template.
            Use this attribute for custom wrappers similar to
            <c>System.Web.Mvc.Html.EditorExtensions.EditorForModel(HtmlHelper, String)</c>
            </summary>
        </member>
        <member name="T:JetBrains.Annotations.AspMvcTemplateAttribute">
            <summary>
            ASP.NET MVC attribute. Indicates that a parameter is an MVC template.
            Use this attribute for custom wrappers similar to
            <c>System.ComponentModel.DataAnnotations.UIHintAttribute(System.String)</c>
            </summary>
        </member>
        <member name="T:JetBrains.Annotations.AspMvcViewAttribute">
            <summary>
            ASP.NET MVC attribute. If applied to a parameter, indicates that the parameter
            is an MVC view. If applied to a method, the MVC view name is calculated implicitly
            from the context. Use this attribute for custom wrappers similar to
            <c>System.Web.Mvc.Controller.View(Object)</c>
            </summary>
        </member>
        <member name="T:JetBrains.Annotations.AspMvcActionSelectorAttribute">
            <summary>
            ASP.NET MVC attribute. When applied to a parameter of an attribute,
            indicates that this parameter is an MVC action name
            </summary>
            <example><code>
            [ActionName("Foo")]
            public ActionResult Login(string returnUrl) {
              ViewBag.ReturnUrl = Url.Action("Foo"); // OK
              return RedirectToAction("Bar"); // Error: Cannot resolve action
            }
            </code></example>
        </member>
        <member name="T:JetBrains.Annotations.RazorSectionAttribute">
            <summary>
            Razor attribute. Indicates that a parameter or a method is a Razor section.
            Use this attribute for custom wrappers similar to 
            <c>System.Web.WebPages.WebPageBase.RenderSection(String)</c>
            </summary>
        </member>
    </members>
</doc>
