<ServerManagerConfiguration>

  <!-- incremental point locators begin -->
  <ProxyGroup name="incremental_point_locators">
    <NullProxy name="None"></NullProxy>
    <NullProxy name="Scalar"></NullProxy>
    <Proxy class="vtkPointLocator"
           name="PointLocator">
      <Documentation>Point locator based on a search structure of uniform
      fixed-resolution bins / buckets for point location and generic (zero or
      non-zero) tolerance point insertion.</Documentation>
      <IntVectorProperty command="SetDivisions"
                         default_values="50 50 50"
                         name="Divisions"
                         number_of_elements="3">
        <Documentation>Specify the number of divisions in each axis / direction
        (x, y, z) for creating a search structure of uniform fixed-resolution
        bins / buckets.</Documentation>
      </IntVectorProperty>
      <IntVectorProperty command="SetNumberOfPointsPerBucket"
                         default_values="8"
                         label="Number of points per bucket"
                         name="NumberOfPointsPerBucket"
                         number_of_elements="1">
        <Documentation>Specify the average number of points in each bin /
        bucket that determines the initial and growing sizes (in terms of
        number of points) of each bin / bucket.</Documentation>
      </IntVectorProperty>
      <DoubleVectorProperty command="SetTolerance"
                            default_values="0.001"
                            name="Tolerance"
                            number_of_elements="1">
        <Documentation>Specify an absolute tolerance for check-based /
        tolerance-based point insertion.</Documentation>
      </DoubleVectorProperty>
    </Proxy>
    <Proxy class="vtkMergePoints"
           label="Uniform Binning"
           name="MergePoints">
      <Documentation>A point merger using a search structure of uniform
      fixed-resolution bins / buckets for zero tolerance point insertion (to
      avoid exactly duplicate / coincident points).</Documentation>
      <IntVectorProperty command="SetDivisions"
                         default_values="50 50 50"
                         name="Divisions"
                         number_of_elements="3">
        <Documentation>Specify the number of divisions in each axis / direction
        (x, y, z) for creating a search structure of uniform fixed-resolution
        bins / buckets.</Documentation>
      </IntVectorProperty>
      <IntVectorProperty command="SetNumberOfPointsPerBucket"
                         default_values="8"
                         label="Number of points per bucket"
                         name="NumberOfPointsPerBucket"
                         number_of_elements="1">
        <Documentation>Specify the average number of points in each bin /
        bucket that determines the initial and growing sizes (in terms of
        number of points) of each bin / bucket.</Documentation>
      </IntVectorProperty>
    </Proxy>
    <Proxy class="vtkNonMergingPointLocator"
           label="Don't Merge Points"
           name="NonMergingPointLocator">
      <Documentation>Perform direct / check-free point insertion (any point is
      inserted to a vtkPoints object) and therefore there can be duplicate
      points.</Documentation>
      <IntVectorProperty command="SetDivisions"
                         default_values="50 50 50"
                         name="Divisions"
                         number_of_elements="3">
        <Documentation>Specify the number of divisions in each axis / direction
        (x, y, z) for creating a search structure of uniform fixed-resolution
        bins / buckets.</Documentation>
      </IntVectorProperty>
      <IntVectorProperty command="SetNumberOfPointsPerBucket"
                         default_values="8"
                         label="Number of points per bucket"
                         name="NumberOfPointsPerBucket"
                         number_of_elements="1">
        <Documentation>Specify the average number of points in each bin /
        bucket that determines the initial and growing sizes (in terms of
        number of points) of each bin / bucket.</Documentation>
      </IntVectorProperty>
    </Proxy>
    <Proxy class="vtkIncrementalOctreePointLocator"
           name="IncrementalOctreePointLocator">
      <Documentation>Point locator based on a fast search structure of
      data-aware multi-resolution octree nodes for point location and generic
      (zero or non-zero) tolerance point insertion.</Documentation>
      <IntVectorProperty command="SetMaxPointsPerLeaf"
                         default_values="128"
                         label="Max number of points per leaf"
                         name="MaxPointsPerLeaf"
                         number_of_elements="1">
        <IntRangeDomain max="256"
                        min="16"
                        name="range" />
        <Documentation>Specify the maximum number of points that a leaf node
        may maintain. This value is a trade-off between the cost of dynamic
        octree construction (top-down recursive node sub-division into eight
        children as points are incrementally inserted to the octree) and the
        speed of point location (particularly within a container leaf
        node).</Documentation>
      </IntVectorProperty>
      <DoubleVectorProperty command="SetTolerance"
                            default_values="0.001"
                            name="Tolerance"
                            number_of_elements="1">
        <Documentation>Specify an absolute tolerance for check-based /
        tolerance-based point insertion.</Documentation>
      </DoubleVectorProperty>
    </Proxy>
    <Proxy class="vtkIncrementalOctreePointLocator"
           label="Octree Binning"
           name="IncrementalOctreeMergePoints">
      <Documentation>A point merger exploiting a fast search structure of
      data-aware multi-resolution octree nodes for zero-tolerance point
      insertion (to avoid exactly duplicate / coincident
      points).</Documentation>
      <IntVectorProperty command="SetMaxPointsPerLeaf"
                         default_values="128"
                         label="Max number of points per leaf"
                         name="MaxPointsPerLeaf"
                         number_of_elements="1">
        <IntRangeDomain max="256"
                        min="16"
                        name="range" />
        <Documentation>Specify the maximum number of points that a leaf node
        may maintain. This value is a trade-off between the cost of dynamic
        octree construction (top-down recursive node sub-division into eight
        children as points are incrementally inserted to the octree) and the
        speed of point location (particularly within a container leaf
        node).</Documentation>
      </IntVectorProperty>
      <DoubleVectorProperty command="SetTolerance"
                            default_values="0.0"
                            name="Tolerance"
                            number_of_elements="1">
        <Documentation>Always specify a zero tolerance for point insertion ---
        merging points.</Documentation>
      </DoubleVectorProperty>
      <Hints>
        <Property name="Tolerance"
                  show="0" />
      </Hints>
    </Proxy>
    <!-- incremental point locators end -->
  </ProxyGroup>

  <ProxyGroup name="point_locators">
    <Proxy name="StaticPointLocator" label="Static Point Locator" class="vtkStaticPointLocator">
      <Documentation>
        This uses a spatial search object to quickly locate points
        in 3D.  This locator works by dividing a specified region of
        space into a regular array of cuboid buckets, and then keeping a
        list of points that lie in each bucket. Typical operation involves giving
        a position in 3D and finding the closest point; or finding the N closest
        points.

        This locator is an accelerated version of a point locator. It is
        threaded (via vtkSMPTools), and supports one-time static construction
        (i.e., incremental point insertion is not supported).
      </Documentation>

      <IntVectorProperty name="Automatic"
        command="SetAutomatic"
        number_of_elements="1"
        default_values="1">
        <BooleanDomain name="bool" />
        <Documentation>
          Controls whether the locator resolution is computed automatically or not.
        </Documentation>
      </IntVectorProperty>

      <IntVectorProperty command="SetDivisions"
        default_values="50 50 50"
        name="Divisions"
        number_of_elements="3">
        <Documentation>Specify the number of divisions in each axis / direction
          (x, y, z) for creating a search structure of uniform fixed-resolution
          bins / buckets.
        </Documentation>
        <IntRangeDomain name="range" min="1 1 1" />
        <Hints>
          <PropertyWidgetDecorator type="GenericDecorator"
            mode="enabled_state"
            property="Automatic"
            value="0" />
        </Hints>
      </IntVectorProperty>

      <IntVectorProperty name="NumberOfPointsPerBucket"
        command="SetNumberOfPointsPerBucket"
        number_of_elements="1"
        default_values="5">
        <IntRangeDomain name="range" min="1" />
        <Documentation>
          Specify the average number of points in each bucket. This is
          used in conjunction with the **Automatic** (if enabled) to
          determine the number of locator x-y-z divisions.
        </Documentation>
        <Hints>
          <PropertyWidgetDecorator type="GenericDecorator"
            mode="enabled_state"
            property="Automatic"
            value="1" />
        </Hints>
      </IntVectorProperty>

      <PropertyGroup label="Locator Parameters">
        <Property name="Automatic" />
        <Property name="Divisions" />
        <Property name="NumberOfPointsPerBucket" />
      </PropertyGroup>
    </Proxy>

  </ProxyGroup>

  <ProxyGroup name="cell_locators">
     <Proxy class="vtkCellLocator"
            name="CellLocator"
            label="Cell Locator"/>
     <Proxy class="vtkCellTreeLocator"
            name="CellTreeLocator"
            label="Tree Cell Locator"/>
     <Proxy class="vtkOBBTree"
            name="OBBTree"
            label="OBB Tree Cell Locator"/>
     <Proxy class="vtkStaticCellLocator"
            name="StaticCellLocator"
            label="Static Cell Locator"/>
  </ProxyGroup>

  <ProxyGroup name="implicit_functions">
    <NullProxy name="None"></NullProxy>
    <NullProxy name="Scalar"></NullProxy>
    <Proxy class="vtkPlanes"
           name="Planes">
      <ProxyProperty command="SetPoints"
                     name="Points">
        <ProxyGroupDomain name="group">
          <Group name="points" />
        </ProxyGroupDomain>
      </ProxyProperty>
      <ProxyProperty command="SetNormals"
                     name="Normals">
        <ProxyGroupDomain name="group">
          <Group name="data_arrays" />
        </ProxyGroupDomain>
      </ProxyProperty>
    </Proxy>
    <Proxy class="vtkQuadric" name="Quadric">
      <InputProperty is_internal="1" name="Input" />
      <DoubleVectorProperty name="QuadricCoefficients"
                            command="SetCoefficients"
                            number_of_elements="10"
                            default_values="1 1 1 0 0 0 0 0 0 -1">
        <Documentation>
          Coefficients of the quadric function, defined as the 'a' values in:
          F(x,y,z) = a0*x^2 + a1*y^2 + a2*z^2 + a3*x*y + a4*y*z + a5*x*z + a6*x + a7*y + a8*z + a9
        </Documentation>
      </DoubleVectorProperty>
    </Proxy>
    <Proxy class="vtkSphere" name="Sphere">
      <InputProperty is_internal="1" name="Input" />
      <DoubleVectorProperty command="SetCenter"
                            default_values="0 0 0"
                            name="Center"
                            number_of_elements="3">
        <BoundsDomain default_mode="mid" mode="normal" name="range">
          <RequiredProperties>
            <Property function="Input" name="Input" />
          </RequiredProperties>
        </BoundsDomain>
        <Documentation>
          Set the center of the sphere.
        </Documentation>
      </DoubleVectorProperty>
      <DoubleVectorProperty command="SetRadius"
                            default_values="1"
                            name="Radius"
                            number_of_elements="1">
        <BoundsDomain name="range" mode="scaled_extent" scale_factor="0.5" default_mode="max">
          <RequiredProperties>
            <Property function="Input" name="Input" />
          </RequiredProperties>
        </BoundsDomain>
        <Documentation>
          Set the radius of the sphere.
        </Documentation>
      </DoubleVectorProperty>
      <PropertyGroup label="Point Cloud Parameters" panel_widget="InteractiveSphere">
        <Property function="Center" name="Center" />
        <Property function="Radius" name="Radius" />
        <Property function="Input" name="Input" />
      </PropertyGroup>
      <Hints>
        <ProxyList>
          <Link name="Input" with_property="Input" />
        </ProxyList>
      </Hints>
      <!-- End of Sphere -->
    </Proxy>
  </ProxyGroup>
  <ProxyGroup name="transforms">
    <Proxy class="vtkTransform"
           name="Transform">
      <ProxyProperty command="SetMatrix"
                     name="MatrixProxy">
        <ProxyGroupDomain name="groups">
          <Group name="matrices" />
        </ProxyGroupDomain>
      </ProxyProperty>
      <DoubleVectorProperty argument_is_array="1"
                            command="SetMatrix"
                            default_values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0"
                            name="Matrix"
                            number_of_elements="16" />
    </Proxy>
  </ProxyGroup>
  <ProxyGroup name="matrices">
    <Proxy class="vtkMatrix4x4"
           name="Matrix4x4">
      <DoubleVectorProperty argument_is_array="1"
                            command="DeepCopy"
                            default_values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0"
                            name="DeepCopy"
                            number_of_elements="16"></DoubleVectorProperty>
    </Proxy>
  </ProxyGroup>
  <ProxyGroup name="points">
    <Proxy class="vtkPoints"
           name="Points">
      <DoubleVectorProperty command="SetPoint"
                            name="Points"
                            number_of_elements="0"
                            number_of_elements_per_command="3"
                            repeat_command="1"
                            set_number_command="SetNumberOfPoints"
                            use_index="1" />
    </Proxy>
  </ProxyGroup>
  <ProxyGroup name="data_arrays">
    <Proxy class="vtkDoubleArray"
           name="DoubleArray">
      <DoubleVectorProperty command="SetValue"
                            name="Values"
                            number_of_elements="0"
                            number_of_elements_per_command="1"
                            repeat_command="1"
                            set_number_command="SetNumberOfValues"
                            use_index="1" />
      <IntVectorProperty command="SetNumberOfComponents"
                         default_values="1"
                         name="Components"
                         number_of_elements="1" />
    </Proxy>
  </ProxyGroup>
  <ProxyGroup name="internals">
    <Proxy class="vtkMPIMToNSocketConnection"
           name="MPIMToNSocketConnection"
           processes="dataserver|renderserver">
      <IntVectorProperty command="Initialize"
                         default_values="none"
                         is_internal="1"
                         name="WaitingProcess"
                         number_of_elements="1">
        <EnumerationDomain name="enum">
          <Entry text="DataServer"
                 value="2" />
          <Entry text="RenderServer"
                 value="3" />
        </EnumerationDomain>
      </IntVectorProperty>
      <StringVectorProperty command="SetPortInformation"
                            element_types="0 0 2"
                            name="Connections"
                            number_of_elements_per_command="3"
                            repeat_command="1"
                            set_number_command="SetNumberOfConnections">
                            </StringVectorProperty>
    </Proxy>
  </ProxyGroup>

  <ProxyGroup name="selection_helpers">
    <Proxy class="vtkSelection"
           name="Selection"></Proxy>
    <SourceProxy class="vtkAnnotationLink"
                 name="AnnotationLink">
      <InputProperty command="SetInputConnection"
                     name="Input"
                     port_index="0">
        <ProxyGroupDomain name="groups">
          <Group name="sources" />
          <Group name="filters" />
        </ProxyGroupDomain>
        <DataTypeDomain name="input_type">
          <DataType value="vtkAnnotationLayers" />
          <DataType value="vtkSelection" />
        </DataTypeDomain>
      </InputProperty>
      <InputProperty command="SetInputConnection"
                     name="DomainMaps"
                     port_index="1">
        <ProxyGroupDomain name="groups">
          <Group name="sources" />
          <Group name="filters" />
        </ProxyGroupDomain>
        <DataTypeDomain name="input_type">
          <DataType value="vtkTable" />
        </DataTypeDomain>
      </InputProperty>
      <ProxyProperty command="SetAnnotations"
                     name="Annotations"></ProxyProperty>
      <OutputPort index="0"
                  name="Annotations" />
      <OutputPort index="1"
                  name="Domain Maps" />
      <OutputPort index="2"
                  name="Selection" />
    </SourceProxy>
  </ProxyGroup>

  <ProxyGroup name="misc">
    <DirectoryProxy class="vtkDirectory"
                    name="Directory"
                    processes="client|dataserver|renderserver">
    </DirectoryProxy>
    <DirectoryProxy class="vtkDirectory"
                    si_class="vtkSIDirectoryProxy"
                    name="ListDirectory"
                    processes="dataserver">

      <!-- Fake properties that will be filled by the vtkSIDirectoryProxy
           class in the pull request -->
      <StringVectorProperty name="FileList"      information_only="1"/>
      <StringVectorProperty name="DirectoryList" information_only="1"/>
    </DirectoryProxy>
    <Proxy class="vtkPVFilePathEncodingHelper"
           name="FilePathEncodingHelper">
      <IntVectorProperty command="MakeDirectory"
                         information_only="1"
                         name="MakeDirectory">
        <SimpleIntInformationHelper />
      </IntVectorProperty>
      <IntVectorProperty command="DeleteDirectory"
                         information_only="1"
                         name="DeleteDirectory">
        <SimpleIntInformationHelper />
      </IntVectorProperty>
      <IntVectorProperty command="OpenDirectory"
                         information_only="1"
                         name="OpenDirectory">
        <SimpleIntInformationHelper />
      </IntVectorProperty>
      <IntVectorProperty command="RenameDirectory"
                         information_only="1"
                         name="RenameDirectory">
        <SimpleIntInformationHelper />
      </IntVectorProperty>
      <IntVectorProperty command="IsDirectory"
                         information_only="1"
                         name="IsDirectory">
        <SimpleIntInformationHelper />
      </IntVectorProperty>
      <IntVectorProperty command="GetActiveFileIsReadable"
                         information_only="1"
                         name="ActiveFileIsReadable">
        <SimpleIntInformationHelper />
      </IntVectorProperty>
      <StringVectorProperty command="SetPath"
                            name="ActiveFileName"
                            number_of_elements="1">
        <Documentation>Set the filename we need to use.
        </Documentation>
      </StringVectorProperty>
      <StringVectorProperty command="SetSecondaryPath"
                            name="SecondaryFileName"
                            number_of_elements="1">
        <Documentation>Set the secondary filename we may
        need to use.</Documentation>
      </StringVectorProperty>

      <IntVectorProperty command="SetActiveGlobalId"
                            name="ActiveGlobalId"
                            default_values="0"
                            number_of_elements="1">
        <Documentation>Set the globalId of the vtkObject to use
        </Documentation>
      </IntVectorProperty>
    </Proxy>

    <Proxy class="vtkPVEnvironmentInformationHelper"
           name="EnvironmentInformationHelper">
      <StringVectorProperty command="SetVariable"
                            name="Variable" />
      <!-- End of FileInformationHelper -->
    </Proxy>
    <TimeKeeperProxy class="vtkSMTimeKeeper"
                     name="TimeKeeper"
                     processes="client">
      <Documentation>TimeKeeper is used to keep the pipeline time for the
      application. All views added to the timekeeper show the same time as that
      on the time keeper.</Documentation>
      <DoubleVectorProperty command="SetTime"
                            default_values="0"
                            name="Time"
                            number_of_elements="1"
                            state_ignored="1">
        <!-- state-ignored simply makes this property not be saved in the UndoRedo state -->
        <DoubleRangeDomain name="range" />
      </DoubleVectorProperty>
      <DoubleVectorProperty information_only="1"
                            repeatable="1"
                            name="TimestepValues">
        <Documentation>The timesteps currently available. This property does
        not have any information helper since vtkSMTimeKeeperProxy keeps this
        updated without any need to call
        UpdatePropertyInformation().</Documentation>
      </DoubleVectorProperty>
      <DoubleVectorProperty default_values="0.0 0.0"
                            information_only="1"
                            name="TimeRange"
                            number_of_elements="2"
                            state_ignored="1">
        <!-- state-ignored simply makes this property not be saved in the UndoRedo state -->
        <Documentation>This is the time range. It's possible that there are no
        TimestepValues but there is a valid TimeRange since some sources may
        provide continuous time.</Documentation>
      </DoubleVectorProperty>
      <StringVectorProperty default_values="Time"
                            information_only="1"
                            name="TimeLabel"
                            number_of_elements="1"
                            state_ignored="1">
        <!-- state-ignored simply makes this property not be saved in the UndoRedo state -->
        <Documentation>This is the string that is used as label to eventually
        replace "time" by something else such as "frequency" or any user
        specific label that the user want to set to use a 4th dimension that is
        not time.</Documentation>
      </StringVectorProperty>
      <ProxyProperty argument_type="SMProxy"
                     command="AddView"
                     name="Views"
                     remove_command="RemoveView"
                     repeatable="1">
        <Documentation>Views with their view time linked with this time
        keeper.</Documentation>
      </ProxyProperty>
      <ProxyProperty argument_type="SMProxy"
                     command="AddTimeSource"
                     name="TimeSources"
                     remove_command="RemoveTimeSource"
                     repeatable="1">
        <Documentation>List of proxies that provide time. TimestepValues
        property has a set of timesteps provided by all the sources added to
        this property alone.</Documentation>
      </ProxyProperty>
      <ProxyProperty argument_type="SMProxy"
                     command="AddSuppressedTimeSource"
                     name="SuppressedTimeSources"
                     remove_command="RemoveSuppressedTimeSource"
                     repeatable="1">
        <Documentation>List of proxies that are to suppressed i.e their times
          to be ignored.
        </Documentation>
      </ProxyProperty>
      <!-- End of TimeKeeper -->
    </TimeKeeperProxy>
    <PluginLoaderProxy class="vtkPVPluginLoader"
                       name="PluginLoader"
                       processes="dataserver|renderserver">
      <Documentation>Use this proxy to load a plugin remotely. This proxy has
      no properties that users can set. Only information-properties are
      provided that can be used to obtain various states.
      vtkSMPluginLoaderProxy has API that can be used to load plugins,
      configuration xmls etc.</Documentation>
      <IntVectorProperty command="GetLoaded"
                         information_only="1"
                         name="Loaded"></IntVectorProperty>
      <StringVectorProperty command="GetErrorString"
                            information_only="1"
                            name="ErrorString"></StringVectorProperty>
      <StringVectorProperty command="GetSearchPaths"
                            information_only="1"
                            name="SearchPaths"></StringVectorProperty>
      <!-- End of PluginLoader -->
    </PluginLoaderProxy>

    <Proxy class="vtkTimerLog"
           name="TimerLog"
           processes="client|dataserver|renderserver">
      <Documentation>This is a proxy used to control the timer log parameters
      on all processes. Note that since vtkTimerLog has loads of static ivar,
      most properties will affect all timer log instances.</Documentation>
      <Property command="ResetLog"
                name="ResetLog">
        <Documentation>Resets the log on all processes.</Documentation>
      </Property>
      <IntVectorProperty command="SetLogging"
                         default_values="none"
                         name="Enable">
        <EnumerationDomain name="enum" />
        <Documentation>Enables the timer-log on all processes.</Documentation>
      </IntVectorProperty>
      <IntVectorProperty command="SetMaxEntries"
                         default_values="none"
                         name="MaxEntries">
        <Documentation>Set the maximum length for the log on all
        processes.</Documentation>
      </IntVectorProperty>
      <!-- End of TimerLog -->
    </Proxy>

    <Proxy class="vtkExecutableRunner"
           name="ExecutableRunner"
           processes="client|dataserver|renderserver">
      <Documentation>Execute a process on server side.</Documentation>
      <Property command="Execute"
                name="Execute">
        <Documentation>Execute the given command on the master server process. Also reset the output strings.</Documentation>
      </Property>
      <DoubleVectorProperty command="SetTimeout"
                        default_values="5.0"
                        name="Timeout">
        <Documentation>Set the internal timeout of the runner.</Documentation>
      </DoubleVectorProperty>
      <StringVectorProperty command="SetCommand"
                        default_values=""
                        name="Command">
        <Documentation>Set the command to execute.</Documentation>
      </StringVectorProperty>
      <StringVectorProperty command="GetStdOut"
                        name="StdOut"
                        number_of_elements="1"
                        information_only="1">
        <Documentation>Get the standard output of the command.</Documentation>
      </StringVectorProperty>
      <StringVectorProperty command="GetStdErr"
                        name="StdErr"
                        number_of_elements="1"
                        information_only="1">
        <Documentation>Get the error output of the command.</Documentation>
      </StringVectorProperty>
      <IntVectorProperty command="GetReturnValue"
                        name="ReturnValue"
                        number_of_elements="1"
                        default_values="-1"
                        information_only="1">
        <Documentation>Get the return value of the command.</Documentation>
      </IntVectorProperty>
      <!-- End of ExecutableRunner -->
    </Proxy>

    <!-- ================================================================= -->
    <Proxy name="LogRecorder" class="vtkLogRecorder">
      <IntVectorProperty name="RankEnabled"
                         command="SetRankEnabled"
                         default_values="-1"
                         number_of_elements="1">
        <Documentation>Set rank to enable logging.</Documentation>
      </IntVectorProperty>
      <IntVectorProperty name="RankDisabled"
                         command="SetRankDisabled"
                         default_values="-1"
                         number_of_elements="1">
        <Documentation>Set rank to disable logging.</Documentation>
      </IntVectorProperty>
      <Property name="ClearLogs"
                command="ClearLogs">
        <Documentation>Invoke to clear logs.</Documentation>
      </Property>
      <IntVectorProperty name="Verbosity"
                         command="SetVerbosity"
                         default_values="-2"
                         number_of_elements="1">
        <Documentation>Set verbosity of desired log entries.</Documentation>
      </IntVectorProperty>
      <IntVectorProperty name="CategoryVerbosity"
                         command="SetCategoryVerbosity"
                         default_values="-1 0"
                         number_of_elements="2">
        <Documentation>Set the verbosity of a specific ParaView logging category.</Documentation>
      </IntVectorProperty>
      <Property name="ResetCategoryVerbosities"
                command="ResetCategoryVerbosities">
        <Documentation>Invoke to clear verbosity elevations.</Documentation>
      </Property>
    </Proxy>

    <!-- ==================================================================== -->
    <SourceProxy class="vtkRemoteWriterHelper" name="RemoteWriterHelper" processes="client|dataserver">
      <Documentation>
        Proxy used internally to help write data generated on the client-side on the data-server side.
      </Documentation>
      <IntVectorProperty name="OutputDestination"
                         command="SetOutputDestination"
                         number_of_elements="1"
                         default_values="0"
                         panel_visibility="never" />
      <ProxyProperty name="Writer" command="SetWriter" />
    </SourceProxy>

    <!-- ================================================================= -->
    <Proxy name="MultiBlockInspectorHelper">
      <Documentation>
        An internal proxy that is used by pqMultiBlockInspectorWidget
        to aid in creating appropriate UI for allowing users to inspect
        composite datasets and view/edit appearance properties.
      </Documentation>

      <InputProperty name="Input" />

      <StringVectorProperty name="Assembly"
        number_of_elements="1"
        default_values="Hierarchy">
        <DataAssemblyListDomain name="data_assembly_list">
          <RequiredProperties>
            <Property function="Input" name="Input" />
          </RequiredProperties>
        </DataAssemblyListDomain>
        <Documentation>
          Select which assembly is used when specify selectors
          to choose blocks to show for composite datasets.
        </Documentation>
      </StringVectorProperty>

      <StringVectorProperty name="Selectors"
        repeat_command="1"
        number_of_elements_per_command="1">
        <DataAssemblyDomain name="data_assembly">
          <RequiredProperties>
            <Property function="Input" name="Input" />
            <Property function="ActiveAssembly" name="Assembly" />
          </RequiredProperties>
        </DataAssemblyDomain>
        <Documentation>
          For composite datasets, specify selectors to limit the view
          to a chosen subset of blocks.
        </Documentation>
      </StringVectorProperty>

      <PropertyGroup label="AssemblyOnly" panel_widget="DataAssemblyEditor">
        <Property name="Assembly"  function="ActiveAssembly" />
        <Property name="Selectors" function="Selectors" />
        <Hints>
          <DataAssemblyPropertyWidget
            is_checkable="0"
            use_inputname_as_header="1" />
        </Hints>
      </PropertyGroup>
      <!-- end of MultiBlockInspectorHelper -->
    </Proxy>

    <!-- ================================================================= -->
    <Proxy name="FindDataHelper">
      <!-- Deliberately making the names match the names for properties
        on (sources, SelectionQuerySource) that way we can simply copy values
        to it -->
      <InputProperty name="Input"
        label="Data Producer"
        panel_widget="input_selector">
        <ProxyGroupDomain name="groups">
          <Group name="sources" />
          <Group name="filters" />
        </ProxyGroupDomain>
      </InputProperty>

      <IntVectorProperty name="ElementType"
        number_of_elements="1"
        default_values="0">
        <Documentation>
          Specify which type of mesh elements to select.
        </Documentation>
        <FieldDataDomain name="enum" use_element_types="1" />
        <Hints>
          <PropertyWidgetDecorator type="InputDataTypeDecorator"
            mode="enabled_state" name="vtkDataObject" />
        </Hints>
      </IntVectorProperty>

      <StringVectorProperty name="QueryString"
        number_of_elements="1"
        default_values=""
        panel_widget="selection_query">
        <Documentation>
          Specify the query string to use to find data.
        </Documentation>
        <SelectionQueryDomain name="domain">
          <RequiredProperties>
            <Property name="ElementType" function="FieldAssociation" />
            <Property name="Input" function="Input" />
          </RequiredProperties>
        </SelectionQueryDomain>
      </StringVectorProperty>

      <IntVectorProperty name="InsideOut"
        label="Invert Selection"
        number_of_elements="1"
        default_values="0"
        panel_visibility="never">
        <BooleanDomain name="bool" />
        <Documentation>
          Invert the selection. Find elements that **don't**
          match the chosen seletion criteria.
        </Documentation>
      </IntVectorProperty>

      <PropertyGroup label="Selection Criteria">
        <Property name="Input" />
        <Property name="ElementType" />
        <Property name="QueryString" />
        <Property name="InsideOut" />
      </PropertyGroup>

      <IntVectorProperty name="ProcessID"
        default_values="-1"
        number_of_elements="1">
        <Hints>
          <PropertyWidgetDecorator type="SessionTypeDecorator" mode="enabled_state"
            requires="parallel_data_server" />
        </Hints>
      </IntVectorProperty>

      <StringVectorProperty name="Assembly"
        number_of_elements="1"
        default_values="Hierarchy" >
        <DataAssemblyListDomain name="data_assembly">
          <RequiredProperties>
            <Property function="Input" name="Input" />
          </RequiredProperties>
        </DataAssemblyListDomain>
        <Documentation>
          Select which assembly is used when specify selectors
          to select blocks to extract.
        </Documentation>
      </StringVectorProperty>

      <StringVectorProperty name="Selectors"
        repeat_command="1"
        number_of_elements_per_command="1"
        number_of_elements="1"
        default_values="/">
        <DataAssemblyDomain name="data_assembly">
          <RequiredProperties>
            <Property function="Input" name="Input" />
            <Property function="ActiveAssembly" name="Assembly" />
          </RequiredProperties>
        </DataAssemblyDomain>
        <Documentation>
          For composite datasets, specify selectors to limit the view
          to a chosen subset of blocks.
        </Documentation>
      </StringVectorProperty>

      <PropertyGroup label="Selection Qualifiers" >
        <Property name="ProcessID" />
      </PropertyGroup>

      <PropertyGroup label="Block Selectors" panel_widget="DataAssemblyEditor">
        <Property name="Assembly" function="ActiveAssembly" />
        <Property name="Selectors" function="Selectors" />
        <Hints>
          <PropertyWidgetDecorator type="InputDataTypeDecorator"
            mode="visibility"
            name="vtkMultiBlockDataSet vtkPartitionedDataSetCollection" />
        </Hints>
      </PropertyGroup>

      <!-- end of FindDataHelper -->
    </Proxy>

    <Proxy name="DataMover" class="vtkPVDataMover" processes="client|dataserver">
      <Documentation>
        Internal proxy used to implement "FetchData". Do not use directly. API may change
        without warning.
      </Documentation>
      <ProxyProperty name="Producer" command="SetProducer" skip_valid_check="1"/>
      <IntVectorProperty name="PortNumber" default_values="0"
        number_of_elements="1" command="SetPortNumber" />
      <IntVectorProperty name="GatherOnAllRanks" command="SetGatherOnAllRanks"
        number_of_elements="1" default_values="0" />
      <IntVectorProperty name="SourceRanks"
        command="AddSourceRank"
        clean_command="ClearAllSourceRanks"
        number_of_elements_per_command="1"
        repeat_command="1" />
      <IntVectorProperty name="SkipEmptyDataSets"
         command="SetSkipEmptyDataSets"
         number_of_elements="1"
         default_values="0" />
      <Property name="Execute" command="Execute" />
    </Proxy>

    <!-- End of group "misc" -->
  </ProxyGroup>

  <ProxyGroup name="palettes">
    <!-- ================================================================= -->
    <Proxy label="Blue Gray Background (Default)" name="BlueGrayBackground">
      <DoubleVectorProperty default_values="1.0 1.0 1.0"
                            name="ForegroundColor"
                            number_of_elements="3"></DoubleVectorProperty>
      <DoubleVectorProperty default_values="0.32 0.34 0.43"
                            name="BackgroundColor"
                            number_of_elements="3"></DoubleVectorProperty>
      <DoubleVectorProperty default_values="1.0 1.0 1.0"
                            name="SurfaceColor"
                            number_of_elements="3"></DoubleVectorProperty>
      <DoubleVectorProperty default_values="1.0 1.0 1.0"
                            name="TextAnnotationColor"
                            number_of_elements="3"></DoubleVectorProperty>
      <DoubleVectorProperty default_values="1.0 0.0 1.0"
                            name="SelectionColor"
                            number_of_elements="3"></DoubleVectorProperty>
      <DoubleVectorProperty default_values="0.0 0.0 0.5"
                            name="EdgeColor"
                            number_of_elements="3"></DoubleVectorProperty>
      <IntVectorProperty    default_values="0"
                            name="BackgroundColorMode"
                            number_of_elements="1"></IntVectorProperty>
    </Proxy>

    <!-- ================================================================= -->
    <Proxy label = "White Background" name="WhiteBackground">
      <DoubleVectorProperty default_values="0.0 0.0 0.0"
                            name="ForegroundColor"
                            number_of_elements="3"></DoubleVectorProperty>
      <DoubleVectorProperty default_values="1.0 1.0 1.0"
                            name="BackgroundColor"
                            number_of_elements="3"></DoubleVectorProperty>
      <DoubleVectorProperty default_values="1.0 1.0 1.0"
                            name="SurfaceColor"
                            number_of_elements="3"></DoubleVectorProperty>
      <DoubleVectorProperty default_values="0.0 0.0 0.0"
                            name="TextAnnotationColor"
                            number_of_elements="3"></DoubleVectorProperty>
      <DoubleVectorProperty default_values="1.0 0.0 1.0"
                            name="SelectionColor"
                            number_of_elements="3"></DoubleVectorProperty>
      <DoubleVectorProperty default_values="0.0 0.0 0.5"
                            name="EdgeColor"
                            number_of_elements="3"></DoubleVectorProperty>
      <IntVectorProperty    default_values="0"
                            name="BackgroundColorMode"
                            number_of_elements="1"></IntVectorProperty>
      <!-- End of (palettes, Print) -->
    </Proxy>

    <!-- ================================================================= -->
    <Proxy label="Warm Gray Background" name="WarmGrayBackground">
      <DoubleVectorProperty default_values="1.0 1.0 1.0"
                            name="ForegroundColor"
                            number_of_elements="3"></DoubleVectorProperty>
      <DoubleVectorProperty default_values="0.29 0.27 0.26"
                            name="BackgroundColor"
                            number_of_elements="3"></DoubleVectorProperty>
      <DoubleVectorProperty default_values="1.0 1.0 1.0"
                            name="SurfaceColor"
                            number_of_elements="3"></DoubleVectorProperty>
      <DoubleVectorProperty default_values="1.0 1.0 1.0"
                            name="TextAnnotationColor"
                            number_of_elements="3"></DoubleVectorProperty>
      <DoubleVectorProperty default_values="1.0 0.0 1.0"
                            name="SelectionColor"
                            number_of_elements="3"></DoubleVectorProperty>
      <DoubleVectorProperty default_values="0.0 0.0 0.5"
                            name="EdgeColor"
                            number_of_elements="3"></DoubleVectorProperty>
      <IntVectorProperty    default_values="0"
                            name="BackgroundColorMode"
                            number_of_elements="1"></IntVectorProperty>
    </Proxy>

    <!-- ================================================================= -->
    <Proxy label="Neutral Gray Background" name="NeutralGrayBackground">
      <DoubleVectorProperty default_values="1.0 1.0 1.0"
                            name="ForegroundColor"
                            number_of_elements="3"></DoubleVectorProperty>
      <DoubleVectorProperty default_values="0.42 0.42 0.42"
                            name="BackgroundColor"
                            number_of_elements="3"></DoubleVectorProperty>
      <DoubleVectorProperty default_values="1.0 1.0 1.0"
                            name="SurfaceColor"
                            number_of_elements="3"></DoubleVectorProperty>
      <DoubleVectorProperty default_values="1.0 1.0 1.0"
                            name="TextAnnotationColor"
                            number_of_elements="3"></DoubleVectorProperty>
      <DoubleVectorProperty default_values="1.0 0.0 1.0"
                            name="SelectionColor"
                            number_of_elements="3"></DoubleVectorProperty>
      <DoubleVectorProperty default_values="0.0 0.0 0.5"
                            name="EdgeColor"
                            number_of_elements="3"></DoubleVectorProperty>
      <IntVectorProperty    default_values="0"
                            name="BackgroundColorMode"
                            number_of_elements="1"></IntVectorProperty>
    </Proxy>

    <!-- ================================================================= -->
    <Proxy label="Light Gray Background" name="LightGrayBackground">
      <DoubleVectorProperty default_values="1.0 1.0 1.0"
                            name="ForegroundColor"
                            number_of_elements="3"></DoubleVectorProperty>
      <DoubleVectorProperty default_values="0.46 0.44 0.42"
                            name="BackgroundColor"
                            number_of_elements="3"></DoubleVectorProperty>
      <DoubleVectorProperty default_values="1.0 1.0 1.0"
                            name="SurfaceColor"
                            number_of_elements="3"></DoubleVectorProperty>
      <DoubleVectorProperty default_values="1.0 1.0 1.0"
                            name="TextAnnotationColor"
                            number_of_elements="3"></DoubleVectorProperty>
      <DoubleVectorProperty default_values="1.0 0.0 1.0"
                            name="SelectionColor"
                            number_of_elements="3"></DoubleVectorProperty>
      <DoubleVectorProperty default_values="0.0 0.0 0.5"
                            name="EdgeColor"
                            number_of_elements="3"></DoubleVectorProperty>
      <IntVectorProperty    default_values="0"
                            name="BackgroundColorMode"
                            number_of_elements="1"></IntVectorProperty>
    </Proxy>

    <!-- ================================================================= -->
    <Proxy label="Black Background" name="BlackBackground">
      <DoubleVectorProperty default_values="1.0 1.0 1.0"
                            name="ForegroundColor"
                            number_of_elements="3"></DoubleVectorProperty>
      <DoubleVectorProperty default_values="0 0 0"
                            name="BackgroundColor"
                            number_of_elements="3"></DoubleVectorProperty>
      <DoubleVectorProperty default_values="1.0 1.0 1.0"
                            name="SurfaceColor"
                            number_of_elements="3"></DoubleVectorProperty>
      <DoubleVectorProperty default_values="1.0 1.0 1.0"
                            name="TextAnnotationColor"
                            number_of_elements="3"></DoubleVectorProperty>
      <DoubleVectorProperty default_values="1.0 0.0 1.0"
                            name="SelectionColor"
                            number_of_elements="3"></DoubleVectorProperty>
      <DoubleVectorProperty default_values="0.0 0.0 0.5"
                            name="EdgeColor"
                            number_of_elements="3"></DoubleVectorProperty>
      <IntVectorProperty    default_values="0"
                            name="BackgroundColorMode"
                            number_of_elements="1"></IntVectorProperty>
    </Proxy>

    <!-- ================================================================= -->
    <Proxy label="Gradient Background" name="GradientBackground">
      <DoubleVectorProperty default_values="1.0 1.0 1.0"
                            name="ForegroundColor"
                            number_of_elements="3"></DoubleVectorProperty>
      <DoubleVectorProperty default_values="0.32 0.34 0.43"
                            name="BackgroundColor"
                            number_of_elements="3"></DoubleVectorProperty>
      <DoubleVectorProperty default_values="0 0 0.16"
                            name="BackgroundColor2"
                            number_of_elements="3"></DoubleVectorProperty>
      <DoubleVectorProperty default_values="1.0 1.0 1.0"
                            name="SurfaceColor"
                            number_of_elements="3"></DoubleVectorProperty>
      <DoubleVectorProperty default_values="1.0 1.0 1.0"
                            name="TextAnnotationColor"
                            number_of_elements="3"></DoubleVectorProperty>
      <DoubleVectorProperty default_values="1.0 0.0 1.0"
                            name="SelectionColor"
                            number_of_elements="3"></DoubleVectorProperty>
      <DoubleVectorProperty default_values="0.0 0.0 0.5"
                            name="EdgeColor"
                            number_of_elements="3"></DoubleVectorProperty>
      <IntVectorProperty    default_values="1"
                            name="BackgroundColorMode"
                            number_of_elements="1"></IntVectorProperty>
    </Proxy>

    <!-- End of group "palettes" -->
  </ProxyGroup>

<!--
  <ProxyGroup name="coprocessing">
    <Proxy name="CatalystOptions">
      <Documentation>
        Catalyst options that affect the script execution when running in situ.
      </Documentation>

      <StringVectorProperty name="ExtractsOutputDirectory"
        number_of_elements="1"
        default_values="datasets">
        <Documentation>
          Choose directory under which to save all extracts.
        </Documentation>
        <FileListDomain name="directory" />
        <Hints>
          <UseDirectoryName />
          <AcceptAnyFile />
        </Hints>
      </StringVectorProperty>

      <IntVectorProperty name="GenerateCinemaSpecification"
        number_of_elements="1"
        default_values="0">
        <Documentation>
          Generate Cinema specification to summarize generated extracts in a file named
          **data.csv** under the **Extracts Output Directory**.
        </Documentation>
        <BooleanDomain name="bool" />
      </IntVectorProperty>

      <ProxyProperty name="GlobalTrigger">
        <ProxyListDomain name="proxy_list">
          <Group name="extract_triggers" default="TimeStep" />
        </ProxyListDomain>
        <Documentation>This property sets the parameters of the trigger.</Documentation>
      </ProxyProperty>

      <IntVectorProperty name="EnableCatalystLive"
        number_of_elements="1"
        default_values="0">
        <Documentation>
          Enable Catalyst Live which allows connecting to a Catalyst instrumented simulation
          using the ParaView GUI.
        </Documentation>
        <BooleanDomain name="bool" />
      </IntVectorProperty>

      <StringVectorProperty name="CatalystLiveURL"
        label="Catalyst Live URL"
        number_of_elements="1"
        default_values="localhost:22222">
        <Documentation>
          Specify the hostname (or IP address) and port for the node on which a ParaView client will
          be listening for Catalyst Live connections.
        </Documentation>
        <Hints>
          <PropertyWidgetDecorator type="GenericDecorator"
            mode="enabled_state"
            property="EnableCatalystLive"
            value="1" />
        </Hints>
      </StringVectorProperty>

      <ProxyProperty name="CatalystLiveTrigger" panel_visibility="advanced">
        <ProxyListDomain name="proxy_list">
          <Proxy group="extract_triggers" name="TimeStep" />
        </ProxyListDomain>
        <Hints>
          <PropertyWidgetDecorator type="GenericDecorator"
            mode="enabled_state"
            property="EnableCatalystLive"
            value="1" />
        </Hints>
      </ProxyProperty>

      <PropertyGroup label="Directories">
        <Property name="ExtractsOutputDirectory" />
      </PropertyGroup>

      <PropertyGroup label="Global Options">
        <Property name="GlobalTrigger" />
      </PropertyGroup>

      <PropertyGroup label="Catalyst Live Options">
        <Property name="EnableCatalystLive" />
        <Property name="CatalystLiveURL" />
        <Property name="CatalystLiveTrigger" />
      </PropertyGroup>

      <Hints>
        <UseDocumentationForLabels />
      </Hints>
    </Proxy>

    <Proxy name="CatalystGlobalOptions">
      <Documentation>
        A proxy used to maintain global Catalyst state. This, combined with the pipeline shape and a choice of writers and screenshots define what Catalyst will do with and produce from the data that the simulation gives to it.
      </Documentation>

      <IntVectorProperty name="EnableLive"
                         label="Enable Live Connections"
                         default_values="0"
                         number_of_elements="1">
        <BooleanDomain name="bool" />
        <Documentation>
          Makes the generated Catalyst Script check for Live connections.
        </Documentation>
      </IntVectorProperty>

      <IntVectorProperty name="LiveFrequency"
                         label="Live Frequency"
                         default_values="1"
                         number_of_elements="1"
                         panel_visibility="advanced">
        <IntRangeDomain name="range" min="1" />
        <Documentation>
          Catalyst will update live connections only every N'th timestep.
        </Documentation>
      </IntVectorProperty>

      <StringVectorProperty name="DataExtractsRootDirectory"
                            number_of_elements="1"
                            default_values="">
        <FileListDomain name="directory" />
        <Hints>
          <UseDirectoryName/>
          <AcceptAnyFile />
        </Hints>
        <Documentation>
          Defines a top level directory where data extracts are placed under.
        </Documentation>
      </StringVectorProperty>

      <StringVectorProperty name="ImageExtractsRootDirectory"
                            number_of_elements="1"
                            default_values="">
        <FileListDomain name="directory" />
        <Hints>
          <UseDirectoryName/>
          <BrowseLocalFileSystem />
          <AcceptAnyFile />
        </Hints>
        <Documentation>
          Defines a top level directory where image extracts are placed under.
        </Documentation>
      </StringVectorProperty>

      <IntVectorProperty name="FileNamePadding"
                         label="File Padding"
                         default_values="0"
                         number_of_elements="1">
        <IntRangeDomain name="range" min="0" max="16"/>
        <Documentation>
          Pads numerical filenames with leading zeros to be a consistent width.
        </Documentation>
      </IntVectorProperty>

      <IntVectorProperty name="RequestSpecificArrays"
                         default_values="0"
                         number_of_elements="1"
                         panel_visibility="advanced">
        <BooleanDomain name="bool" />
        <Documentation>
          Tells Catalyst to ask for only those arrays that are currently enabled on the source rather than all of them.
        </Documentation>
      </IntVectorProperty>

      <IntVectorProperty name="WriteStart"
                         label="Write Start"
                         default_values="0"
                         number_of_elements="1"
                         panel_visibility="advanced">
        <IntRangeDomain name="range" min="0" />
        <Documentation>
          Catalyst will skip this many startup cycles (possibly excepting ForceFirstOutput) before starting to write files.
        </Documentation>
      </IntVectorProperty>

      <IntVectorProperty name="ForceFirstOutput"
                         default_values="0"
                         number_of_elements="1"
                         panel_visibility="advanced">
        <BooleanDomain name="bool" />
        <Documentation>
          Tells Catalyst to always dump the first timestep it gets because it may take a long time to wait for WriteStart iterations.
        </Documentation>
      </IntVectorProperty>

      <IntVectorProperty name="RescaleToDataRange"
                         label="Rescale to Data Range"
                         default_values="0"
                         number_of_elements="1"
                         panel_visibility="advanced">
        <BooleanDomain name="bool" />
        <Documentation>
          Adjusts the lookup table dynamically as the simulation progresses.
        </Documentation>
      </IntVectorProperty>

      <IntVectorProperty name="SaveDTable"
                         label="Save Cinema D Table"
                         default_values="0"
                         number_of_elements="1">
        <BooleanDomain name="bool" />
        <Documentation>
          Creates a Cinema table that indexes all output files.
        </Documentation>
      </IntVectorProperty>

      <StringVectorProperty name="TimeInputFilePattern"
                         label="Input File Pattern"
                         number_of_elements="1"
                         default_values="infile_*.vti"
                         panel_visibility="advanced">
        <Documentation>
          A regular expression to that tells spatio-temporal scripts where to search for input files.
        </Documentation>
      </StringVectorProperty>

      <IntVectorProperty name="TimeCompartmentSize"
                         default_values="1"
                         number_of_elements="1"
                         panel_visibility="advanced">
        <IntRangeDomain name="range" min="1" max="1000" />
        <Documentation>
          The number of processes working together on a specific time step in a spatio-temporal style batch script.
        </Documentation>
      </IntVectorProperty>
      <PropertyGroup label="Spatio-Temporal Controls">
        <Property name="TimeInputFilePattern" />
        <Property name="TimeCompartmentSize" />
      </PropertyGroup>
    </Proxy>
  </ProxyGroup>
  -->

  <!-- Catalyst client only proxies, used to generate a coprocessing script
       and to modify writer filename and frequency through ParaView Live
  -->
  <!-- ================================================================= -->
  <ProxyGroup name="insitu_writer_parameters">
    <SourceProxy name="XMLPImageDataWriter" class="vtkPVNullSource"
      label="Parallel Image Data Writer">
      <InputProperty name="Input">
          <ProxyGroupDomain name="groups">
            <Group name="sources" />
            <Group name="filters" />
          </ProxyGroupDomain>
          <DataTypeDomain name="input_type" composite_data_supported="0">
            <DataType value="vtkImageData" />
          </DataTypeDomain>
          <Documentation>
            The input.
          </Documentation>
      </InputProperty>

      <StringVectorProperty name="FileName"
        number_of_elements="1"
        default_values="filename_%t.pvti">
     </StringVectorProperty>

      <IntVectorProperty name="WriteFrequency"
        number_of_elements="1"
        default_values="1">
        <IntRangeDomain name="range" min="1" />
      </IntVectorProperty>

      <IntVectorProperty name="PaddingAmount"
        number_of_elements="1"
        default_values="0">
        <IntRangeDomain name="range" min="0" />
      </IntVectorProperty>

     <Hints>
      <!-- TODO: this doesn't work yet -->
      <PipelineIcon name=":pqComponents/pqSave.svg" />

      <!-- This will help us when exporting the script state -->
      <WriterProxy group="writers" name="XMLPImageDataWriter" />
     </Hints>
     <!-- End of XMLPImageDataWriter -->
    </SourceProxy>

    <SourceProxy name="XMLPRectilinearGridWriter" class="vtkPVNullSource"
      label="Parallel Rectilinear Grid Writer">
      <InputProperty name="Input">
          <ProxyGroupDomain name="groups">
            <Group name="sources" />
            <Group name="filters" />
          </ProxyGroupDomain>
          <DataTypeDomain name="input_type" composite_data_supported="0">
            <DataType value="vtkRectilinearGrid" />
          </DataTypeDomain>
          <Documentation>
            The input.
          </Documentation>
      </InputProperty>

      <StringVectorProperty name="FileName"
        number_of_elements="1"
        default_values="filename_%t.pvtr">
     </StringVectorProperty>

      <IntVectorProperty name="WriteFrequency"
        number_of_elements="1"
        default_values="1">
        <IntRangeDomain name="range" min="1" />
      </IntVectorProperty>

      <IntVectorProperty name="PaddingAmount"
        number_of_elements="1"
        default_values="0">
        <IntRangeDomain name="range" min="0" />
      </IntVectorProperty>

     <Hints>
      <!-- TODO: this doesn't work yet -->
      <PipelineIcon name=":pqComponents/pqSave.svg" />

      <!-- This will help us when exporting the script state -->
      <WriterProxy group="writers" name="XMLPRectilinearGridWriter" />
     </Hints>
     <!-- End of XMLRectilinearGridWriter -->
    </SourceProxy>

    <SourceProxy name="XMLPStructuredGridWriter" class="vtkPVNullSource"
      label="Parallel Structured Grid Writer">
      <InputProperty name="Input">
          <ProxyGroupDomain name="groups">
            <Group name="sources" />
            <Group name="filters" />
          </ProxyGroupDomain>
          <DataTypeDomain name="input_type">
            <DataType value="vtkStructuredGrid" composite_data_supported="0"/>
          </DataTypeDomain>
          <Documentation>
            The input.
          </Documentation>
      </InputProperty>

      <StringVectorProperty name="FileName"
        number_of_elements="1"
        default_values="filename_%t.pvts">
     </StringVectorProperty>

      <IntVectorProperty name="WriteFrequency"
        number_of_elements="1"
        default_values="1">
        <IntRangeDomain name="range" min="1" />
      </IntVectorProperty>

      <IntVectorProperty name="PaddingAmount"
        number_of_elements="1"
        default_values="0">
        <IntRangeDomain name="range" min="0" />
      </IntVectorProperty>

     <Hints>
      <!-- TODO: this doesn't work yet -->
      <PipelineIcon name=":pqComponents/pqSave.svg" />

      <!-- This will help us when exporting the script state -->
      <WriterProxy group="writers" name="XMLPStructuredGridWriter" />
     </Hints>
     <!-- End of XMLPStructuredGridWriter -->
    </SourceProxy>

    <SourceProxy name="XMLPPolyDataWriter" class="vtkPVNullSource"
      label="Parallel PolyData Writer">
      <InputProperty name="Input">
          <ProxyGroupDomain name="groups">
            <Group name="sources" />
            <Group name="filters" />
          </ProxyGroupDomain>
          <DataTypeDomain name="input_type" composite_data_supported="0">
            <DataType value="vtkPolyData" />
          </DataTypeDomain>
          <Documentation>
            The input.
          </Documentation>
      </InputProperty>

      <StringVectorProperty name="FileName"
        number_of_elements="1"
        default_values="filename_%t.pvtp">
     </StringVectorProperty>

      <IntVectorProperty name="WriteFrequency"
        number_of_elements="1"
        default_values="1">
        <IntRangeDomain name="range" min="1" />
      </IntVectorProperty>

      <IntVectorProperty name="PaddingAmount"
        number_of_elements="1"
        default_values="0">
        <IntRangeDomain name="range" min="0" />
      </IntVectorProperty>

     <Hints>
      <!-- TODO: this doesn't work yet -->
      <PipelineIcon name=":pqComponents/pqSave.svg" />

      <!-- This will help us when exporting the script state -->
      <WriterProxy group="writers" name="XMLPPolyDataWriter" />
     </Hints>
     <!-- End of XMLPPolyDataWriter -->
    </SourceProxy>

    <SourceProxy name="XMLPUnstructuredGridWriter" class="vtkPVNullSource"
      label="Parallel UnstructuredGrid Writer">
      <InputProperty name="Input">
          <ProxyGroupDomain name="groups">
            <Group name="sources" />
            <Group name="filters" />
          </ProxyGroupDomain>
          <DataTypeDomain name="input_type">
            <DataType value="vtkUnstructuredGrid" composite_data_supported="0"/>
          </DataTypeDomain>
          <Documentation>
            The input.
          </Documentation>
      </InputProperty>

      <StringVectorProperty name="FileName"
        number_of_elements="1"
        default_values="filename_%t.pvtu">
     </StringVectorProperty>

      <IntVectorProperty name="WriteFrequency"
        number_of_elements="1"
        default_values="1">
        <IntRangeDomain name="range" min="1" />
      </IntVectorProperty>

      <IntVectorProperty name="PaddingAmount"
        number_of_elements="1"
        default_values="0">
        <IntRangeDomain name="range" min="0" />
      </IntVectorProperty>

     <Hints>
      <!-- TODO: this doesn't work yet -->
      <PipelineIcon name=":pqComponents/pqSave.svg" />

      <!-- This will help us when exporting the script state -->
      <WriterProxy group="writers" name="XMLPUnstructuredGridWriter" />
     </Hints>
     <!-- End of XMLPUnstructuredGridWriter -->
    </SourceProxy>

    <SourceProxy name="XMLMultiBlockDataWriter" class="vtkPVNullSource"
      label="Parallel MultiBlockDataSet Writer">
      <InputProperty name="Input">
          <ProxyGroupDomain name="groups">
            <Group name="sources" />
            <Group name="filters" />
          </ProxyGroupDomain>
          <DataTypeDomain name="input_type">
            <DataType value="vtkMultiBlockDataSet" />
          </DataTypeDomain>
          <Documentation>
            The input.
          </Documentation>
      </InputProperty>

      <StringVectorProperty name="FileName"
        number_of_elements="1"
        default_values="filename_%t.vtm">
     </StringVectorProperty>

      <IntVectorProperty name="WriteFrequency"
        number_of_elements="1"
        default_values="1">
        <IntRangeDomain name="range" min="1" />
      </IntVectorProperty>

      <IntVectorProperty name="PaddingAmount"
        number_of_elements="1"
        default_values="0">
        <IntRangeDomain name="range" min="0" />
      </IntVectorProperty>

     <Hints>
      <!-- TODO: this doesn't work yet -->
      <PipelineIcon name=":pqComponents/pqSave.svg" />

      <!-- This will help us when exporting the script state -->
      <WriterProxy group="writers" name="XMLMultiBlockDataWriter" />
     </Hints>
     <!-- End of XMLMultiBlockDataWriter -->
    </SourceProxy>

    <SourceProxy name="XMLHierarchicalBoxDataWriter" class="vtkPVNullSource"
      label="Parallel Hierarchical Box Data Writer">
      <InputProperty name="Input">
          <ProxyGroupDomain name="groups">
            <Group name="sources" />
            <Group name="filters" />
          </ProxyGroupDomain>
          <DataTypeDomain name="input_type">
            <DataType value="vtkOverlappingAMR" />
          </DataTypeDomain>
          <Documentation>
            The input.
          </Documentation>
      </InputProperty>

      <StringVectorProperty name="FileName"
        number_of_elements="1"
        default_values="filename_%t.vth">
     </StringVectorProperty>

      <IntVectorProperty name="WriteFrequency"
        number_of_elements="1"
        default_values="1">
        <IntRangeDomain name="range" min="1" />
      </IntVectorProperty>

      <IntVectorProperty name="PaddingAmount"
        number_of_elements="1"
        default_values="0">
        <IntRangeDomain name="range" min="0" />
      </IntVectorProperty>

     <Hints>
      <!-- TODO: this doesn't work yet -->
      <PipelineIcon name=":pqComponents/pqSave.svg" />

      <!-- This will help us when exporting the script state -->
      <WriterProxy group="writers" name="XMLHierarchicalBoxDataWriter" />
     </Hints>
     <!-- End of XMLHierarchicalBoxDataWriter -->
    </SourceProxy>

    <SourceProxy name="XMLUniformGridAMRWriter" class="vtkPVNullSource"
      label="Parallel Uniform Grid AMR Writer">
      <InputProperty name="Input">
          <ProxyGroupDomain name="groups">
            <Group name="sources" />
            <Group name="filters" />
          </ProxyGroupDomain>
          <DataTypeDomain name="input_type">
            <DataType value="vtkUniformGridAMR" />
          </DataTypeDomain>
          <Documentation>
            The input.
          </Documentation>
      </InputProperty>

      <StringVectorProperty name="FileName"
        number_of_elements="1"
        default_values="filename_%t.vth">
     </StringVectorProperty>

      <IntVectorProperty name="WriteFrequency"
        number_of_elements="1"
        default_values="1">
        <IntRangeDomain name="range" min="1" />
      </IntVectorProperty>

      <IntVectorProperty name="PaddingAmount"
        number_of_elements="1"
        default_values="0">
        <IntRangeDomain name="range" min="0" />
      </IntVectorProperty>

      <Hints>
      <!-- TODO: this doesn't work yet -->
      <PipelineIcon name=":pqComponents/pqSave.svg" />

      <!-- This will help us when exporting the script state -->
      <WriterProxy group="writers" name="XMLUniformGridAMRWriter" />
     </Hints>
     <!-- End of XMLUniformGridAMRWriter -->
    </SourceProxy>

    <SourceProxy name="CSVWriter" class="vtkPVNullSource"
      label="CSV Table Writer">
      <InputProperty name="Input">
          <ProxyGroupDomain name="groups">
            <Group name="sources" />
            <Group name="filters" />
          </ProxyGroupDomain>
          <DataTypeDomain name="input_type">
            <DataType value="vtkTable" />
          </DataTypeDomain>
          <Documentation>
            The input.
          </Documentation>
      </InputProperty>

      <StringVectorProperty name="FileName"
        number_of_elements="1"
        default_values="filename_%t.csv">
     </StringVectorProperty>

      <IntVectorProperty name="WriteFrequency"
        number_of_elements="1"
        default_values="1">
        <IntRangeDomain name="range" min="1" />
      </IntVectorProperty>

      <IntVectorProperty name="PaddingAmount"
        number_of_elements="1"
        default_values="0">
        <IntRangeDomain name="range" min="0" />
      </IntVectorProperty>

     <Hints>
      <!-- TODO: this doesn't work yet -->
      <PipelineIcon name=":pqComponents/pqSave.svg" />

      <!-- This will help us when exporting the script state -->
      <WriterProxy group="writers" name="CSVWriter" />
     </Hints>
     <!-- End of XMLHierarchicalBoxDataWriter -->
    </SourceProxy>

    <SourceProxy name="ExodusIIWriter" class="vtkPVNullSource"
                 label="ExodusII Writer">
      <InputProperty name="Input">
        <ProxyGroupDomain name="groups">
          <Group name="sources" />
          <Group name="filters" />
        </ProxyGroupDomain>
        <DataTypeDomain composite_data_supported="1"
                        name="input_type">
          <DataType value="vtkImageData" />
          <DataType value="vtkPolyData" />
          <DataType value="vtkUnstructuredGrid" />
        </DataTypeDomain>

        <Documentation>
          The input.
        </Documentation>
      </InputProperty>

      <StringVectorProperty name="FileName"
                            number_of_elements="1"
                            default_values="filename.e-s">
      </StringVectorProperty>
      <IntVectorProperty name="WriteFrequency"
        number_of_elements="1"
        default_values="1">
        <IntRangeDomain name="range" min="1" />
      </IntVectorProperty>

      <IntVectorProperty name="PaddingAmount"
        number_of_elements="1"
        default_values="5">
        <IntRangeDomain name="range" min="0" />
      </IntVectorProperty>

      <Hints>
        <!-- TODO: this doesn't work yet -->
        <PipelineIcon name=":pqComponents/pqSave.svg" />

        <!-- This will help us when exporting the script state -->
        <WriterProxy group="writers" name="ExodusIIWriter" />
      </Hints>
      <!-- End of ExodusIIWriter -->
    </SourceProxy>

    <SourceProxy name="HyperTreeGridWriter" class="vtkPVNullSource"
      label="Parallel HyperTreeGrid Writer">
      <InputProperty name="Input">
          <ProxyGroupDomain name="groups">
            <Group name="sources" />
            <Group name="filters" />
          </ProxyGroupDomain>
          <DataTypeDomain name="input_type">
            <DataType value="vtkHyperTreeGrid" />
          </DataTypeDomain>
          <Documentation>
            The input.
          </Documentation>
      </InputProperty>

      <StringVectorProperty name="FileName"
        number_of_elements="1"
        default_values="filename_%t.htg">
     </StringVectorProperty>

      <IntVectorProperty name="WriteFrequency"
        number_of_elements="1"
        default_values="1">
        <IntRangeDomain name="range" min="1" />
      </IntVectorProperty>

      <IntVectorProperty name="PaddingAmount"
        number_of_elements="1"
        default_values="0">
        <IntRangeDomain name="range" min="0" />
      </IntVectorProperty>

     <Hints>
      <!-- TODO: this doesn't work yet -->
      <PipelineIcon name=":pqComponents/pqSave.svg" />

      <!-- This will help us when exporting the script state -->
      <WriterProxy group="writers" name="HyperTreeGridWriter" />
     </Hints>
     <!-- End of HyperTreeGridWriter -->
    </SourceProxy>
  </ProxyGroup>

  <ProxyGroup name="pythontracing">
    <Proxy name="PythonTraceOptions">
      <Documentation>
        Options proxy used to prompt user for tracing options when starting trace.
      </Documentation>
      <IntVectorProperty name="PropertiesToTraceOnCreate"
        default_values="1"
        number_of_elements="1">
        <Documentation>
          Select which properties to save in trace
        </Documentation>
        <EnumerationDomain name="enum">
          <Entry text="all properties" value="0" />
          <Entry text="any *modified* properties" value="1" />
          <Entry text="only *user-modified* properites" value="2" />
        </EnumerationDomain>
      </IntVectorProperty>

      <IntVectorProperty name="FullyTraceSupplementalProxies"
        number_of_elements="1"
        default_values="0">
        <BooleanDomain name="bool"/>
        <Documentation>
          Fully trace supplemental objects, such as color maps, color bars, etc.
          when accessed the first time in trace.
        </Documentation>
      </IntVectorProperty>

      <IntVectorProperty name="SkipRenderingComponents"
        number_of_elements="1"
        default_values="0">
        <BooleanDomain name="bool" />
        <Documentation>
          Skip rendering components such as views, representations, etc.
        </Documentation>
      </IntVectorProperty>

      <IntVectorProperty name="ShowIncrementalTrace"
          default_values="0"
          number_of_elements="1">
          <BooleanDomain name="bool" />
          <Documentation>
            Show trace as it is being generated.
          </Documentation>
      </IntVectorProperty>

      <PropertyGroup label="General options">
        <Property name="PropertiesToTraceOnCreate" />
      </PropertyGroup>
      <PropertyGroup label="Color maps, color bar etc.">
        <Property name="FullyTraceSupplementalProxies" />
      </PropertyGroup>
      <PropertyGroup label="Miscellaneous">
        <Property name="SkipRenderingComponents" />
        <Property name="ShowIncrementalTrace" />
      </PropertyGroup>
      <Hints>
        <UseDocumentationForLabels />
      </Hints>
    </Proxy>

    <Proxy name="PythonStateOptions">
      <Documentation>
        Options proxy used to prompt user for python state options.
      </Documentation>
      <IntVectorProperty name="PropertiesToTraceOnCreate"
        default_values="1"
        number_of_elements="1">
        <Documentation>
          Select which properties to save in state
        </Documentation>
        <EnumerationDomain name="enum">
          <Entry text="all properties" value="0" />
          <Entry text="any *modified* properties" value="1" />
          <!--
              state cannot have this option since we don't know which properties
              are user-modified when saving state.
          <Entry text="only *user-modified* properites" value="2" />
          -->
        </EnumerationDomain>
      </IntVectorProperty>
      <IntVectorProperty name="SkipRenderingComponents"
        number_of_elements="1"
        default_values="0">
        <BooleanDomain name="bool" />
        <Documentation>
          Skip rendering components such as views, representations, etc.
        </Documentation>
      </IntVectorProperty>
      <IntVectorProperty name="SkipHiddenDisplayProperties"
          default_values="1"
          number_of_elements="1">
          <BooleanDomain name="bool"/>
          <Documentation>
            Skip displays properties/representations for elements hidden in a view.
          </Documentation>
        <Hints>
          <PropertyWidgetDecorator
            type="GenericDecorator"
            mode="enabled_state"
            property="SkipRenderingComponents" value="0">
          </PropertyWidgetDecorator>
        </Hints>
      </IntVectorProperty>
      <SubProxy>
        <Proxy name="SaveExtractsOptions" proxygroup="misc" proxyname="SaveAnimationExtracts"/>
        <ExposedProperties>
          <Property name="ExtractsOutputDirectory" />
        </ExposedProperties>
      </SubProxy>

      <PropertyGroup label="General Options">
        <Property name="PropertiesToTraceOnCreate" />
        <Property name="SkipRenderingComponents" />
        <Property name="SkipHiddenDisplayProperties" />
      </PropertyGroup>

      <PropertyGroup label="Save Extracts Options">
        <Property name="ExtractsOutputDirectory" />
      </PropertyGroup>

      <Hints>
        <UseDocumentationForLabels />
      </Hints>
    </Proxy>
  </ProxyGroup>

  <ProxyGroup name="seed_sources">
    <Proxy group="extended_sources"
           name="PointSource"/>
    <Proxy group="extended_sources"
           name="HighResLineSource"/>
  </ProxyGroup>
  <ProxyGroup name="integrators">
    <Proxy class="vtkRungeKutta2"
           name="RungeKutta2"
           label="Runge Kutta 2">
    </Proxy>
    <Proxy class="vtkRungeKutta4"
           name="RungeKutta4"
           label="Runge Kutta 4">
    </Proxy>
    <Proxy class="vtkRungeKutta45"
           name="RungeKutta45"
           label="Runge Kutta 4/5">
    </Proxy>
  </ProxyGroup>

  <ProxyGroup name="options">
    <LoadStateOptionsProxy class="vtkLoadStateOptions"
                           name="LoadStateOptions">
      <Documentation>
        Options proxy used to prompt user for options when loading pvsm state files.
      </Documentation>

      <IntVectorProperty name="LoadStateDataFileOptions"
        default_values="0"
        number_of_elements="1">
        <Documentation>
          Decide how to locate data files in loaded state.
        </Documentation>
        <EnumerationDomain name="enum">
          <Entry text="Use File Names From State" value="0" />
          <Entry text="Search files under specified directory" value="1" />
          <Entry text="Choose File Names" value="2" />
        </EnumerationDomain>
      </IntVectorProperty>

      <StringVectorProperty name="DataDirectory"
                            command="SetDataDirectory"
                            number_of_elements="1"
                            default_values="">
        <FileListDomain name="files" />
        <Documentation>
          Directory to look for data files under. Defaults to the state file's directory.
        </Documentation>
        <Hints>
          <PropertyWidgetDecorator type="GenericDecorator" mode="visibility" property="LoadStateDataFileOptions" value="1">
          </PropertyWidgetDecorator>
          <UseDirectoryName />
        </Hints>
      </StringVectorProperty>
      <IntVectorProperty name="OnlyUseFilesInDataDirectory" number_of_elements="1" default_values="0">
        <BooleanDomain name="bool"/>
        <Documentation>
          When this is set to true, 'Search files under specified directory' mode will fail when a file is not in the
          data directory rather than defaulting back to the absolute path in the state file.
        </Documentation>
        <Hints>
          <PropertyWidgetDecorator type="GenericDecorator" mode="visibility" property="LoadStateDataFileOptions" value="1">
          </PropertyWidgetDecorator>
        </Hints>
      </IntVectorProperty>
    </LoadStateOptionsProxy>
  </ProxyGroup>

  <!-- ================================================================= -->
  <ProxyGroup name="insitu2_misc">
    <Proxy name="CDB" processes="client">
      <Documentation>
        Global setup for Cinema Image Database output.
      </Documentation>
      <IntVectorProperty name="DeferredRendering"
        number_of_elements="1"
        default_values="0">
        <Documentation>
          Deferred rendering cabability level for the database. None means that static images are created at each viewpoint (aka 'SpecA'). Composeable (aka 'SpecB') adds ability to hide/show individual objects. Recolorable (aka 'Spec C') adds colormap editability.
        </Documentation>
        <EnumerationDomain name="enum">
          <Entry text="None" value="0" />
          <Entry text="Composable" value="1" />
          <Entry text="Composable+Recolorable" value="2" />
        </EnumerationDomain>
      </IntVectorProperty>
      <IntVectorProperty name="CameraModel"
        number_of_elements="1"
        default_values="0">
        <Documentation>
          Camera capability level for the database. Static means the camera is fixed, phi-theta is an inward facing rectilinear sampling over a sphere, inward pose is similar but maintains samples more sparsely.
        </Documentation>
        <EnumerationDomain name="enum">
          <Entry text="Static" value="0" />
          <Entry text="Phi-Theta" value="1" />
          <Entry text="Inward Pose" value="2" />
        </EnumerationDomain>
      </IntVectorProperty>
      <StringVectorProperty name="TrackObject"
        number_of_elements="1"
        default_values="None">
        <Documentation>
          Name of a pipeline object to orient the camera with. Only meaningful for Pose camera.
        </Documentation>
        <Hints>
          <PropertyWidgetDecorator type="CompositeDecorator">
            <Expression type="and">
              <Expression type="or">
                <PropertyWidgetDecorator type="GenericDecorator" mode="visibility" property="DeferredRendering" value="1" />
                <PropertyWidgetDecorator type="GenericDecorator" mode="visibility" property="DeferredRendering" value="2" />
              </Expression>
              <Expression type="or">
                <PropertyWidgetDecorator type="GenericDecorator" mode="visibility" property="CameraModel" value="2" />
                <PropertyWidgetDecorator type="GenericDecorator" mode="visibility" property="CameraModel" value="3" />
              </Expression>
            </Expression>
          </PropertyWidgetDecorator>
        </Hints>
      </StringVectorProperty>
      <IntVectorProperty name="Camera Phi Divisions"
        number_of_elements="1"
        default_values="12">
        <Documentation>
          Specify number of longitudinal divisions. Only meaningful for Phi-Theta and Pose cameras.
        </Documentation>
        <IntRangeDomain name="range" min="1" max="64" />
      </IntVectorProperty>
      <IntVectorProperty name="Camera Theta Divisions"
        number_of_elements="1"
        default_values="7">
        <Documentation>
          Specify number of latitudinal divisions. Only meaningful for Phi-Theta and Pose cameras.
        </Documentation>
        <IntRangeDomain name="range" min="1" max="32" />
      </IntVectorProperty>
      <IntVectorProperty name="Camera Roll Divisions"
        number_of_elements="1"
        default_values="1">
        <Documentation>
          Specify number of roll divisions. Only meaningful for Pose camera.
        </Documentation>
        <IntRangeDomain name="range" min="1" max="64" />
        <Hints>
          <PropertyWidgetDecorator type="CompositeDecorator">
            <Expression type="and">
              <Expression type="or">
                <PropertyWidgetDecorator type="GenericDecorator" mode="visibility" property="DeferredRendering" value="1" />
                <PropertyWidgetDecorator type="GenericDecorator" mode="visibility" property="DeferredRendering" value="2" />
              </Expression>
              <Expression type="or">
                <PropertyWidgetDecorator type="GenericDecorator" mode="visibility" property="CameraModel" value="2" />
                <PropertyWidgetDecorator type="GenericDecorator" mode="visibility" property="CameraModel" value="3" />
              </Expression>
            </Expression>
          </PropertyWidgetDecorator>
        </Hints>
      </IntVectorProperty>
      <Hints>
        <FormatOptions extensions="cdb"
          file_description="Cinema Image Exports" />
      </Hints>
    </Proxy>
  </ProxyGroup>

</ServerManagerConfiguration>
