Page MenuHomePhabricator

D14096.id34069.diff
No OneTemporary

D14096.id34069.diff

diff --git a/resources/celerity/map.php b/resources/celerity/map.php
--- a/resources/celerity/map.php
+++ b/resources/celerity/map.php
@@ -7,12 +7,12 @@
*/
return array(
'names' => array(
- 'core.pkg.css' => '3fcfaed8',
+ 'core.pkg.css' => 'a2cf2f6c',
'core.pkg.js' => '47dc9ebb',
'darkconsole.pkg.js' => 'e7393ebb',
'differential.pkg.css' => '2de124c9',
'differential.pkg.js' => '6223dd9d',
- 'diffusion.pkg.css' => '385e85b3',
+ 'diffusion.pkg.css' => 'f45955ed',
'diffusion.pkg.js' => '0115b37c',
'maniphest.pkg.css' => '4845691a',
'maniphest.pkg.js' => '3ec6a6d5',
@@ -25,7 +25,7 @@
'rsrc/css/aphront/notification.css' => '9c279160',
'rsrc/css/aphront/panel-view.css' => '8427b78d',
'rsrc/css/aphront/phabricator-nav-view.css' => 'a24cb589',
- 'rsrc/css/aphront/table-view.css' => 'e3632cc9',
+ 'rsrc/css/aphront/table-view.css' => '34ee903e',
'rsrc/css/aphront/tokenizer.css' => '04875312',
'rsrc/css/aphront/tooltip.css' => '7672b60f',
'rsrc/css/aphront/typeahead-browse.css' => 'd8581d2c',
@@ -65,7 +65,7 @@
'rsrc/css/application/differential/revision-history.css' => '0e8eb855',
'rsrc/css/application/differential/revision-list.css' => 'f3c47d33',
'rsrc/css/application/differential/table-of-contents.css' => 'ae4b7a55',
- 'rsrc/css/application/diffusion/diffusion-icons.css' => '4ba18923',
+ 'rsrc/css/application/diffusion/diffusion-icons.css' => '2941baf1',
'rsrc/css/application/diffusion/diffusion-readme.css' => '2106ea08',
'rsrc/css/application/diffusion/diffusion-source.css' => '66fdf661',
'rsrc/css/application/feed/feed.css' => 'ecd4ec57',
@@ -276,14 +276,10 @@
'rsrc/image/icon/fatcow/flag_purple.png' => 'cc517522',
'rsrc/image/icon/fatcow/flag_red.png' => '04ec726f',
'rsrc/image/icon/fatcow/flag_yellow.png' => '73946fd4',
- 'rsrc/image/icon/fatcow/folder.png' => '95a435af',
- 'rsrc/image/icon/fatcow/folder_go.png' => '001cbc94',
'rsrc/image/icon/fatcow/key_question.png' => '52a0c26a',
'rsrc/image/icon/fatcow/link.png' => '7afd4d5e',
'rsrc/image/icon/fatcow/page_white_edit.png' => '39a2eed8',
- 'rsrc/image/icon/fatcow/page_white_link.png' => 'a90023c7',
'rsrc/image/icon/fatcow/page_white_put.png' => '08c95a0c',
- 'rsrc/image/icon/fatcow/page_white_text.png' => '1e1f79c3',
'rsrc/image/icon/fatcow/source/conduit.png' => '4ea01d2f',
'rsrc/image/icon/fatcow/source/email.png' => '9bab3239',
'rsrc/image/icon/fatcow/source/fax.png' => '04195e68',
@@ -496,7 +492,7 @@
'aphront-list-filter-view-css' => '5d6f0526',
'aphront-multi-column-view-css' => 'fd18389d',
'aphront-panel-view-css' => '8427b78d',
- 'aphront-table-view-css' => 'e3632cc9',
+ 'aphront-table-view-css' => '34ee903e',
'aphront-tokenizer-control-css' => '04875312',
'aphront-tooltip-css' => '7672b60f',
'aphront-typeahead-control-css' => '0e403212',
@@ -523,7 +519,7 @@
'differential-revision-history-css' => '0e8eb855',
'differential-revision-list-css' => 'f3c47d33',
'differential-table-of-contents-css' => 'ae4b7a55',
- 'diffusion-icons-css' => '4ba18923',
+ 'diffusion-icons-css' => '2941baf1',
'diffusion-readme-css' => '2106ea08',
'diffusion-source-css' => '66fdf661',
'diviner-shared-css' => '5a337049',
diff --git a/src/applications/differential/constants/DifferentialChangeType.php b/src/applications/differential/constants/DifferentialChangeType.php
--- a/src/applications/differential/constants/DifferentialChangeType.php
+++ b/src/applications/differential/constants/DifferentialChangeType.php
@@ -66,6 +66,21 @@
return idx($names, coalesce($type, '?'), '???');
}
+ public static function getIconForFileType($type) {
+ static $icons = array(
+ self::FILE_TEXT => 'fa-file-text-o',
+ self::FILE_IMAGE => 'fa-file-image-o',
+ self::FILE_BINARY => 'fa-file',
+ self::FILE_DIRECTORY => 'fa-folder-open',
+ self::FILE_SYMLINK => 'fa-link',
+ self::FILE_DELETED => 'fa-file',
+ self::FILE_NORMAL => 'fa-file-text-o',
+ self::FILE_SUBMODULE => 'fa-folder-open-o',
+ );
+
+ return idx($icons, $type, 'fa-file');
+ }
+
public static function isOldLocationChangeType($type) {
static $types = array(
self::TYPE_MOVE_AWAY => true,
diff --git a/src/applications/diffusion/controller/DiffusionCommitController.php b/src/applications/diffusion/controller/DiffusionCommitController.php
--- a/src/applications/diffusion/controller/DiffusionCommitController.php
+++ b/src/applications/diffusion/controller/DiffusionCommitController.php
@@ -856,6 +856,7 @@
}
private function buildMergesTable(PhabricatorRepositoryCommit $commit) {
+ $viewer = $this->getViewer();
$drequest = $this->getDiffusionRequest();
$repository = $drequest->getRepository();
@@ -892,15 +893,12 @@
new PhutilNumber($limit)));
}
- $history_table = new DiffusionHistoryTableView();
- $history_table->setUser($this->getRequest()->getUser());
- $history_table->setDiffusionRequest($drequest);
- $history_table->setHistory($merges);
- $history_table->loadRevisions();
+ $history_table = id(new DiffusionHistoryTableView())
+ ->setUser($viewer)
+ ->setDiffusionRequest($drequest)
+ ->setHistory($merges);
- $phids = $history_table->getRequiredHandlePHIDs();
- $handles = $this->loadViewerHandles($phids);
- $history_table->setHandles($handles);
+ $history_table->loadRevisions();
$panel = new PHUIObjectBoxView();
$panel->setHeaderText(pht('Merged Changes'));
@@ -1110,7 +1108,11 @@
$anchor = substr(md5($path), 0, 8);
$history_link = $diffusion_view->linkHistory($path);
- $browse_link = $diffusion_view->linkBrowse($path);
+ $browse_link = $diffusion_view->linkBrowse(
+ $path,
+ array(
+ 'type' => $changeset->getFileType(),
+ ));
$item = id(new PHUIDiffTableOfContentsItemView())
->setChangeset($changeset)
diff --git a/src/applications/diffusion/controller/DiffusionHistoryController.php b/src/applications/diffusion/controller/DiffusionHistoryController.php
--- a/src/applications/diffusion/controller/DiffusionHistoryController.php
+++ b/src/applications/diffusion/controller/DiffusionHistoryController.php
@@ -42,15 +42,12 @@
$show_graph = !strlen($drequest->getPath());
$content = array();
- $history_table = new DiffusionHistoryTableView();
- $history_table->setUser($request->getUser());
- $history_table->setDiffusionRequest($drequest);
- $history_table->setHistory($history);
- $history_table->loadRevisions();
+ $history_table = id(new DiffusionHistoryTableView())
+ ->setUser($request->getUser())
+ ->setDiffusionRequest($drequest)
+ ->setHistory($history);
- $phids = $history_table->getRequiredHandlePHIDs();
- $handles = $this->loadViewerHandles($phids);
- $history_table->setHandles($handles);
+ $history_table->loadRevisions();
if ($show_graph) {
$history_table->setParents($history_results['parents']);
diff --git a/src/applications/diffusion/controller/DiffusionRepositoryController.php b/src/applications/diffusion/controller/DiffusionRepositoryController.php
--- a/src/applications/diffusion/controller/DiffusionRepositoryController.php
+++ b/src/applications/diffusion/controller/DiffusionRepositoryController.php
@@ -177,8 +177,7 @@
$content[] = $this->buildHistoryTable(
$history_results,
$history,
- $history_exception,
- $handles);
+ $history_exception);
try {
$content[] = $this->buildTagListTable($drequest);
@@ -519,8 +518,7 @@
private function buildHistoryTable(
$history_results,
$history,
- $history_exception,
- array $handles) {
+ $history_exception) {
$request = $this->getRequest();
$viewer = $request->getUser();
@@ -544,7 +542,6 @@
$history_table = id(new DiffusionHistoryTableView())
->setUser($viewer)
->setDiffusionRequest($drequest)
- ->setHandles($handles)
->setHistory($history);
// TODO: Super sketchy.
diff --git a/src/applications/diffusion/view/DiffusionBrowseTableView.php b/src/applications/diffusion/view/DiffusionBrowseTableView.php
--- a/src/applications/diffusion/view/DiffusionBrowseTableView.php
+++ b/src/applications/diffusion/view/DiffusionBrowseTableView.php
@@ -40,25 +40,26 @@
$browse_link = phutil_tag('strong', array(), $this->linkBrowse(
$base_path.$path->getPath().$dir_slash,
array(
- 'text' => $this->renderPathIcon('dir', $browse_text),
+ 'type' => $file_type,
+ 'name' => $browse_text,
)));
} else if ($file_type == DifferentialChangeType::FILE_SUBMODULE) {
$browse_text = $path->getPath().'/';
- $browse_link = phutil_tag('strong', array(), $this->linkExternal(
- $path->getHash(),
- $path->getExternalURI(),
- $this->renderPathIcon('ext', $browse_text)));
+ $browse_link = phutil_tag('strong', array(), $this->linkBrowse(
+ null,
+ array(
+ 'type' => $file_type,
+ 'name' => $browse_text,
+ 'hash' => $path->getHash(),
+ 'external' => $path->getExternalURI(),
+ )));
} else {
- if ($file_type == DifferentialChangeType::FILE_SYMLINK) {
- $type = 'link';
- } else {
- $type = 'file';
- }
$browse_text = $path->getPath();
$browse_link = $this->linkBrowse(
$base_path.$path->getPath(),
array(
- 'text' => $this->renderPathIcon($type, $browse_text),
+ 'type' => $file_type,
+ 'name' => $browse_text,
));
}
@@ -151,16 +152,4 @@
return $view->render();
}
- private function renderPathIcon($type, $text) {
-
- require_celerity_resource('diffusion-icons-css');
-
- return phutil_tag(
- 'span',
- array(
- 'class' => 'diffusion-path-icon diffusion-path-icon-'.$type,
- ),
- $text);
- }
-
}
diff --git a/src/applications/diffusion/view/DiffusionEmptyResultView.php b/src/applications/diffusion/view/DiffusionEmptyResultView.php
--- a/src/applications/diffusion/view/DiffusionEmptyResultView.php
+++ b/src/applications/diffusion/view/DiffusionEmptyResultView.php
@@ -17,11 +17,11 @@
public function render() {
$drequest = $this->getDiffusionRequest();
+ $repository = $drequest->getRepository();
$commit = $drequest->getCommit();
- $callsign = $drequest->getRepository()->getCallsign();
if ($commit) {
- $commit = "r{$callsign}{$commit}";
+ $commit = $repository->formatCommitName($commit);
} else {
$commit = 'HEAD';
}
@@ -37,29 +37,38 @@
break;
case DiffusionBrowseResultSet::REASON_IS_EMPTY:
$title = pht('Empty Directory');
- $body = pht("This path was an empty directory at %s.\n", $commit);
+ $body = pht('This path was an empty directory at %s.', $commit);
$severity = PHUIInfoView::SEVERITY_NOTICE;
break;
case DiffusionBrowseResultSet::REASON_IS_DELETED:
$deleted = $this->browseResultSet->getDeletedAtCommit();
$existed = $this->browseResultSet->getExistedAtCommit();
- $browse = $this->linkBrowse(
- $drequest->getPath(),
+ $existed_text = $repository->formatCommitName($existed);
+ $existed_href = $drequest->generateURI(
array(
- 'text' => 'existed',
+ 'action' => 'browse',
+ 'path' => $drequest->getPath(),
'commit' => $existed,
- 'params' => array('view' => $this->view),
+ 'params' => array(
+ 'view' => $this->view,
+ ),
));
+ $existed_link = phutil_tag(
+ 'a',
+ array(
+ 'href' => $existed_href,
+ ),
+ $existed_text);
+
$title = pht('Path Was Deleted');
$body = pht(
- 'This path does not exist at %s. It was deleted in %s and last %s '.
- 'at %s.',
+ 'This path does not exist at %s. It was deleted in %s and last '.
+ 'existed at %s.',
$commit,
self::linkCommit($drequest->getRepository(), $deleted),
- $browse,
- "r{$callsign}{$existed}");
+ $existed_link);
$severity = PHUIInfoView::SEVERITY_WARNING;
break;
case DiffusionBrowseResultSet::REASON_IS_UNTRACKED_PARENT:
diff --git a/src/applications/diffusion/view/DiffusionHistoryTableView.php b/src/applications/diffusion/view/DiffusionHistoryTableView.php
--- a/src/applications/diffusion/view/DiffusionHistoryTableView.php
+++ b/src/applications/diffusion/view/DiffusionHistoryTableView.php
@@ -36,7 +36,7 @@
return $this;
}
- public function getRequiredHandlePHIDs() {
+ private function getRequiredHandlePHIDs() {
$phids = array();
foreach ($this->history as $item) {
$data = $item->getCommitData();
@@ -87,7 +87,8 @@
public function render() {
$drequest = $this->getDiffusionRequest();
- $handles = $this->handles;
+ $viewer = $this->getUser();
+ $handles = $viewer->loadHandles($this->getRequiredHandlePHIDs());
$graph = null;
if ($this->parents) {
@@ -188,8 +189,17 @@
}
}
+ $browse = $this->linkBrowse(
+ $history->getPath(),
+ array(
+ 'commit' => $history->getCommitIdentifier(),
+ 'branch' => $drequest->getBranch(),
+ 'type' => $history->getFileType(),
+ ));
+
$rows[] = array(
$graph ? $graph[$ii++] : null,
+ $browse,
self::linkCommit(
$drequest->getRepository(),
$history->getCommitIdentifier()),
@@ -207,9 +217,10 @@
$view = new AphrontTableView($rows);
$view->setHeaders(
array(
- '',
+ null,
+ null,
pht('Commit'),
- '',
+ null,
pht('Revision'),
pht('Author/Committer'),
pht('Details'),
@@ -219,6 +230,7 @@
$view->setColumnClasses(
array(
'threads',
+ 'nudgeright',
'n',
'icon',
'n',
@@ -237,6 +249,7 @@
true,
true,
true,
+ true,
false,
true,
false,
diff --git a/src/applications/diffusion/view/DiffusionView.php b/src/applications/diffusion/view/DiffusionView.php
--- a/src/applications/diffusion/view/DiffusionView.php
+++ b/src/applications/diffusion/view/DiffusionView.php
@@ -13,36 +13,6 @@
return $this->diffusionRequest;
}
- final public function linkChange(
- $change_type,
- $file_type,
- $path = null,
- $commit_identifier = null) {
-
- $text = DifferentialChangeType::getFullNameForChangeType($change_type);
- if ($change_type == DifferentialChangeType::TYPE_CHILD) {
- // TODO: Don't link COPY_AWAY without a direct change.
- return $text;
- }
- if ($file_type == DifferentialChangeType::FILE_DIRECTORY) {
- return $text;
- }
-
- $href = $this->getDiffusionRequest()->generateURI(
- array(
- 'action' => 'change',
- 'path' => $path,
- 'commit' => $commit_identifier,
- ));
-
- return phutil_tag(
- 'a',
- array(
- 'href' => $href,
- ),
- $text);
- }
-
final public function linkHistory($path) {
$href = $this->getDiffusionRequest()->generateURI(
array(
@@ -50,50 +20,83 @@
'path' => $path,
));
- return phutil_tag(
+ return javelin_tag(
'a',
array(
'href' => $href,
+ 'class' => 'diffusion-link-icon',
+ 'sigil' => 'has-tooltip',
+ 'meta' => array(
+ 'tip' => pht('History'),
+ 'align' => 'E',
+ ),
),
- pht('History'));
+ id(new PHUIIconView())->setIconFont('fa-list-ul blue'));
}
final public function linkBrowse($path, array $details = array()) {
+ require_celerity_resource('diffusion-icons-css');
+ Javelin::initBehavior('phabricator-tooltips');
- $href = $this->getDiffusionRequest()->generateURI(
- $details + array(
- 'action' => 'browse',
- 'path' => $path,
- ));
+ $file_type = idx($details, 'type');
+ unset($details['type']);
+
+ $display_name = idx($details, 'name');
+ unset($details['name']);
- if (isset($details['text'])) {
- $text = $details['text'];
+ if (strlen($display_name)) {
+ $display_name = phutil_tag(
+ 'span',
+ array(
+ 'class' => 'diffusion-browse-name',
+ ),
+ $display_name);
+ }
+
+ if (isset($details['external'])) {
+ $href = id(new PhutilURI('/diffusion/external/'))
+ ->setQueryParams(
+ array(
+ 'uri' => idx($details, 'external'),
+ 'id' => idx($details, 'hash'),
+ ));
+ $tip = pht('Browse External');
} else {
- $text = pht('Browse');
+ $href = $this->getDiffusionRequest()->generateURI(
+ $details + array(
+ 'action' => 'browse',
+ 'path' => $path,
+ ));
+ $tip = pht('Browse');
}
- return phutil_tag(
- 'a',
- array(
- 'href' => $href,
- ),
- $text);
- }
+ $icon = DifferentialChangeType::getIconForFileType($file_type);
+ $icon_view = id(new PHUIIconView())->setIconFont("{$icon} blue");
- final public function linkExternal($hash, $uri, $text) {
- $href = id(new PhutilURI('/diffusion/external/'))
- ->setQueryParams(
- array(
- 'uri' => $uri,
- 'id' => $hash,
- ));
+ // If we're rendering a file or directory name, don't show the tooltip.
+ if ($display_name !== null) {
+ $sigil = null;
+ $meta = null;
+ } else {
+ $sigil = 'has-tooltip';
+ $meta = array(
+ 'tip' => $tip,
+ 'align' => 'E',
+ );
+ }
- return phutil_tag(
+ return javelin_tag(
'a',
array(
'href' => $href,
+ 'class' => 'diffusion-link-icon',
+ 'sigil' => $sigil,
+ 'meta' => $meta,
),
- $text);
+ array(
+ $icon_view,
+ $display_name,
+ ));
}
final public static function nameCommit(
diff --git a/src/infrastructure/diff/view/PHUIDiffTableOfContentsListView.php b/src/infrastructure/diff/view/PHUIDiffTableOfContentsListView.php
--- a/src/infrastructure/diff/view/PHUIDiffTableOfContentsListView.php
+++ b/src/infrastructure/diff/view/PHUIDiffTableOfContentsListView.php
@@ -107,7 +107,7 @@
))
->setColumnClasses(
array(
- 'center',
+ null,
'differential-toc-char center',
'differential-toc-prop center',
'differential-toc-ftype center',
diff --git a/webroot/rsrc/css/aphront/table-view.css b/webroot/rsrc/css/aphront/table-view.css
--- a/webroot/rsrc/css/aphront/table-view.css
+++ b/webroot/rsrc/css/aphront/table-view.css
@@ -175,6 +175,10 @@
text-align: right;
}
+.aphront-table-view td.nudgeright, .aphront-table-view th.nudgeright {
+ padding-right: 0;
+}
+
.aphront-table-view td.wrap {
white-space: normal;
}
@@ -194,6 +198,8 @@
padding: 0px;
}
+
+
div.single-display-line-bounds {
width: 100%;
position: relative;
diff --git a/webroot/rsrc/css/application/diffusion/diffusion-icons.css b/webroot/rsrc/css/application/diffusion/diffusion-icons.css
--- a/webroot/rsrc/css/application/diffusion/diffusion-icons.css
+++ b/webroot/rsrc/css/application/diffusion/diffusion-icons.css
@@ -2,31 +2,6 @@
* @provides diffusion-icons-css
*/
-.diffusion-path-icon {
- display: block;
- padding-left: 28px;
- background-repeat: no-repeat;
- background-position: 1px 1px;
- height: 18px;
- padding-top: 1px;
-}
-
-.diffusion-path-icon-ext {
- background-image: url(/rsrc/image/icon/fatcow/folder_go.png);
-}
-
-.diffusion-path-icon-dir {
- background-image: url(/rsrc/image/icon/fatcow/folder.png);
-}
-
-.diffusion-path-icon-file {
- background-image: url(/rsrc/image/icon/fatcow/page_white_text.png);
-}
-
-.diffusion-path-icon-link {
- background-image: url(/rsrc/image/icon/fatcow/page_white_link.png);
-}
-
input.diffusion-clone-uri {
display: block;
width: 100%;
@@ -37,3 +12,11 @@
text-align: right;
color: {$lightgreytext};
}
+
+.diffusion-browse-name {
+ margin-left: 8px;
+}
+
+.diffusion-link-icon + .diffusion-link-icon {
+ margin-left: 6px;
+}
diff --git a/webroot/rsrc/image/icon/fatcow/folder.png b/webroot/rsrc/image/icon/fatcow/folder.png
deleted file mode 100644
index f1ed9abe0338be5a0401f4aee1b3bb168b4d815f..0000000000000000000000000000000000000000
GIT binary patch
literal 0
Hc$@<O00001
literal 632
zc$@)v0*C#HP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0000PbVXQnQ*UN;
zcVTj606}DLVr3vnZDD6+Qe|Oed2z{QJOBU!8c9S!RCwB?Q$24JK@fejyJrW3Q3wPI
zn?w{yq2NPFL`xHBDJYN-qJbg>4gUbq(tw1lgoXx`HVs0gK|-QT;Nk*gBnKlTn_z-{
zmhYU)-7d3t&KJ-ik94}dotgJ$-pr9P27{QufTqgxGmAP3uNoaE7bGM|sxpx{$6x!S
zseeO+ZJ)Bq=VzY*TTvP$C03r?ILjc0=nnu+A|W7D<`Wa0NdS!2oV<y!@({)loWeCs
z&OYbn`pFh#8_2$tf?K*ZAxTW}{jy3Nrpt~4?3akvU-8AuB$gP&#2P`z@0V_nDO~4x
zgN`3w%pc5J0CvSbgfqlPX^Y%p)~rkAor|E=u`KN2iP3!ssgQG=66^LL1)xn!hoBuG
z={u!EZKZ<Iu@M}<SppJ~P5M~BlYu*T`<Sw2BJ%M0t&8q2Z&xqYV|?l~jueh!tNMtm
z)=B9WK<0`F#RQt|a7kHazrM!G0@L>vxShDKmPGuu1Z{X#D3g|-0BZ&qN9*G%zO46N
zD4sVu^%@Qrc`Ds1baRPAMG7LbeA>HftOGIA&>{S+y14WB!(!4xyYUUh=}X*79hA*;
zs@NUjK4So91b$-;-y6->tMfCSvO&Q{3%OG#fnJLTF^s=9aIa;Dv9bIfwI98O6QfM#
z&RzC+V0j(IuuEljHs;@Ei!vnIlXu^Ym7iYmY~+PRvHvr>_inmd1OCpx1sDLU%fF)P
S!b7P50000<MNUMnLSTa25FW<>
diff --git a/webroot/rsrc/image/icon/fatcow/folder_go.png b/webroot/rsrc/image/icon/fatcow/folder_go.png
deleted file mode 100644
index 3c36ef0c952ed9208f4ed85dd6a65d1805989d0b..0000000000000000000000000000000000000000
GIT binary patch
literal 0
Hc$@<O00001
literal 803
zc$@(v1Kj+HP)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0000PbVXQnQ*UN;
zcVTj606}DLVr3vnZDD6+Qe|Oed2z{QJOBU!#Ysd#RCwBiQ%y)zQ562}efK&3PE%o6
zCZU4lB8_aIRTM(DQwx$@n7Fb{QPd_{7!`yGZA`O;$q=Q11zFM$Og~5=TI5gG7|iIP
zjiRMFjpWRGb31pQGuo;<bKbr0o^!tQou9{sZ<Q`Yjj%&TO{m4V2BwK=#&{XM+0+%{
zi^cu|jP=K_g>o*gzXL=J%ShAkvAH^%Kt>r`^G#q-050@7#>JKxfQ&}Tc?IF|>yVN`
z&pwJh^>+cz5>c&(v^Jq*sHG-T(={hC84xie86rgr=`|R$y$NH*fDsUjot0q}JpT--
zCBFE7g$s8$C?92ME)y+EmuYJ$)5bLp-+%`T{=h0B0!B5M5GdGc`$TnnWC7q0v?K)}
zVxcV74Br0F$k=E@e&v0Of>ff4P4yy>q1L)e5mRVkOnex}ymx9{+8nth1=yUE3HV#F
z%hiO^Jivi0G?bo)A#<^`Z1fApIaUH*gntL&JljcWnpP@WGBDLfNIIQ$q|jB}fph5S
zYr@s{4{&;01-{QmItBF`OMyw)x9<d&y^ud%QYOi`{I&z#<9?{BP$|HuSwhP|#oj7B
z9`3@Wci+&|_|p|jAviOQtfGC?&H#;$9Y{(=x5tl%r<xIpJW~)<c<KP(gt56UR61+W
zYja_LBU*%NQ*dS$dF44&%S8&~Al9iA4OonLFgW=nF+@?>14bE*&AD*IS%<-|?NuTw
z*%BARKGb#-YN$B<(zp#e83x%XY#S_RA^<az7*;$TX@?ntTNS+c!tui05yLc9mzgBC
z1~dAKJhk>T9Hw_QH!!GkCyrU?32N4x*Ld;j3Ql6=_8|qDMv}TtQb=-1O5##>4f5U;
zWP=;>;6*%F`tlp<%c4afp?IF0rXZaqp*Gm#OK0$LtTFKVDY6@Gid;|5KK%2k{(qIM
h?h7Q|_~l;#1^{hH`BJynySM-V002ovPDHLkV1ffOXORE^
diff --git a/webroot/rsrc/image/icon/fatcow/page_white_link.png b/webroot/rsrc/image/icon/fatcow/page_white_link.png
deleted file mode 100644
index fcb5f80f7fbc32237934c80cab577f4795e6beb8..0000000000000000000000000000000000000000
GIT binary patch
literal 0
Hc$@<O00001
literal 732
zc$@*;0wev2P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0000PbVXQnQ*UN;
zcVTj606}DLVr3vnZDD6+Qe|Oed2z{QJOBU!en~_@RCwByQr}BcVHkeS*_ne-wieAF
zSA(P_5lwIxEu%j`ikSu_-2@pCq;y@G680BlQ|ZQ9i(qXNuN3JAj3I2nE{ZAGoTBO3
z*`~4Oe(&^tM>i)4(F-r%_kKT~_xYaZ<ECe3wu_~bPA-=rqc&K@f#*1I94B3~*$g-;
zK6pIxzd{s6+2wXSkGjv(zA{;fu2QZcy1J%}tY+bGI$<yv&}p^aba_1Q{s!2e2!aY~
z^+B?l1;_J{;&C)KHsX@idc*DYx@rLg?7y7n1xl{EQ7-STpKfi%-26P4Mz{L<K#Y41
z1IQHyJQM4H8gWbgPQ%jCp=4EB`LNVNWuj6E3P1&foy%qO$Yzpzj?nta6M6#Xj|Ql#
zQxk|v$qGoBXctRGrK^hH(?qRS9|owUJvH?P%aI6*g#vQ99E?UI1_vG}4Bk55V{tJ|
zjq32^>4;2?z6}pOKF5(Ya*xf1m*bOYYHq@nt}cjTOzH0P`?0dT44wWsTAEtW-F+21
zzf#ET?!v#YfM78AU8wY5T3W*Wdw20@Xc+73>u4t1n1xKTG+o%(_=&*RAY!73?VTMw
zA00&~6gpegAfL};Yb%CQv51F*19&lJ$E!&@Vp0N`Ool#I6mzq)xY&6C)7}|`!(ru{
zR{_|Y^YnI&MuRc?I1+IQ!z0g-PNx+S^RypNB$Q+qGgLDsLdBN0Gi~tse7N4*3rUg?
z2n67EyV1~450lA+Rr=!R+uLC_n^7RPo12@EVzDy!+Tr-D)oL#@H$Hy)g56XK$Li~m
zrZGyi`}^-ePySC#Od|3l0*l3hY&MHzGMOM(ZZi!}QR?vjQDEBt5nup$gF|~<@}<N8
O0000<MNUMnLSTYN6jogT
diff --git a/webroot/rsrc/image/icon/fatcow/page_white_text.png b/webroot/rsrc/image/icon/fatcow/page_white_text.png
deleted file mode 100644
index f64dd01170b529d64d1843e7fab38389b05bd796..0000000000000000000000000000000000000000
GIT binary patch
literal 0
Hc$@<O00001
literal 568
zc$@(^0>}M{P)<h;3K|Lk000e1NJLTq000mG000mO1^@s6AM^iV0000PbVXQnQ*UN;
zcVTj606}DLVr3vnZDD6+Qe|Oed2z{QJOBUz+DSw~RCwBylgmyUF%*V>&t)G`DS3bj
zbwLG$42l$$aw!)z*&tv+5pO|wfhg$$Shjrv6c&&Rh#hQrkgC8g0;ydP5;0?+9=nst
zgi_l6($V<%^38AiSP&6TPEWrFQYJ_#5aQCAfF%Tk5H~B!%gJbjsNbkH8uT}{S}i)N
z*Q;@W4l7Rkc6r5djmxWR^VPZ5ezl5ZGKn|2+=rt^;~?(Q=@~VNV{5A%8rla7%fij=
zEmElzrgFLUdb8<r_gVz#A#B?T0U`t_)BkFC7-#3_P<%$48ygzDI^dvZ!F3&m*dc(R
z7;xY1z{_Mz^rVOew-6<ci!Yx)VQh5VEY^_OxjB^g$`~1WjknV?crldtwZEqTwrydn
zSRA}2R&je9Qc46tfX8|SaIv?$i}d&e<`);Zy@Pam!oXx8F+2b6H-H&Dtkuk2ce-8T
zf-><C1mtr_QY4k42j8drPRGm(=bN>IXTS&eu~LEOO|oT$Lg76s<uWpvNn?L$Y4Ldn
zyy)3#^nLjU2fA`tmL*Usm5|M5O${h^kuMZXpXYhV=ktiq@4tm+lm18H{Jw+s-Q7j~
z_;^~s#^?`3cuKm++U@p5lxqrizT|cS|E?dr?yGM66kq^7%!;Q=*sCA_0000<MNUMn
GLSTY5gaUs6

File Metadata

Mime Type
text/plain
Expires
Fri, Apr 18, 2:29 AM (3 w, 1 d ago)
Storage Engine
blob
Storage Format
Encrypted (AES-256-CBC)
Storage Handle
7715049
Default Alt Text
D14096.id34069.diff (24 KB)

Event Timeline