<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array"/>
  <modified type="array">
    <modified>
      <diff>@@ -104,28 +104,28 @@ div.items div.active {
 }
 
 div.scrollable {
-	float:left;
-	margin-bottom: 20px;
+    float:left;
+    margin-bottom: 20px;
 }
 
 a.prev, a.next, a.prevPage, a.nextPage {
-	display:block;
-	width:18px;
-	height:18px;
-	background:url(../js/left.png) no-repeat;
-	float:left;
-	cursor:pointer;
+    display:block;
+    width:18px;
+    height:18px;
+    background:url(../js/left.png) no-repeat;
+    float:left;
+    cursor:pointer;
 }
 
 a.prev:hover, a.next:hover, a.prevPage:hover, a.nextPage:hover {
-	background-position:0px -18px;		
+    background-position:0px -18px;      
 }
 
 a.disabled {
-	visibility:hidden !important;		
+    visibility:hidden !important;       
 }
 
 a.next, a.nextPage {
-	background-image:url(../js/right.png);
+    background-image:url(../js/right.png);
         clear:right;
 }</diff>
      <filename>mt-static/plugins/ImageCropper/css/app.css</filename>
    </modified>
    <modified>
      <diff>@@ -3,20 +3,20 @@
 
 .jcrop-vline, .jcrop-hline
 {
-	font-size: 0;
-	position: absolute;
-	background: white url('Jcrop.gif') top left repeat;
+    font-size: 0;
+    position: absolute;
+    background: white url('Jcrop.gif') top left repeat;
 }
 .jcrop-vline { height: 100%; width: 1px !important; }
 .jcrop-hline { width: 100%; height: 1px !important; }
 .jcrop-handle {
-	font-size: 1px;
-	width: 7px !important;
-	height: 7px !important;
-	border: 1px #eee solid;
-	background-color: #333;
-	*width: 9px;
-	*height: 9px;
+    font-size: 1px;
+    width: 7px !important;
+    height: 7px !important;
+    border: 1px #eee solid;
+    background-color: #333;
+    *width: 9px;
+    *height: 9px;
 }
 
 .jcrop-tracker { width: 100%; height: 100%; }
@@ -24,12 +24,12 @@
 .custom .jcrop-vline,
 .custom .jcrop-hline
 {
-	background: yellow;
+    background: yellow;
 }
 .custom .jcrop-handle
 {
-	border-color: black;
-	background-color: #C7BB00;
-	-moz-border-radius: 3px;
-	-webkit-border-radius: 3px;
+    border-color: black;
+    background-color: #C7BB00;
+    -moz-border-radius: 3px;
+    -webkit-border-radius: 3px;
 }</diff>
      <filename>mt-static/plugins/ImageCropper/css/jquery.Jcrop.css</filename>
    </modified>
    <modified>
      <diff>@@ -20,8 +20,8 @@ sub del_prototype {
     $app-&gt;validate_magic or return;
     my @protos = $app-&gt;param('id');
     for my $pid (@protos) {
-	my $p = MT-&gt;model('thumbnail_prototype')-&gt;load($pid) or next;
-	$p-&gt;remove;
+    my $p = MT-&gt;model('thumbnail_prototype')-&gt;load($pid) or next;
+    $p-&gt;remove;
     }
     $app-&gt;add_return_arg( prototype_removed =&gt; 1 );
     $app-&gt;call_return;
@@ -34,8 +34,8 @@ sub find_prototype_id {
     return undef unless $ts;
     my $protos = MT-&gt;registry('template_sets')-&gt;{$ts}-&gt;{thumbnail_prototypes};
     foreach (keys %$protos) {
-#	MT-&gt;log({ message =&gt; &quot;Looking for $label in $_&quot; });
-	return $_ if (&amp;{$protos-&gt;{$_}-&gt;{label}} eq $label);
+#   MT-&gt;log({ message =&gt; &quot;Looking for $label in $_&quot; });
+    return $_ if (&amp;{$protos-&gt;{$_}-&gt;{label}} eq $label);
     }
 }
 
@@ -53,29 +53,29 @@ sub hdlr_cropped_asset {
 
     my $map;
     my $prototype = MT-&gt;model('thumbnail_prototype')-&gt;load({
-	blog_id =&gt; $blog_id,
-	label =&gt; $l,
+    blog_id =&gt; $blog_id,
+    label =&gt; $l,
     });
     if ($prototype) {
-#	MT-&gt;log({ message =&gt; &quot;prototype found: &quot; . $prototype-&gt;id });
-	$map = MT-&gt;model('thumbnail_prototype_map')-&gt;load({
-	    prototype_key =&gt; 'custom_' . $prototype-&gt;id,
-	    asset_id =&gt; $a-&gt;id,
+#   MT-&gt;log({ message =&gt; &quot;prototype found: &quot; . $prototype-&gt;id });
+    $map = MT-&gt;model('thumbnail_prototype_map')-&gt;load({
+        prototype_key =&gt; 'custom_' . $prototype-&gt;id,
+        asset_id =&gt; $a-&gt;id,
         });
     } elsif (my $id = find_prototype_id($ctx, $l)) {
-#	MT-&gt;log({ message =&gt; &quot;prototype not found, consulted registry: &quot; . $id });
-	$map = MT-&gt;model('thumbnail_prototype_map')-&gt;load({
-	    prototype_key =&gt; $blog-&gt;template_set . &quot;___&quot; . $id,
-	    asset_id =&gt; $a-&gt;id,
+#   MT-&gt;log({ message =&gt; &quot;prototype not found, consulted registry: &quot; . $id });
+    $map = MT-&gt;model('thumbnail_prototype_map')-&gt;load({
+        prototype_key =&gt; $blog-&gt;template_set . &quot;___&quot; . $id,
+        asset_id =&gt; $a-&gt;id,
         });
     }
     if ($map) {
-	my $cropped = MT-&gt;model('asset')-&gt;load( $map-&gt;cropped_asset_id );
-	if ($cropped) {
-	    local $ctx-&gt;{__stash}{'asset'} = $cropped;
-	    defined($out = $ctx-&gt;slurp($args,$cond)) or return;
-	    return $out;
-	}
+    my $cropped = MT-&gt;model('asset')-&gt;load( $map-&gt;cropped_asset_id );
+    if ($cropped) {
+        local $ctx-&gt;{__stash}{'asset'} = $cropped;
+        defined($out = $ctx-&gt;slurp($args,$cond)) or return;
+        return $out;
+    }
     }
     return _hdlr_pass_tokens_else(@_);
 }
@@ -97,7 +97,7 @@ sub save_prototype {
         $obj = MT-&gt;model('thumbnail_prototype')-&gt;new;
     }
     foreach ( qw(blog_id max_width max_height label default_tags) ) {
-	$obj-&gt;$_($q-&gt;param($_));
+    $obj-&gt;$_($q-&gt;param($_));
     }
     $obj-&gt;save or return $app-&gt;error( $obj-&gt;errstr );
 
@@ -141,21 +141,21 @@ sub load_ts_prototypes {
 
     my @protos;
     if ($blog-&gt;template_set) {
-	my $ts = $blog-&gt;template_set;
-	my $ps = $app-&gt;registry('template_sets')-&gt;{$ts}-&gt;{thumbnail_prototypes};
-	foreach (keys %$ps) {
-	    my $p = $ps-&gt;{$_};
-	    push @protos, { 
-		id =&gt; $_,
-		type =&gt; 'template_set',
-		key =&gt; &quot;$ts::$_&quot;,
-		template_set =&gt; $ts,
-		blog_id =&gt; $blog-&gt;id,
-		label =&gt; &amp;{$p-&gt;{label}},
-		max_width =&gt; $p-&gt;{max_width},
-		max_height =&gt; $p-&gt;{max_height},
-	    }
-	}
+    my $ts = $blog-&gt;template_set;
+    my $ps = $app-&gt;registry('template_sets')-&gt;{$ts}-&gt;{thumbnail_prototypes};
+    foreach (keys %$ps) {
+        my $p = $ps-&gt;{$_};
+        push @protos, { 
+        id =&gt; $_,
+        type =&gt; 'template_set',
+        key =&gt; &quot;$ts::$_&quot;,
+        template_set =&gt; $ts,
+        blog_id =&gt; $blog-&gt;id,
+        label =&gt; &amp;{$p-&gt;{label}},
+        max_width =&gt; $p-&gt;{max_width},
+        max_height =&gt; $p-&gt;{max_height},
+        }
+    }
     }
     return \@protos;
 }
@@ -168,25 +168,25 @@ sub list_prototypes {
     my $blog = $app-&gt;blog;
 
     if ($blog &amp;&amp; $app-&gt;blog-&gt;template_set) {
-	my $loop = load_ts_prototypes($app); 
-	$params-&gt;{prototype_loop}  = $loop;
-	$params-&gt;{template_set_name} = $app-&gt;registry('template_sets')-&gt;{$blog-&gt;template_set}-&gt;{label};
+    my $loop = load_ts_prototypes($app); 
+    $params-&gt;{prototype_loop}  = $loop;
+    $params-&gt;{template_set_name} = $app-&gt;registry('template_sets')-&gt;{$blog-&gt;template_set}-&gt;{label};
     }
     $params-&gt;{prototype_saved} = $q-&gt;param('prototype_saved');
 
     my $code = sub {
         my ($obj, $row) = @_;
 
-	$row-&gt;{id}         = $obj-&gt;id;
-	$row-&gt;{blog_id}    = $obj-&gt;blog_id;
-	$row-&gt;{label}      = $obj-&gt;label;
-	$row-&gt;{max_width}  = $obj-&gt;max_width;
-	$row-&gt;{max_height} = $obj-&gt;max_height;
+    $row-&gt;{id}         = $obj-&gt;id;
+    $row-&gt;{blog_id}    = $obj-&gt;blog_id;
+    $row-&gt;{label}      = $obj-&gt;label;
+    $row-&gt;{max_width}  = $obj-&gt;max_width;
+    $row-&gt;{max_height} = $obj-&gt;max_height;
 
         my $ts = $row-&gt;{created_on};
-	my $datetime_format = MT::App::CMS::LISTING_DATETIME_FORMAT();
-	my $time_formatted = format_ts( $datetime_format, $ts, $app-&gt;blog ? $app-&gt;blog : undef, 
-					$app-&gt;user ? $app-&gt;user-&gt;preferred_language : undef );
+    my $datetime_format = MT::App::CMS::LISTING_DATETIME_FORMAT();
+    my $time_formatted = format_ts( $datetime_format, $ts, $app-&gt;blog ? $app-&gt;blog : undef, 
+                    $app-&gt;user ? $app-&gt;user-&gt;preferred_language : undef );
         $row-&gt;{created_on_relative} = relative_date($ts, time, $app-&gt;blog ? $app-&gt;blog : undef);
         $row-&gt;{created_on_formatted} = $time_formatted;
     };
@@ -216,63 +216,63 @@ sub gen_thumbnails_start {
     $app-&gt;validate_magic or return;
     my $id = $app-&gt;{query}-&gt;param('id');
     my $obj = MT-&gt;model('asset')-&gt;load($id) or
-	return $app-&gt;error('Could not load asset.');
+    return $app-&gt;error('Could not load asset.');
     my ($bw,$bh) = _box_dim($obj);
     my @protos;
     my @custom = MT-&gt;model('thumbnail_prototype')-&gt;load({ blog_id =&gt; $app-&gt;blog-&gt;id });
     foreach (@custom) {
-	push @protos, {
-	    id =&gt; $_-&gt;id,
-	    key =&gt; 'custom_' . $_-&gt;id,
-	    label =&gt; $_-&gt;label,
-	    max_width =&gt; $_-&gt;max_width,
-	    max_height =&gt; $_-&gt;max_height,
-	};
+    push @protos, {
+        id =&gt; $_-&gt;id,
+        key =&gt; 'custom_' . $_-&gt;id,
+        label =&gt; $_-&gt;label,
+        max_width =&gt; $_-&gt;max_width,
+        max_height =&gt; $_-&gt;max_height,
+    };
     }
     my $tsprotos = load_ts_prototypes($app); 
     foreach (@$tsprotos) {
-	push @protos, {
-	    id =&gt; $_-&gt;{template_set} . '___' . $_-&gt;{id},
-	    key =&gt; $_-&gt;{template_set} . '___' . $_-&gt;{id},
-	    label =&gt; $_-&gt;{label},
-	    max_width =&gt; $_-&gt;{max_width},
-	    max_height =&gt; $_-&gt;{max_height},
-	};
+    push @protos, {
+        id =&gt; $_-&gt;{template_set} . '___' . $_-&gt;{id},
+        key =&gt; $_-&gt;{template_set} . '___' . $_-&gt;{id},
+        label =&gt; $_-&gt;{label},
+        max_width =&gt; $_-&gt;{max_width},
+        max_height =&gt; $_-&gt;{max_height},
+    };
     }
     my @loop;
     foreach my $p (@protos) {
-	my $map = MT-&gt;model('thumbnail_prototype_map')-&gt;load({
-	    asset_id =&gt; $obj-&gt;id,
-	    prototype_key =&gt; $p-&gt;{key},
+    my $map = MT-&gt;model('thumbnail_prototype_map')-&gt;load({
+        asset_id =&gt; $obj-&gt;id,
+        prototype_key =&gt; $p-&gt;{key},
         });
-	my ($url,$x,$y,$w,$h,$size);
-	if ($map) {
-	    $x  = $map-&gt;cropped_x;
-	    $y  = $map-&gt;cropped_y;
-	    $w  = $map-&gt;cropped_w;
-	    $h  = $map-&gt;cropped_h;
-	    my $a = MT-&gt;model('asset')-&gt;load( $map-&gt;cropped_asset_id );
-	    if ($a) {
-		$url = $a-&gt;url;
-		$size = file_size($a);
-	    }
-	}
-	push @loop, {
-	    proto_id      =&gt; $p-&gt;{id},
-	    proto_key     =&gt; $p-&gt;{key},
-	    proto_label   =&gt; $p-&gt;{label},
-	    thumbnail_url =&gt; $url,
-	    cropped_x     =&gt; $x,
-	    cropped_y     =&gt; $y,
-	    cropped_w     =&gt; $w,
-	    cropped_h     =&gt; $h,
-	    cropped_size  =&gt; $size,
-	    max_width     =&gt; $p-&gt;{max_width},
-	    max_height    =&gt; $p-&gt;{max_height},
-	    is_tall       =&gt; $p-&gt;{max_height} &gt; $p-&gt;{max_width},
-	    smaller_vp    =&gt; ($p-&gt;{max_height} &lt; 135 &amp;&amp; $p-&gt;{max_width} &lt; 175),
-	    # 175x135
-	};
+    my ($url,$x,$y,$w,$h,$size);
+    if ($map) {
+        $x  = $map-&gt;cropped_x;
+        $y  = $map-&gt;cropped_y;
+        $w  = $map-&gt;cropped_w;
+        $h  = $map-&gt;cropped_h;
+        my $a = MT-&gt;model('asset')-&gt;load( $map-&gt;cropped_asset_id );
+        if ($a) {
+        $url = $a-&gt;url;
+        $size = file_size($a);
+        }
+    }
+    push @loop, {
+        proto_id      =&gt; $p-&gt;{id},
+        proto_key     =&gt; $p-&gt;{key},
+        proto_label   =&gt; $p-&gt;{label},
+        thumbnail_url =&gt; $url,
+        cropped_x     =&gt; $x,
+        cropped_y     =&gt; $y,
+        cropped_w     =&gt; $w,
+        cropped_h     =&gt; $h,
+        cropped_size  =&gt; $size,
+        max_width     =&gt; $p-&gt;{max_width},
+        max_height    =&gt; $p-&gt;{max_height},
+        is_tall       =&gt; $p-&gt;{max_height} &gt; $p-&gt;{max_width},
+        smaller_vp    =&gt; ($p-&gt;{max_height} &lt; 135 &amp;&amp; $p-&gt;{max_width} &lt; 175),
+        # 175x135
+    };
     }
     $param-&gt;{prototype_loop} = \@loop if @loop;
     $param-&gt;{box_width}  = $bw;
@@ -297,19 +297,19 @@ sub delete_crop {
     my $key    = $q-&gt;param('prototype');
 
     my $oldmap = MT-&gt;model('thumbnail_prototype_map')-&gt;load({
-	asset_id =&gt; $id,
-	prototype_key =&gt; $key,
+    asset_id =&gt; $id,
+    prototype_key =&gt; $key,
     });
     if ($oldmap) {
-	my $oldasset = MT-&gt;model('asset')-&gt;load( $oldmap-&gt;cropped_asset_id );
-	$oldasset-&gt;remove()
-	    or MT-&gt;log({ blog_id =&gt; $blog-&gt;id, message =&gt; &quot;Error removing asset: &quot; . $oldmap-&gt;cropped_asset_id });
-	$oldmap-&gt;remove()
-	    or MT-&gt;log({ blog_id =&gt; $blog-&gt;id, message =&gt; &quot;Error removing prototype map.&quot; });
+    my $oldasset = MT-&gt;model('asset')-&gt;load( $oldmap-&gt;cropped_asset_id );
+    $oldasset-&gt;remove()
+        or MT-&gt;log({ blog_id =&gt; $blog-&gt;id, message =&gt; &quot;Error removing asset: &quot; . $oldmap-&gt;cropped_asset_id });
+    $oldmap-&gt;remove()
+        or MT-&gt;log({ blog_id =&gt; $blog-&gt;id, message =&gt; &quot;Error removing prototype map.&quot; });
     }
     my $result = {
-	proto_key =&gt; $key,
-	success =&gt; 1,
+    proto_key =&gt; $key,
+    success =&gt; 1,
     };
     return _send_json_response($app, $result);
 }
@@ -341,17 +341,17 @@ sub crop {
     my $asset     = MT-&gt;model('asset')-&gt;load( $id );
     my $prototype;
     if ($key =~ /custom_(\d+)/) {
-	$prototype = MT-&gt;model('thumbnail_prototype')-&gt;load( $1 );
+    $prototype = MT-&gt;model('thumbnail_prototype')-&gt;load( $1 );
     } else {
-	$prototype = MT-&gt;model('thumbnail_prototype')-&gt;new;
-	my $p = load_ts_prototype($app,$key);
-	foreach (qw( max_width max_height label )) {
-	    $prototype-&gt;$_($p-&gt;{$_});
-	}
+    $prototype = MT-&gt;model('thumbnail_prototype')-&gt;new;
+    my $p = load_ts_prototype($app,$key);
+    foreach (qw( max_width max_height label )) {
+        $prototype-&gt;$_($p-&gt;{$_});
+    }
     }
     my $cropped = crop_filename( $asset, 
-				 Prototype =&gt; $key,
-				 Type =&gt; $type,
+                 Prototype =&gt; $key,
+                 Type =&gt; $type,
     );
     my $cache_path; my $cache_url;
     my $archivepath = $blog-&gt;archive_path;
@@ -364,7 +364,7 @@ sub crop {
     my $cropped_url = $cache_url . '/' . $cropped;
     #MT-&gt;log({ blog_id =&gt; $blog-&gt;id, message =&gt; &quot;Cropped URL: $cropped_url&quot; });
     my ( $base, $path, $ext ) =
-	File::Basename::fileparse( $cropped, qr/[A-Za-z0-9]+$/ );
+    File::Basename::fileparse( $cropped, qr/[A-Za-z0-9]+$/ );
     my $asset_cropped = new MT::Asset::Image;
     $asset_cropped-&gt;blog_id($blog-&gt;id);
     $asset_cropped-&gt;url($cropped_url);
@@ -379,18 +379,18 @@ sub crop {
     $asset_cropped-&gt;save;
 
     my $oldmap = MT-&gt;model('thumbnail_prototype_map')-&gt;load({
-	asset_id =&gt; $asset-&gt;id,
-	prototype_key =&gt; $key,
+    asset_id =&gt; $asset-&gt;id,
+    prototype_key =&gt; $key,
     });
     if ($oldmap) {
-	my $oldasset = MT-&gt;model('asset')-&gt;load( $oldmap-&gt;cropped_asset_id );
-	if ($oldasset) {
-#	    MT-&gt;log({ blog_id =&gt; $blog-&gt;id, message =&gt; &quot;Removing: &quot; . $oldasset-&gt;label });
-	    $oldasset-&gt;remove()
-		or MT-&gt;log({ blog_id =&gt; $blog-&gt;id, message =&gt; &quot;Error removing asset: &quot; . $oldmap-&gt;cropped_asset_id });
-	}
-	$oldmap-&gt;remove()
-	    or MT-&gt;log({ blog_id =&gt; $blog-&gt;id, message =&gt; &quot;Error removing prototype map.&quot; });
+    my $oldasset = MT-&gt;model('asset')-&gt;load( $oldmap-&gt;cropped_asset_id );
+    if ($oldasset) {
+#       MT-&gt;log({ blog_id =&gt; $blog-&gt;id, message =&gt; &quot;Removing: &quot; . $oldasset-&gt;label });
+        $oldasset-&gt;remove()
+        or MT-&gt;log({ blog_id =&gt; $blog-&gt;id, message =&gt; &quot;Error removing asset: &quot; . $oldmap-&gt;cropped_asset_id });
+    }
+    $oldmap-&gt;remove()
+        or MT-&gt;log({ blog_id =&gt; $blog-&gt;id, message =&gt; &quot;Error removing prototype map.&quot; });
     }
 
     my $map = MT-&gt;model('thumbnail_prototype_map')-&gt;new;
@@ -405,73 +405,73 @@ sub crop {
     
     require MT::Image;
     my $img = MT::Image-&gt;new( Filename =&gt; $asset-&gt;file_path )
-	or MT-&gt;log({ blog_id =&gt; $blog-&gt;id, message =&gt; &quot;Error loading image: &quot; . MT::Image-&gt;errstr });
+    or MT-&gt;log({ blog_id =&gt; $blog-&gt;id, message =&gt; &quot;Error loading image: &quot; . MT::Image-&gt;errstr });
     my $data = crop_image($img, 
-			  Width  =&gt; $width,
-			  Height =&gt; $height,
-			  X      =&gt; $X,
-			  Y      =&gt; $Y,
-			  Type   =&gt; $type,
-			  quality =&gt; $quality,
+              Width  =&gt; $width,
+              Height =&gt; $height,
+              X      =&gt; $X,
+              Y      =&gt; $Y,
+              Type   =&gt; $type,
+              quality =&gt; $quality,
     );
     $data = $img-&gt;scale( 
-	Width  =&gt; $prototype-&gt;max_width,
-	Height =&gt; $prototype-&gt;max_height,
+    Width  =&gt; $prototype-&gt;max_width,
+    Height =&gt; $prototype-&gt;max_height,
     );
     if ($annotate &amp;&amp; $text) {
-	my $plugin = MT-&gt;component(&quot;ImageCropper&quot;);
-	my $scope = &quot;blog:&quot; . $blog-&gt;id;
-	my $fam = $plugin-&gt;get_config_value('annotate_fontfam',$scope);
-	$data = annotate( $img,
-			  text     =&gt; $text,
-			  family   =&gt; $fam,
-			  size     =&gt; $text_size,
-			  location =&gt; $text_loc,
-			  rotation =&gt; $text_rot,
+    my $plugin = MT-&gt;component(&quot;ImageCropper&quot;);
+    my $scope = &quot;blog:&quot; . $blog-&gt;id;
+    my $fam = $plugin-&gt;get_config_value('annotate_fontfam',$scope);
+    $data = annotate( $img,
+              text     =&gt; $text,
+              family   =&gt; $fam,
+              size     =&gt; $text_size,
+              location =&gt; $text_loc,
+              rotation =&gt; $text_rot,
         );
     }
     require MT::FileMgr;
     $fmgr ||= $blog ? $blog-&gt;file_mgr : MT::FileMgr-&gt;new('Local');
     unless ($fmgr) {
-	MT-&gt;log({ blog_id =&gt; $blog-&gt;id, message =&gt; &quot;Unable to initialize File Manager&quot; });
-	return undef;
+    MT-&gt;log({ blog_id =&gt; $blog-&gt;id, message =&gt; &quot;Unable to initialize File Manager&quot; });
+    return undef;
     }
     if ($cache_path =~ /^%r/) {
-	my $p = $blog-&gt;site_path;
-	$cache_path =~ s/%r/$p/;
+    my $p = $blog-&gt;site_path;
+    $cache_path =~ s/%r/$p/;
     }
     unless ($fmgr-&gt;can_write($cache_path)) {
-	MT-&gt;log({ blog_id =&gt; $blog-&gt;id, message =&gt; &quot;Can't write to: $cache_path&quot; });
-	return undef;
+    MT-&gt;log({ blog_id =&gt; $blog-&gt;id, message =&gt; &quot;Can't write to: $cache_path&quot; });
+    return undef;
     }
     my $error = '';
     if (!-d $cache_path) {
-#	MT-&gt;log({ blog_id =&gt; $blog-&gt;id, message =&gt; &quot;$cache_path is NOT a directory. Creating...&quot; });
+#   MT-&gt;log({ blog_id =&gt; $blog-&gt;id, message =&gt; &quot;$cache_path is NOT a directory. Creating...&quot; });
         require MT::FileMgr;
         my $fmgr = $blog ? $blog-&gt;file_mgr : MT::FileMgr-&gt;new('Local');
         unless ($fmgr-&gt;mkpath($cache_path)) {
-	    MT-&gt;log({ blog_id =&gt; $blog-&gt;id, message =&gt; &quot;Can't mkpath: $cache_path&quot; });
-	    return undef;
-	}
+        MT-&gt;log({ blog_id =&gt; $blog-&gt;id, message =&gt; &quot;Can't mkpath: $cache_path&quot; });
+        return undef;
+    }
     }
 
     $fmgr-&gt;put_data( $data, 
-		     File::Spec-&gt;catfile( $cache_path, $cropped ), 
-		     'upload' )
-	or $error = MT-&gt;translate( &quot;Error creating cropped file: [_1]&quot;, $fmgr-&gt;errstr );
+             File::Spec-&gt;catfile( $cache_path, $cropped ), 
+             'upload' )
+    or $error = MT-&gt;translate( &quot;Error creating cropped file: [_1]&quot;, $fmgr-&gt;errstr );
 
     if ($cropped_url =~ /^%r/) {
-	my $p = $blog-&gt;site_url;
-	$p = &quot;$p/&quot; if $p !~ /\/$/;
-	$cropped_url =~ s/%r\/?/$p/;
+    my $p = $blog-&gt;site_url;
+    $p = &quot;$p/&quot; if $p !~ /\/$/;
+    $cropped_url =~ s/%r\/?/$p/;
     }
     $result = {
-	error        =&gt; $error,
+    error        =&gt; $error,
         proto_key    =&gt; $key,
-	cropped      =&gt; $cropped,
-	cropped_path =&gt; $cropped_path,
-	cropped_url  =&gt; $cropped_url,
-	cropped_size =&gt; file_size($asset_cropped),
+    cropped      =&gt; $cropped,
+    cropped_path =&gt; $cropped_path,
+    cropped_url  =&gt; $cropped_url,
+    cropped_size =&gt; file_size($asset_cropped),
     };
 
     return _send_json_response($app, $result);
@@ -498,8 +498,8 @@ sub _box_dim {
         $box_w = 900;
         $box_h = int((900 * $obj-&gt;image_height) / $obj-&gt;image_width);
     } else {
-	$box_w = $obj-&gt;image_width;
-	$box_h = $obj-&gt;image_height;
+    $box_w = $obj-&gt;image_width;
+    $box_h = $obj-&gt;image_height;
     }
     return ($box_w,$box_h);
 }</diff>
      <filename>plugins/ImageCropper/lib/ImageCropper/Plugin.pm</filename>
    </modified>
    <modified>
      <diff>@@ -13,18 +13,18 @@ __PACKAGE__-&gt;install_properties({
         'cropped_asset_id' =&gt; 'integer not null',
         'prototype_id'     =&gt; 'integer', # obsolete
         'prototype_key'    =&gt; 'string(100) not null',
-	'cropped_x'        =&gt; 'integer not null',
-	'cropped_y'        =&gt; 'integer not null',
-	'cropped_w'        =&gt; 'integer not null',
-	'cropped_h'        =&gt; 'integer not null',
+    'cropped_x'        =&gt; 'integer not null',
+    'cropped_y'        =&gt; 'integer not null',
+    'cropped_w'        =&gt; 'integer not null',
+    'cropped_h'        =&gt; 'integer not null',
     },
     defaults =&gt; {
-	'cropped_x' =&gt; 0,
-	'cropped_y' =&gt; 0,
+    'cropped_x' =&gt; 0,
+    'cropped_y' =&gt; 0,
     },
     indexes =&gt; {
         id =&gt; 1,
-	prototype_key =&gt; 1,
+    prototype_key =&gt; 1,
         asset_id =&gt; 1,
     },
     datasource =&gt; 'cropper_prototypemaps',</diff>
      <filename>plugins/ImageCropper/lib/ImageCropper/PrototypeMap.pm</filename>
    </modified>
    <modified>
      <diff>@@ -8,12 +8,12 @@ sub file_size {
     my $a = shift;
     my $sizef = '? KB';
     if ( $a-&gt;file_path &amp;&amp; ( -f $a-&gt;file_path ) ) {
-	my @stat = stat( $a-&gt;file_path );
-	my $size = $stat[7];
-	if ( $size &lt; 1024 ) { $sizef = sprintf( &quot;%d Bytes&quot;, $size );
-	} elsif ( $size &lt; 1024000 ) { $sizef = sprintf( &quot;%.1f KB&quot;, $size / 1024 );
-	} else { $sizef = sprintf( &quot;%.1f MB&quot;, $size / 1024000 );
-	}
+    my @stat = stat( $a-&gt;file_path );
+    my $size = $stat[7];
+    if ( $size &lt; 1024 ) { $sizef = sprintf( &quot;%d Bytes&quot;, $size );
+    } elsif ( $size &lt; 1024000 ) { $sizef = sprintf( &quot;%.1f KB&quot;, $size / 1024 );
+    } else { $sizef = sprintf( &quot;%.1f MB&quot;, $size / 1024000 );
+    }
     }
     return $sizef;
 }
@@ -24,19 +24,19 @@ sub crop_image {
     my ($w, $h, $x, $y, $type, $qual) = @param{qw( Width Height X Y Type quality)};
     my $magick = $image-&gt;{magick};
     my $err = $magick-&gt;Crop(
-	'width' =&gt; $w, 
-	'height' =&gt; $h, 
-	'x' =&gt; $x, 
-	'y' =&gt; $y,
+    'width' =&gt; $w, 
+    'height' =&gt; $h, 
+    'x' =&gt; $x, 
+    'y' =&gt; $y,
     );
     if ($qual) {
-	MT-&gt;log({ message =&gt; &quot;Quality of image: $qual&quot; });
-	$magick-&gt;Set( quality =&gt; $qual );
+    MT-&gt;log({ message =&gt; &quot;Quality of image: $qual&quot; });
+    $magick-&gt;Set( quality =&gt; $qual );
     }
     return $image-&gt;error(
-	MT-&gt;translate(
-	    &quot;Error cropping a [_1]x[_2] image at [_3],[_4] failed: [_5]&quot;, 
-	    $w, $h, $x, $y, $err)) if $err;
+    MT-&gt;translate(
+        &quot;Error cropping a [_1]x[_2] image at [_3],[_4] failed: [_5]&quot;, 
+        $w, $h, $x, $y, $err)) if $err;
 
     ## Remove page offsets from the original image, per this thread: 
     ## http://studio.imagemagick.org/pipermail/magick-users/2003-September/010803.html
@@ -53,25 +53,25 @@ sub annotate {
     my $magick = $image-&gt;{magick};
     my ($rot, $x) = (0, 0);
     if ($ori eq 'Vertical') {
-	if ($loc eq 'NorthWest') {
-	    $rot = 90; $x = 12;
-	} elsif ($loc eq 'NorthEast') {
-	    $rot = 270; $x = 12;
-	} elsif ($loc eq 'SouthWest') {
-	    $rot = 270; $x = 12;
-	} elsif ($loc eq 'SouthEast') {
-	    $rot = 90; $x = 12;
-	} 
+    if ($loc eq 'NorthWest') {
+        $rot = 90; $x = 12;
+    } elsif ($loc eq 'NorthEast') {
+        $rot = 270; $x = 12;
+    } elsif ($loc eq 'SouthWest') {
+        $rot = 270; $x = 12;
+    } elsif ($loc eq 'SouthEast') {
+        $rot = 90; $x = 12;
+    } 
     }
     MT-&gt;log({ message =&gt; &quot;Annotating image with text: '$txt' ($loc, $rot degrees, $family at $size pt.)&quot; });
     my $err = $magick-&gt;Annotate(
         'pen'       =&gt; 'white',
-	'font'    =&gt; $family,
-	'pointsize' =&gt; $size, 
-	'text'      =&gt; $txt, 
+    'font'    =&gt; $family,
+    'pointsize' =&gt; $size, 
+    'text'      =&gt; $txt, 
         'gravity'   =&gt; $loc,
-	'rotate'    =&gt; $rot,
-	'x'         =&gt; $x,
+    'rotate'    =&gt; $rot,
+    'x'         =&gt; $x,
     );
     MT-&gt;log(&quot;Error annotating image with $txt: $err&quot;) if $err;
 </diff>
      <filename>plugins/ImageCropper/lib/ImageCropper/Util.pm</filename>
    </modified>
    <modified>
      <diff>@@ -15,9 +15,9 @@
     var tableSelect;
     function init()
     {
-    	// setup
-    	tableSelect = new TC.TableSelect( &quot;prototypes-listing-table&quot; );
-    	tableSelect.rowSelect = true;
+        // setup
+        tableSelect = new TC.TableSelect( &quot;prototypes-listing-table&quot; );
+        tableSelect.rowSelect = true;
     }
 
     TC.attachLoadEvent( init );</diff>
      <filename>plugins/ImageCropper/tmpl/list.tmpl</filename>
    </modified>
    <modified>
      <diff>@@ -33,11 +33,11 @@
       );
       $('#prototypes li').click( function() {
         var id = $(this).attr('id').substr( 'proto-'.length )
-	var p = protos[id];
-	$('#prototypes li#proto-'+selected).removeClass('selected');
-	$('#prototypes li#proto-'+id).addClass('selected');
+    var p = protos[id];
+    $('#prototypes li#proto-'+selected).removeClass('selected');
+    $('#prototypes li#proto-'+id).addClass('selected');
         selected = id;
-	initCrop( p.max_width, p.max_height, p.x, p.y, p.w, p.h );
+    initCrop( p.max_width, p.max_height, p.x, p.y, p.w, p.h );
       });
       $('#prototypes li .proto_action a').click( function(e) {
         e.stopPropagation();
@@ -112,10 +112,10 @@
         },
         function(data){
           inprocess[data.proto_key] = 0;
-	  var li = $('#prototypes li#proto-'+data.proto_key);
-	  li.removeClass('inprogress');
+      var li = $('#prototypes li#proto-'+data.proto_key);
+      li.removeClass('inprogress');
           li.find('.proto_preview').html('&lt;img src=&quot;'+ data.cropped_url + '?' + Math.random() +'&quot; width=&quot;175&quot; /&gt;' );
-	  li.removeClass('nothumb');
+      li.removeClass('nothumb');
           li.find('.proto_size').html(data.cropped_size);
         },
         &quot;json&quot;</diff>
      <filename>plugins/ImageCropper/tmpl/start.tmpl</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>0336bf171bbf42e47eda548eccc23262dd9eb0ff</id>
    </parent>
  </parents>
  <author>
    <name>Jay Allen</name>
    <email>jay@endevver.com</email>
  </author>
  <url>http://github.com/byrnereese/mt-plugin-imagecropper/commit/2fc682aa74baef085f0c94ab9f2b282ce60a732c</url>
  <id>2fc682aa74baef085f0c94ab9f2b282ce60a732c</id>
  <committed-date>2009-08-02T14:56:37-07:00</committed-date>
  <authored-date>2009-08-02T14:56:37-07:00</authored-date>
  <message>Tabs to spaces...</message>
  <tree>3a4e46d8048dd26c9237c622566795a8449abb63</tree>
  <committer>
    <name>Jay Allen</name>
    <email>jay@endevver.com</email>
  </committer>
</commit>
