[gegl] Fix many typos in source code comments.



commit a2c89719c903b56389c0da4a9bbd25caae0f52b1
Author: Richard Kreckel <kreckel in terlu de>
Date:   Fri Nov 17 09:33:45 2017 +0100

    Fix many typos in source code comments.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=790480

 bin/gegl-path-smooth.c                          |    2 +-
 bin/gegl-path-spiro.c                           |    2 +-
 docs/build.txt                                  |    2 +-
 docs/operation-api.txt                          |    2 +-
 docs/source-overview.txt                        |    6 +++---
 gegl/buffer/gegl-buffer.h                       |    6 +++---
 gegl/gegl-instrument.h                          |    2 +-
 gegl/gegl-random.h                              |    4 ++--
 gegl/gegl-xml.c                                 |    2 +-
 gegl/graph/gegl-node.c                          |    2 +-
 gegl/graph/gegl-node.h                          |    8 ++++----
 gegl/graph/gegl-pad.c                           |    2 +-
 gegl/opencl/gegl-cl-color.h                     |    4 ++--
 gegl/opencl/gegl-cl-introspection-support.h     |    2 +-
 gegl/operation/gegl-operation-context-private.h |    2 +-
 gegl/operation/gegl-operation-sink.h            |    2 +-
 gegl/operation/gegl-operation.c                 |    2 +-
 gegl/process/gegl-graph-traversal.c             |    2 +-
 gegl/process/gegl-processor.c                   |    4 ++--
 gegl/property-types/gegl-color.c                |    2 +-
 gegl/property-types/gegl-curve.c                |    2 +-
 gegl/property-types/gegl-curve.h                |    2 +-
 libs/rgbe/rgbe.c                                |    2 +-
 operations/common/distance-transform.c          |    2 +-
 seamless-clone/sc-context.c                     |    2 +-
 seamless-clone/sc-context.h                     |    2 +-
 seamless-clone/sc-outline.c                     |    6 +++---
 seamless-clone/sc-sample.c                      |    2 +-
 tests/simple/test-misc.c                        |    2 +-
 29 files changed, 41 insertions(+), 41 deletions(-)
---
diff --git a/bin/gegl-path-smooth.c b/bin/gegl-path-smooth.c
index a4663ad..dba228c 100644
--- a/bin/gegl-path-smooth.c
+++ b/bin/gegl-path-smooth.c
@@ -115,7 +115,7 @@ static GeglPathList *gegl_path_smooth_flatten (GeglPathList *original)
   gboolean is_smooth_path = TRUE;
   gint count;
   gint i;
-  /* first we do a run through the path checking it's length
+  /* first we do a run through the path checking its length
    * and determining whether we can flatten the incoming path
    */
   for (count=0,iter = original; iter; iter=iter->next)
diff --git a/bin/gegl-path-spiro.c b/bin/gegl-path-spiro.c
index 561bcd1..2d5b463 100644
--- a/bin/gegl-path-spiro.c
+++ b/bin/gegl-path-spiro.c
@@ -72,7 +72,7 @@ static GeglPathList *gegl_path_spiro_flatten (GeglPathList *original)
   gboolean closed = FALSE;
   gint count;
   gint i;
-  /* first we do a run through the path checking it's length
+  /* first we do a run through the path checking its length
    * and determining whether we can flatten the incoming path
    */
   for (count=0,iter = original; iter; iter=iter->next)
diff --git a/docs/build.txt b/docs/build.txt
index 7515dc4..4fae845 100644
--- a/docs/build.txt
+++ b/docs/build.txt
@@ -1,6 +1,6 @@
 Building from source
 --------------------
-GEGL and it's dependencies are known to work on Linux based systems, windows
+GEGL and its dependencies are known to work on Linux based systems, windows
 with msys/mingw, and probably other platforms.
 
 Download
diff --git a/docs/operation-api.txt b/docs/operation-api.txt
index 98d6beb..cceb06e 100644
--- a/docs/operation-api.txt
+++ b/docs/operation-api.txt
@@ -40,7 +40,7 @@ link:gegl-operation-point-composer.h.html[GeglOperationPointComposer]::
 
 link:gegl-operation-source.h.html[GeglOperationSource]::
     Operations used as render sources or file loaders, the process method
-    receives a GeglBuffer to write it's output into
+    receives a GeglBuffer to write its output into
 
 link:gegl-operation-point-render.h.html[GeglOperationPointRender]::
     The point-render base class is a specialized source operation, where the
diff --git a/docs/source-overview.txt b/docs/source-overview.txt
index 0f27fd2..ad16828 100644
--- a/docs/source-overview.txt
+++ b/docs/source-overview.txt
@@ -15,11 +15,11 @@ Source overview
   │   │                  - read/write rectangular region as linear buffer for
   │   │                    any babl supported pixel format.
   │   ├──graph          graph storage and manipulation code.
-  │   ├──module         The code to load plug-ins located in a colon seperated
+  │   ├──module         The code to load plug-ins located in a colon separated
   │   │                 list of paths from the environment variable GEGL_PATH
   │   ├──opencl         The GEGL base class for OpenCL.
   │   ├──operation      The GeglOperation base class, and subclasses that act
-  │   │                 as baseclasses for implementeting different types of
+  │   │                 as baseclasses for implementing different types of
   │   │                 operation plug-ins.
   │   ├──process        The code controlling data processing.
   │   └──property-types specialized classes/paramspecs for GeglOperation
@@ -40,7 +40,7 @@ Source overview
   │   ├──external      Operations with external dependencies.
   │   ├──common        Other operations.
   │   └──workshop      Works in progress, (you must pass --enable-workshop
-  │       │            when configurig to build these by default, you can enter
+  │       │            when configuring to build these by default, you can enter
   │       │            the directory manually and type make && sudo make install
   │       │            as well.
   │       │
diff --git a/gegl/buffer/gegl-buffer.h b/gegl/buffer/gegl-buffer.h
index 83c4f0d..b026e3e 100644
--- a/gegl/buffer/gegl-buffer.h
+++ b/gegl/buffer/gegl-buffer.h
@@ -127,7 +127,7 @@ GeglBuffer *     gegl_buffer_load             (const gchar         *path);
  * gegl_buffer_flush:
  * @buffer: a #GeglBuffer
  *
- * Flushes all unsaved data to disk, this is not neccesary for shared
+ * Flushes all unsaved data to disk, this is not necessary for shared
  * geglbuffers opened with gegl_buffer_open since they auto-sync on writes.
  */
 void            gegl_buffer_flush             (GeglBuffer          *buffer);
@@ -165,7 +165,7 @@ const GeglRectangle * gegl_buffer_get_extent  (GeglBuffer *buffer);
  * operation is valid on any buffer, reads on subbuffers outside the master
  * buffer's extent are at the moment undefined.
  *
- * Returns TRUE if the change of extent was succesful.
+ * Returns TRUE if the change of extent was successful.
  */
 gboolean          gegl_buffer_set_extent      (GeglBuffer          *buffer,
                                                const GeglRectangle *extent);
@@ -177,7 +177,7 @@ gboolean          gegl_buffer_set_extent      (GeglBuffer          *buffer,
  *
  * Changes the size and position of the abyss rectangle of a buffer.
  *
- * Returns TRUE if the change of abyss was succesful.
+ * Returns TRUE if the change of abyss was successful.
  */
 gboolean          gegl_buffer_set_abyss      (GeglBuffer          *buffer,
                                               const GeglRectangle *abyss);
diff --git a/gegl/gegl-instrument.h b/gegl/gegl-instrument.h
index 7dd6cb5..430363a 100644
--- a/gegl/gegl-instrument.h
+++ b/gegl/gegl-instrument.h
@@ -37,7 +37,7 @@ void gegl_instrument_enable   (void);
   }
 
 /* store a timing instrumentation (parent is expected to exist,
- * and to keep it's own record of the time-slice reported) */
+ * and to keep its own record of the time-slice reported) */
 #define gegl_instrument(parent, scale, usecs) \
   { if (gegl_instrument_enabled) { \
 real_gegl_instrument (parent, scale, usecs); \
diff --git a/gegl/gegl-random.h b/gegl/gegl-random.h
index 72c2e69..037bfa9 100644
--- a/gegl/gegl-random.h
+++ b/gegl/gegl-random.h
@@ -86,7 +86,7 @@ void gegl_random_set_seed (GeglRandom *rand,
  * @n: number no (each x,y coordinate provides its own sequence of
  * numbers
  * @min: minimum value
- * @max: maxmimum value
+ * @max: maximum value
  *
  * Return a random floating point number in the range specified,
  * for the given x,y coordinates and GeglRandom provided, if multiple different
@@ -109,7 +109,7 @@ gfloat gegl_random_float_range (const GeglRandom *rand,
  * @n: number no (each x,y coordinate provides its own sequence of
  * numbers
  * @min: minimum value
- * @max: maxmimum value+1
+ * @max: maximum value+1
  *
  * Return a random integer point number in the range specified,
  * for the given x,y coordinates and GeglRandom provided, if multiple different
diff --git a/gegl/gegl-xml.c b/gegl/gegl-xml.c
index c0962ec..e0eb05c 100644
--- a/gegl/gegl-xml.c
+++ b/gegl/gegl-xml.c
@@ -252,7 +252,7 @@ set_clone_prop_as_well:
         }
       else
         {
-          g_warning ("operation desired unknown parapspec type for %s",
+          g_warning ("operation desired unknown paramspec type for %s",
                      param_name);
         }
     }
diff --git a/gegl/graph/gegl-node.c b/gegl/graph/gegl-node.c
index d8765fc..bcb46a3 100644
--- a/gegl/graph/gegl-node.c
+++ b/gegl/graph/gegl-node.c
@@ -589,7 +589,7 @@ gegl_node_connect_to (GeglNode    *source,
 }
 
 /* the implementation of gegl_node_invalidated() can use either GeglRegions
- * or GeglRectangles (bounding boxes) for calculating the invadilated areas
+ * or GeglRectangles (bounding boxes) for calculating the invalidated areas
  * of the nodes in the graph.  The GeglRegion version is more granular,
  * invalidating exact areas, but has higher overhead, while the GeglRectangle
  * version in more coarse, potentially over-invalidating (but never under-
diff --git a/gegl/graph/gegl-node.h b/gegl/graph/gegl-node.h
index 7b8a660..16dda88 100644
--- a/gegl/graph/gegl-node.h
+++ b/gegl/graph/gegl-node.h
@@ -109,7 +109,7 @@ GeglNode    * gegl_node_new_child        (GeglNode      *parent,
  *
  * Makes a connection between the pads of two nodes.
  *
- * Returns TRUE if the connection was succesfully made.
+ * Returns TRUE if the connection was successfully made.
  */
 
 gboolean      gegl_node_connect_from     (GeglNode      *sink,
@@ -126,7 +126,7 @@ gboolean      gegl_node_connect_from     (GeglNode      *sink,
  *
  * Makes a connection between the pads of two nodes.
  *
- * Returns TRUE if the connection was succesfully made.
+ * Returns TRUE if the connection was successfully made.
  */
 gboolean      gegl_node_connect_to       (GeglNode      *source,
                                           const gchar   *output_pad_name,
@@ -308,7 +308,7 @@ void          gegl_node_blit_buffer      (GeglNode            *node,
  * @sink_node: a #GeglNode without outputs.
  *
  * Render a composition. This can be used for instance on a node with a "png-save"
- * operation to render all neccesary data, and make it be written to file. This
+ * operation to render all necessary data, and make it be written to file. This
  * function wraps the usage of a GeglProcessor in a single blocking function
  * call. If you need a non-blocking operation, then make a direct use of
  * #gegl_processor_work. See #GeglProcessor.
@@ -580,7 +580,7 @@ gchar      ** gegl_node_list_output_pads (GeglNode      *node);
  *
  * Creates a new processing node that performs the specified operation.
  * All properties of the operation will have their default values. This
- * is included as an addiiton to #gegl_node_new_child in the public API to have
+ * is included as an addition to #gegl_node_new_child in the public API to have
  * a non varargs entry point for bindings as well as sometimes simpler more
  * readable code.
  *
diff --git a/gegl/graph/gegl-pad.c b/gegl/graph/gegl-pad.c
index 02754bd..33b38eb 100644
--- a/gegl/graph/gegl-pad.c
+++ b/gegl/graph/gegl-pad.c
@@ -139,7 +139,7 @@ gegl_pad_disconnect (GeglPad        *sink,
 
   g_assert (sink == gegl_connection_get_sink_pad (connection));
   /*
-   *  this happends with ghostpads sometimes,. maybe check for that being
+   *  this happens with ghostpads sometimes,. maybe check for that being
    *  the case, and then do the assert, or bake it into the assert?
    *
      g_assert (source == gegl_connection_get_source_pad (connection));
diff --git a/gegl/opencl/gegl-cl-color.h b/gegl/opencl/gegl-cl-color.h
index 35d14d5..aebb2a3 100644
--- a/gegl/opencl/gegl-cl-color.h
+++ b/gegl/opencl/gegl-cl-color.h
@@ -38,12 +38,12 @@ gboolean      gegl_cl_color_compile_kernels (void);
 gboolean      gegl_cl_color_babl (const Babl *buffer_format,
                                   size_t     *bytes);
 
-/** Return TRUE if the convertion is OpenCL supported */
+/** Return TRUE if the conversion is OpenCL supported */
 GeglClColorOp gegl_cl_color_supported (const Babl *in_format,
                                        const Babl *out_format);
 
 /** Copy and convert size pixels from in_tex to aux_tex.
- *  Return TRUE if succesfull.
+ *  Return TRUE if successful.
  */
 gboolean      gegl_cl_color_conv (cl_mem        in_tex,
                                   cl_mem        aux_tex,
diff --git a/gegl/opencl/gegl-cl-introspection-support.h b/gegl/opencl/gegl-cl-introspection-support.h
index c0ee928..a3afeeb 100644
--- a/gegl/opencl/gegl-cl-introspection-support.h
+++ b/gegl/opencl/gegl-cl-introspection-support.h
@@ -1,7 +1,7 @@
 
  /**
  * gegl_cl_init:
- * @error: Any error that occured
+ * @error: Any error that occurred
  *
  * Initialize and enable OpenCL, calling this function again
  * will re-enable OpenCL if it has been disabled.
diff --git a/gegl/operation/gegl-operation-context-private.h b/gegl/operation/gegl-operation-context-private.h
index 35c8024..e468f7b 100644
--- a/gegl/operation/gegl-operation-context-private.h
+++ b/gegl/operation/gegl-operation-context-private.h
@@ -45,7 +45,7 @@ struct _GeglOperationContext
 
 
   gboolean       cached;       /* true if the cache can be used directly, and
-                                  recomputation of inputs is unneccesary) */
+                                  recomputation of inputs is unnecessary) */
 
   gint           refs;         /* set to number of nodes that depends on it
                                   before evaluation begins, each time data is
diff --git a/gegl/operation/gegl-operation-sink.h b/gegl/operation/gegl-operation-sink.h
index de10d33..9eb458c 100644
--- a/gegl/operation/gegl-operation-sink.h
+++ b/gegl/operation/gegl-operation-sink.h
@@ -46,7 +46,7 @@ struct _GeglOperationSinkClass
 {
   GeglOperationClass parent_class;
 
-  /* Wether or not the sink operation needs full input data in one go
+  /* Whether or not the sink operation needs full input data in one go
    * in order to be able to do its processing
    */
   gboolean              needs_full;
diff --git a/gegl/operation/gegl-operation.c b/gegl/operation/gegl-operation.c
index 53efa4d..2ce406f 100644
--- a/gegl/operation/gegl-operation.c
+++ b/gegl/operation/gegl-operation.c
@@ -173,7 +173,7 @@ gegl_operation_process (GeglOperation        *operation,
 }
 
 /* Calls an extending class' get_bound_box method if defined otherwise
- * just returns a zero-initiliased bouding box
+ * just returns a zero-initialised bounding box
  */
 GeglRectangle
 gegl_operation_get_bounding_box (GeglOperation *self)
diff --git a/gegl/process/gegl-graph-traversal.c b/gegl/process/gegl-graph-traversal.c
index 22c4c5a..36f0088 100644
--- a/gegl/process/gegl-graph-traversal.c
+++ b/gegl/process/gegl-graph-traversal.c
@@ -464,7 +464,7 @@ gegl_graph_process (GeglGraphTraversal *path,
               context->level = level;
 
               /* note: this hard-coding of "output" makes some more custom
-               * graph topologies harder than neccesary.
+               * graph topologies harder than necessary.
                */
               gegl_operation_process (operation, context, "output", &context->need_rect, context->level);
               operation_result = GEGL_BUFFER (gegl_operation_context_get_object (context, "output"));
diff --git a/gegl/process/gegl-processor.c b/gegl/process/gegl-processor.c
index 477fe38..dce16c2 100644
--- a/gegl/process/gegl-processor.c
+++ b/gegl/process/gegl-processor.c
@@ -432,7 +432,7 @@ render_rectangle (GeglProcessor *processor)
   const Babl *format   = NULL;
   gint        pxsize;
 
-  /* Retreive the cache if the processor's node is not buffered if it's
+  /* Retrieve the cache if the processor's node is not buffered if its
    * operation is a sink and it doesn't use the full area  */
   buffered = !(GEGL_IS_OPERATION_SINK(processor->real_node->operation) &&
                !gegl_operation_sink_needs_full (processor->real_node->operation));
@@ -512,7 +512,7 @@ render_rectangle (GeglProcessor *processor)
               buf = g_malloc (dr->width * dr->height * pxsize);
               g_assert (buf);
 
-              /* FIXME: Check if the node caches naturaly, if so the buffer_set call isn't needed */
+              /* FIXME: Check if the node caches naturally, if so the buffer_set call isn't needed */
 
               /* do the image calculations using the buffer */
               gegl_node_blit (processor->input, 1.0/(1<<processor->level),
diff --git a/gegl/property-types/gegl-color.c b/gegl/property-types/gegl-color.c
index 125cece..5da2315 100644
--- a/gegl/property-types/gegl-color.c
+++ b/gegl/property-types/gegl-color.c
@@ -171,7 +171,7 @@ parse_float_argument_list (float rgba_color[4],
         }
     }
 
-  /* Make sure there is a traling ')' and that that is the last token. */
+  /* Make sure there is a trailing ')' and that that is the last token. */
   if (g_scanner_get_next_token (scanner) == G_TOKEN_RIGHT_PAREN &&
       g_scanner_get_next_token (scanner) == G_TOKEN_EOF)
     {
diff --git a/gegl/property-types/gegl-curve.c b/gegl/property-types/gegl-curve.c
index 0a58f07..9f81843 100644
--- a/gegl/property-types/gegl-curve.c
+++ b/gegl/property-types/gegl-curve.c
@@ -47,7 +47,7 @@ struct _GeglCurvePoint
 
 struct _GeglCurvePrivate
 {
-  gdouble          y_min;  /*< should definitly be construct properties */
+  gdouble          y_min;  /*< should definitely be construct properties */
   gdouble          y_max;
   GArray          *points;
   gboolean         need_recalc;
diff --git a/gegl/property-types/gegl-curve.h b/gegl/property-types/gegl-curve.h
index 3d1e644..cc7ba2d 100644
--- a/gegl/property-types/gegl-curve.h
+++ b/gegl/property-types/gegl-curve.h
@@ -165,7 +165,7 @@ gdouble      gegl_curve_calc_value     (GeglCurve   *curve,
  * gegl_curve_calc_values: (skip)
  * @curve: a #GeglCurve.
  * @x_min: the minimum value to compute for
- * @x_max: the maxmimum value to compute for
+ * @x_max: the maximum value to compute for
  * @num_samples: number of samples to calculate
  * @xs: return location for the x coordinates
  * @ys: return location for the y coordinates
diff --git a/libs/rgbe/rgbe.c b/libs/rgbe/rgbe.c
index 9b6628d..10e4585 100644
--- a/libs/rgbe/rgbe.c
+++ b/libs/rgbe/rgbe.c
@@ -443,7 +443,7 @@ rgbe_header_read_orientation (rgbe_file *file,
           goto cleanup;
 
   /* The termination check is simplified to a space check, as each set of
-   * axis parameters are space seperated. We double check for a newline next
+   * axis parameters are space separated. We double check for a newline next
    * though.
    */
   } while (*data++ == ' ');
diff --git a/operations/common/distance-transform.c b/operations/common/distance-transform.c
index 9ccc6f3..5572d02 100644
--- a/operations/common/distance-transform.c
+++ b/operations/common/distance-transform.c
@@ -292,7 +292,7 @@ binary_dt_1st_pass (GeglOperation *operation,
  * @param output the output buffer.
  * @param result the region of interest.
  * @param level the level of detail
- * @return True, if the filter was successfull applied.
+ * @return True, if the filter was successfully applied.
  */
 static gboolean
 process (GeglOperation       *operation,
diff --git a/seamless-clone/sc-context.c b/seamless-clone/sc-context.c
index 0837025..985a240 100644
--- a/seamless-clone/sc-context.c
+++ b/seamless-clone/sc-context.c
@@ -421,7 +421,7 @@ gegl_sc_context_sample_color_difference (GeglScRenderInfo *info,
   GeglScColor bg_c[GEGL_SC_COLORA_CHANNEL_COUNT];
 
   /* If the outline point is outside the background, then we can't
-   * compute a propper difference there. So, don't add it to the
+   * compute a proper difference there. So, don't add it to the
    * sampling.
    *
    * The outline point obviously must lie inside the foreground, so
diff --git a/seamless-clone/sc-context.h b/seamless-clone/sc-context.h
index 48a360e..a57b019 100644
--- a/seamless-clone/sc-context.h
+++ b/seamless-clone/sc-context.h
@@ -96,7 +96,7 @@ void            gegl_sc_context_set_uvt_cache  (GeglScContext       *context,
 
 /**
  * Call this function to render the specified area of the seamless
- * cloning composition. This call must be preceeded by a call to
+ * cloning composition. This call must be preceded by a call to
  * the prepare function.
  */
 gboolean        gegl_sc_context_render         (GeglScContext       *context,
diff --git a/seamless-clone/sc-outline.c b/seamless-clone/sc-outline.c
index 1b033b1..82d6a83 100644
--- a/seamless-clone/sc-outline.c
+++ b/seamless-clone/sc-outline.c
@@ -26,7 +26,7 @@
  *   Island  - An opaque pixel with 8 non-opaque neighbors
  *   Edge    - An opaque pixel with at least 1 (out of 8) non-opaque
  *             neighbors
- *   Area    - A continuos region (using 8 neighbor connectivity) of
+ *   Area    - A continuous region (using 8 neighbor connectivity) of
  *             pixels with the same opacity state
  *   Outline - A non-repeating sequence of edge pixels where each pixel
  *             is a neighbor of the previous, and the first pixel is a
@@ -35,7 +35,7 @@
  * Currently, the logic in this file implements an algorithm for
  * finding one outline. If more than one outline exists (may happen due
  * to non-opaque areas inside opaque areas ("holes") or due to the
- * existance of more than one opaque area in the image)
+ * existence of more than one opaque area in the image)
  * NOTE: Island pixels are ignored in the outline finding algorithm
  */
 
@@ -147,7 +147,7 @@ is_valid_edge (const GeglRectangle *search_area,
  *   the line to the next outline pixel must contain only non-opaque
  *   pixels!
  * - So, use this property to go clockwise inside this circular sector
- *   untill you find an opaque pixel. That pixel must then be the next
+ *   until you find an opaque pixel. That pixel must then be the next
  *   edge pixel (when going in clock-wise direction)!
  */
 static inline GeglScDirection
diff --git a/seamless-clone/sc-sample.c b/seamless-clone/sc-sample.c
index 5c23b8d..228ebc4 100644
--- a/seamless-clone/sc-sample.c
+++ b/seamless-clone/sc-sample.c
@@ -112,7 +112,7 @@ gegl_sc_compute_sample_list_weights (gdouble           Px,
       /* Did the point match one of the outline points? If so, convert
        * the sample list to be made only of that outline point.
        * This shouldn't happen since we give a direct sample list to
-       * boundry points, but this is a backup and also in case that due
+       * boundary points, but this is a backup and also in case that due
        * to small distances the norm came out zero
        */
       if (norm1 == 0)
diff --git a/tests/simple/test-misc.c b/tests/simple/test-misc.c
index 78a59bd..93d1fca 100644
--- a/tests/simple/test-misc.c
+++ b/tests/simple/test-misc.c
@@ -51,7 +51,7 @@ test_misc_case_insensitive_extension_handler (void)
 
   gegl_operation_handlers_register_loader (lowercase, handler);
 
-  /* Make sure comparisions are case insensitive */
+  /* Make sure comparisons are case insensitive */
   received_handler = gegl_operation_handlers_get_loader (uppercase);
   if (strcmp (received_handler, handler) != 0)
     result = FAILURE;


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]