kou commented on PR #7060:
URL: https://github.com/apache/arrow-rs/pull/7060#issuecomment-2628819583
I tested them with the following:
```diff
diff --git a/dev/release/remove-old-artifacts.sh
b/dev/release/remove-old-artifacts.sh
index 06bcc2740..bf23c4588 100755
--- a/dev/release/remove-old-artifacts.sh
+++ b/dev/release/remove-old-artifacts.sh
@@ -40,7 +40,7 @@ old_rcs=$(
)
for old_rc in $old_rcs; do
echo "Remove RC: ${old_rc}"
- svn \
+ echo svn \
delete \
-m "Remove old Apache Arrow Rust RC: ${old_rc}" \
${dev_base_url}/${old_rc}
@@ -56,7 +56,7 @@ old_releases=$(
)
for old_release_version in $old_releases; do
echo "Remove old release: ${old_release_version}"
- svn \
+ echo svn \
delete \
-m "Remove Apache Arrow Rust release: ${old_release_version}" \
${release_base_url}/${old_release_version}
diff --git a/object_store/dev/release/remove-old-artifacts.sh
b/object_store/dev/release/remove-old-artifacts.sh
index bbbbe0c36..0d730522e 100755
--- a/object_store/dev/release/remove-old-artifacts.sh
+++ b/object_store/dev/release/remove-old-artifacts.sh
@@ -40,7 +40,7 @@ old_rcs=$(
)
for old_rc in $old_rcs; do
echo "Remove RC: ${old_rc}"
- svn \
+ echo svn \
delete \
-m "Remove old Apache Arrow Rust Object Store RC: ${old_rc}" \
${dev_base_url}/${old_rc}
@@ -56,7 +56,7 @@ old_releases=$(
)
for old_release_version in $old_releases; do
echo "Remove old release: ${old_release_version}"
- svn \
+ echo svn \
delete \
-m "Remove Apache Arrow Rust Object Store release:
${old_release_version}" \
${release_base_url}/${old_release_version}
```
<details>
<summary>arrow-rs</summary>
```console
$ dev/release/remove-old-artifacts.sh
Remove all RCs
Remove RC: apache-arrow-rs-21.0.0-rc1/
svn delete -m Remove old Apache Arrow Rust RC: apache-arrow-rs-21.0.0-rc1/
https://dist.apache.org/repos/dist/dev/arrow/apache-arrow-rs-21.0.0-rc1/
Remove RC: apache-arrow-rs-21.0.0-rc2/
svn delete -m Remove old Apache Arrow Rust RC: apache-arrow-rs-21.0.0-rc2/
https://dist.apache.org/repos/dist/dev/arrow/apache-arrow-rs-21.0.0-rc2/
Remove RC: apache-arrow-rs-22.0.0-rc1/
svn delete -m Remove old Apache Arrow Rust RC: apache-arrow-rs-22.0.0-rc1/
https://dist.apache.org/repos/dist/dev/arrow/apache-arrow-rs-22.0.0-rc1/
Remove RC: apache-arrow-rs-23.0.0-rc1/
svn delete -m Remove old Apache Arrow Rust RC: apache-arrow-rs-23.0.0-rc1/
https://dist.apache.org/repos/dist/dev/arrow/apache-arrow-rs-23.0.0-rc1/
Remove RC: apache-arrow-rs-23.0.0-rc2/
svn delete -m Remove old Apache Arrow Rust RC: apache-arrow-rs-23.0.0-rc2/
https://dist.apache.org/repos/dist/dev/arrow/apache-arrow-rs-23.0.0-rc2/
Remove RC: apache-arrow-rs-24.0.0-rc1/
svn delete -m Remove old Apache Arrow Rust RC: apache-arrow-rs-24.0.0-rc1/
https://dist.apache.org/repos/dist/dev/arrow/apache-arrow-rs-24.0.0-rc1/
Remove RC: apache-arrow-rs-25.0.0-rc1/
svn delete -m Remove old Apache Arrow Rust RC: apache-arrow-rs-25.0.0-rc1/
https://dist.apache.org/repos/dist/dev/arrow/apache-arrow-rs-25.0.0-rc1/
Remove RC: apache-arrow-rs-26.0.0-rc1/
svn delete -m Remove old Apache Arrow Rust RC: apache-arrow-rs-26.0.0-rc1/
https://dist.apache.org/repos/dist/dev/arrow/apache-arrow-rs-26.0.0-rc1/
Remove RC: apache-arrow-rs-26.0.0-rc2/
svn delete -m Remove old Apache Arrow Rust RC: apache-arrow-rs-26.0.0-rc2/
https://dist.apache.org/repos/dist/dev/arrow/apache-arrow-rs-26.0.0-rc2/
Remove RC: apache-arrow-rs-27.0.0-rc1/
svn delete -m Remove old Apache Arrow Rust RC: apache-arrow-rs-27.0.0-rc1/
https://dist.apache.org/repos/dist/dev/arrow/apache-arrow-rs-27.0.0-rc1/
Remove RC: apache-arrow-rs-28.0.0-rc1/
svn delete -m Remove old Apache Arrow Rust RC: apache-arrow-rs-28.0.0-rc1/
https://dist.apache.org/repos/dist/dev/arrow/apache-arrow-rs-28.0.0-rc1/
Remove RC: apache-arrow-rs-29.0.0-rc1/
svn delete -m Remove old Apache Arrow Rust RC: apache-arrow-rs-29.0.0-rc1/
https://dist.apache.org/repos/dist/dev/arrow/apache-arrow-rs-29.0.0-rc1/
Remove RC: apache-arrow-rs-29.0.0-rc2/
svn delete -m Remove old Apache Arrow Rust RC: apache-arrow-rs-29.0.0-rc2/
https://dist.apache.org/repos/dist/dev/arrow/apache-arrow-rs-29.0.0-rc2/
Remove RC: apache-arrow-rs-30.0.0-rc1/
svn delete -m Remove old Apache Arrow Rust RC: apache-arrow-rs-30.0.0-rc1/
https://dist.apache.org/repos/dist/dev/arrow/apache-arrow-rs-30.0.0-rc1/
Remove RC: apache-arrow-rs-30.0.0-rc2/
svn delete -m Remove old Apache Arrow Rust RC: apache-arrow-rs-30.0.0-rc2/
https://dist.apache.org/repos/dist/dev/arrow/apache-arrow-rs-30.0.0-rc2/
Remove RC: apache-arrow-rs-30.0.1-rc1/
svn delete -m Remove old Apache Arrow Rust RC: apache-arrow-rs-30.0.1-rc1/
https://dist.apache.org/repos/dist/dev/arrow/apache-arrow-rs-30.0.1-rc1/
Remove RC: apache-arrow-rs-30.0.1-rc2/
svn delete -m Remove old Apache Arrow Rust RC: apache-arrow-rs-30.0.1-rc2/
https://dist.apache.org/repos/dist/dev/arrow/apache-arrow-rs-30.0.1-rc2/
Remove RC: apache-arrow-rs-31.0.0-rc1/
svn delete -m Remove old Apache Arrow Rust RC: apache-arrow-rs-31.0.0-rc1/
https://dist.apache.org/repos/dist/dev/arrow/apache-arrow-rs-31.0.0-rc1/
Remove RC: apache-arrow-rs-32.0.0-rc1/
svn delete -m Remove old Apache Arrow Rust RC: apache-arrow-rs-32.0.0-rc1/
https://dist.apache.org/repos/dist/dev/arrow/apache-arrow-rs-32.0.0-rc1/
Remove RC: apache-arrow-rs-33.0.0-rc1/
svn delete -m Remove old Apache Arrow Rust RC: apache-arrow-rs-33.0.0-rc1/
https://dist.apache.org/repos/dist/dev/arrow/apache-arrow-rs-33.0.0-rc1/
Remove RC: apache-arrow-rs-34.0.0-rc1/
svn delete -m Remove old Apache Arrow Rust RC: apache-arrow-rs-34.0.0-rc1/
https://dist.apache.org/repos/dist/dev/arrow/apache-arrow-rs-34.0.0-rc1/
Remove RC: apache-arrow-rs-35.0.0-rc1/
svn delete -m Remove old Apache Arrow Rust RC: apache-arrow-rs-35.0.0-rc1/
https://dist.apache.org/repos/dist/dev/arrow/apache-arrow-rs-35.0.0-rc1/
Remove RC: apache-arrow-rs-36.0.0-rc1/
svn delete -m Remove old Apache Arrow Rust RC: apache-arrow-rs-36.0.0-rc1/
https://dist.apache.org/repos/dist/dev/arrow/apache-arrow-rs-36.0.0-rc1/
Remove RC: apache-arrow-rs-37.0.0-rc1/
svn delete -m Remove old Apache Arrow Rust RC: apache-arrow-rs-37.0.0-rc1/
https://dist.apache.org/repos/dist/dev/arrow/apache-arrow-rs-37.0.0-rc1/
Remove RC: apache-arrow-rs-37.0.0-rc2/
svn delete -m Remove old Apache Arrow Rust RC: apache-arrow-rs-37.0.0-rc2/
https://dist.apache.org/repos/dist/dev/arrow/apache-arrow-rs-37.0.0-rc2/
Remove RC: apache-arrow-rs-38.0.0-rc1/
svn delete -m Remove old Apache Arrow Rust RC: apache-arrow-rs-38.0.0-rc1/
https://dist.apache.org/repos/dist/dev/arrow/apache-arrow-rs-38.0.0-rc1/
Remove RC: apache-arrow-rs-39.0.0-rc1/
svn delete -m Remove old Apache Arrow Rust RC: apache-arrow-rs-39.0.0-rc1/
https://dist.apache.org/repos/dist/dev/arrow/apache-arrow-rs-39.0.0-rc1/
Remove RC: apache-arrow-rs-40.0.0-rc1/
svn delete -m Remove old Apache Arrow Rust RC: apache-arrow-rs-40.0.0-rc1/
https://dist.apache.org/repos/dist/dev/arrow/apache-arrow-rs-40.0.0-rc1/
Remove RC: apache-arrow-rs-41.0.0-rc1/
svn delete -m Remove old Apache Arrow Rust RC: apache-arrow-rs-41.0.0-rc1/
https://dist.apache.org/repos/dist/dev/arrow/apache-arrow-rs-41.0.0-rc1/
Remove RC: apache-arrow-rs-42.0.0-rc1/
svn delete -m Remove old Apache Arrow Rust RC: apache-arrow-rs-42.0.0-rc1/
https://dist.apache.org/repos/dist/dev/arrow/apache-arrow-rs-42.0.0-rc1/
Remove RC: apache-arrow-rs-43.0.0-rc1/
svn delete -m Remove old Apache Arrow Rust RC: apache-arrow-rs-43.0.0-rc1/
https://dist.apache.org/repos/dist/dev/arrow/apache-arrow-rs-43.0.0-rc1/
Remove RC: apache-arrow-rs-44.0.0-rc1/
svn delete -m Remove old Apache Arrow Rust RC: apache-arrow-rs-44.0.0-rc1/
https://dist.apache.org/repos/dist/dev/arrow/apache-arrow-rs-44.0.0-rc1/
Remove RC: apache-arrow-rs-45.0.0-rc1/
svn delete -m Remove old Apache Arrow Rust RC: apache-arrow-rs-45.0.0-rc1/
https://dist.apache.org/repos/dist/dev/arrow/apache-arrow-rs-45.0.0-rc1/
Remove RC: apache-arrow-rs-46.0.0-rc1/
svn delete -m Remove old Apache Arrow Rust RC: apache-arrow-rs-46.0.0-rc1/
https://dist.apache.org/repos/dist/dev/arrow/apache-arrow-rs-46.0.0-rc1/
Remove RC: apache-arrow-rs-47.0.0-rc1/
svn delete -m Remove old Apache Arrow Rust RC: apache-arrow-rs-47.0.0-rc1/
https://dist.apache.org/repos/dist/dev/arrow/apache-arrow-rs-47.0.0-rc1/
Remove RC: apache-arrow-rs-48.0.0-rc1/
svn delete -m Remove old Apache Arrow Rust RC: apache-arrow-rs-48.0.0-rc1/
https://dist.apache.org/repos/dist/dev/arrow/apache-arrow-rs-48.0.0-rc1/
Remove RC: apache-arrow-rs-48.0.0-rc2/
svn delete -m Remove old Apache Arrow Rust RC: apache-arrow-rs-48.0.0-rc2/
https://dist.apache.org/repos/dist/dev/arrow/apache-arrow-rs-48.0.0-rc2/
Remove RC: apache-arrow-rs-48.0.1-rc1/
svn delete -m Remove old Apache Arrow Rust RC: apache-arrow-rs-48.0.1-rc1/
https://dist.apache.org/repos/dist/dev/arrow/apache-arrow-rs-48.0.1-rc1/
Remove RC: apache-arrow-rs-49.0.0-rc1/
svn delete -m Remove old Apache Arrow Rust RC: apache-arrow-rs-49.0.0-rc1/
https://dist.apache.org/repos/dist/dev/arrow/apache-arrow-rs-49.0.0-rc1/
Remove RC: apache-arrow-rs-50.0.0-rc1/
svn delete -m Remove old Apache Arrow Rust RC: apache-arrow-rs-50.0.0-rc1/
https://dist.apache.org/repos/dist/dev/arrow/apache-arrow-rs-50.0.0-rc1/
Remove RC: apache-arrow-rs-51.0.0-rc1/
svn delete -m Remove old Apache Arrow Rust RC: apache-arrow-rs-51.0.0-rc1/
https://dist.apache.org/repos/dist/dev/arrow/apache-arrow-rs-51.0.0-rc1/
Remove RC: apache-arrow-rs-52.0.0-rc1/
svn delete -m Remove old Apache Arrow Rust RC: apache-arrow-rs-52.0.0-rc1/
https://dist.apache.org/repos/dist/dev/arrow/apache-arrow-rs-52.0.0-rc1/
Remove RC: apache-arrow-rs-52.1.0-rc1/
svn delete -m Remove old Apache Arrow Rust RC: apache-arrow-rs-52.1.0-rc1/
https://dist.apache.org/repos/dist/dev/arrow/apache-arrow-rs-52.1.0-rc1/
Remove RC: apache-arrow-rs-52.2.0-rc1/
svn delete -m Remove old Apache Arrow Rust RC: apache-arrow-rs-52.2.0-rc1/
https://dist.apache.org/repos/dist/dev/arrow/apache-arrow-rs-52.2.0-rc1/
Remove RC: apache-arrow-rs-53.0.0-rc1/
svn delete -m Remove old Apache Arrow Rust RC: apache-arrow-rs-53.0.0-rc1/
https://dist.apache.org/repos/dist/dev/arrow/apache-arrow-rs-53.0.0-rc1/
Remove RC: apache-arrow-rs-53.0.0-rc2/
svn delete -m Remove old Apache Arrow Rust RC: apache-arrow-rs-53.0.0-rc2/
https://dist.apache.org/repos/dist/dev/arrow/apache-arrow-rs-53.0.0-rc2/
Remove RC: apache-arrow-rs-53.1.0-rc1/
svn delete -m Remove old Apache Arrow Rust RC: apache-arrow-rs-53.1.0-rc1/
https://dist.apache.org/repos/dist/dev/arrow/apache-arrow-rs-53.1.0-rc1/
Remove RC: apache-arrow-rs-53.2.0-rc1/
svn delete -m Remove old Apache Arrow Rust RC: apache-arrow-rs-53.2.0-rc1/
https://dist.apache.org/repos/dist/dev/arrow/apache-arrow-rs-53.2.0-rc1/
Remove RC: apache-arrow-rs-53.3.0-rc1/
svn delete -m Remove old Apache Arrow Rust RC: apache-arrow-rs-53.3.0-rc1/
https://dist.apache.org/repos/dist/dev/arrow/apache-arrow-rs-53.3.0-rc1/
Remove RC: apache-arrow-rs-53.4.0-rc1/
svn delete -m Remove old Apache Arrow Rust RC: apache-arrow-rs-53.4.0-rc1/
https://dist.apache.org/repos/dist/dev/arrow/apache-arrow-rs-53.4.0-rc1/
Remove RC: apache-arrow-rs-53.4.0-rc2/
svn delete -m Remove old Apache Arrow Rust RC: apache-arrow-rs-53.4.0-rc2/
https://dist.apache.org/repos/dist/dev/arrow/apache-arrow-rs-53.4.0-rc2/
Remove RC: apache-arrow-rs-54.0.0-rc1/
svn delete -m Remove old Apache Arrow Rust RC: apache-arrow-rs-54.0.0-rc1/
https://dist.apache.org/repos/dist/dev/arrow/apache-arrow-rs-54.0.0-rc1/
Remove RC: apache-arrow-rs-54.1.0-rc1/
svn delete -m Remove old Apache Arrow Rust RC: apache-arrow-rs-54.1.0-rc1/
https://dist.apache.org/repos/dist/dev/arrow/apache-arrow-rs-54.1.0-rc1/
Remove all but the most recent version
Remove old release: arrow-rs-53.4.0/
svn delete -m Remove Apache Arrow Rust release: arrow-rs-53.4.0/
https://dist.apache.org/repos/dist/release/arrow/arrow-rs-53.4.0/
```
</details>
<details>
<summary>object_store</summary>
```console
$ object_store/dev/release/remove-old-artifacts.sh
Remove all RCs
Remove RC: apache-arrow-object-store-rs-0.5.0-rc1/
svn delete -m Remove old Apache Arrow Rust Object Store RC:
apache-arrow-object-store-rs-0.5.0-rc1/
https://dist.apache.org/repos/dist/dev/arrow/apache-arrow-object-store-rs-0.5.0-rc1/
Remove RC: apache-arrow-object-store-rs-0.5.0-rc2/
svn delete -m Remove old Apache Arrow Rust Object Store RC:
apache-arrow-object-store-rs-0.5.0-rc2/
https://dist.apache.org/repos/dist/dev/arrow/apache-arrow-object-store-rs-0.5.0-rc2/
Remove RC: apache-arrow-object-store-rs-0.5.1-rc1/
svn delete -m Remove old Apache Arrow Rust Object Store RC:
apache-arrow-object-store-rs-0.5.1-rc1/
https://dist.apache.org/repos/dist/dev/arrow/apache-arrow-object-store-rs-0.5.1-rc1/
Remove RC: apache-arrow-object-store-rs-0.5.2-rc1/
svn delete -m Remove old Apache Arrow Rust Object Store RC:
apache-arrow-object-store-rs-0.5.2-rc1/
https://dist.apache.org/repos/dist/dev/arrow/apache-arrow-object-store-rs-0.5.2-rc1/
Remove RC: apache-arrow-object-store-rs-0.5.3-rc1/
svn delete -m Remove old Apache Arrow Rust Object Store RC:
apache-arrow-object-store-rs-0.5.3-rc1/
https://dist.apache.org/repos/dist/dev/arrow/apache-arrow-object-store-rs-0.5.3-rc1/
Remove RC: apache-arrow-object-store-rs-0.5.4-rc1/
svn delete -m Remove old Apache Arrow Rust Object Store RC:
apache-arrow-object-store-rs-0.5.4-rc1/
https://dist.apache.org/repos/dist/dev/arrow/apache-arrow-object-store-rs-0.5.4-rc1/
Remove RC: apache-arrow-object-store-rs-0.5.5-rc1/
svn delete -m Remove old Apache Arrow Rust Object Store RC:
apache-arrow-object-store-rs-0.5.5-rc1/
https://dist.apache.org/repos/dist/dev/arrow/apache-arrow-object-store-rs-0.5.5-rc1/
Remove RC: apache-arrow-object-store-rs-0.5.6-rc1/
svn delete -m Remove old Apache Arrow Rust Object Store RC:
apache-arrow-object-store-rs-0.5.6-rc1/
https://dist.apache.org/repos/dist/dev/arrow/apache-arrow-object-store-rs-0.5.6-rc1/
Remove RC: apache-arrow-object-store-rs-0.5.6-rc2/
svn delete -m Remove old Apache Arrow Rust Object Store RC:
apache-arrow-object-store-rs-0.5.6-rc2/
https://dist.apache.org/repos/dist/dev/arrow/apache-arrow-object-store-rs-0.5.6-rc2/
Remove RC: apache-arrow-object-store-rs-0.6.0-rc1/
svn delete -m Remove old Apache Arrow Rust Object Store RC:
apache-arrow-object-store-rs-0.6.0-rc1/
https://dist.apache.org/repos/dist/dev/arrow/apache-arrow-object-store-rs-0.6.0-rc1/
Remove RC: apache-arrow-object-store-rs-0.6.1-rc1/
svn delete -m Remove old Apache Arrow Rust Object Store RC:
apache-arrow-object-store-rs-0.6.1-rc1/
https://dist.apache.org/repos/dist/dev/arrow/apache-arrow-object-store-rs-0.6.1-rc1/
Remove RC: apache-arrow-object-store-rs-0.7.0-rc1/
svn delete -m Remove old Apache Arrow Rust Object Store RC:
apache-arrow-object-store-rs-0.7.0-rc1/
https://dist.apache.org/repos/dist/dev/arrow/apache-arrow-object-store-rs-0.7.0-rc1/
Remove RC: apache-arrow-object-store-rs-0.7.1-rc1/
svn delete -m Remove old Apache Arrow Rust Object Store RC:
apache-arrow-object-store-rs-0.7.1-rc1/
https://dist.apache.org/repos/dist/dev/arrow/apache-arrow-object-store-rs-0.7.1-rc1/
Remove RC: apache-arrow-object-store-rs-0.8.0-rc1/
svn delete -m Remove old Apache Arrow Rust Object Store RC:
apache-arrow-object-store-rs-0.8.0-rc1/
https://dist.apache.org/repos/dist/dev/arrow/apache-arrow-object-store-rs-0.8.0-rc1/
Remove RC: apache-arrow-object-store-rs-0.9.0-rc1/
svn delete -m Remove old Apache Arrow Rust Object Store RC:
apache-arrow-object-store-rs-0.9.0-rc1/
https://dist.apache.org/repos/dist/dev/arrow/apache-arrow-object-store-rs-0.9.0-rc1/
Remove RC: apache-arrow-object-store-rs-0.9.1-rc1/
svn delete -m Remove old Apache Arrow Rust Object Store RC:
apache-arrow-object-store-rs-0.9.1-rc1/
https://dist.apache.org/repos/dist/dev/arrow/apache-arrow-object-store-rs-0.9.1-rc1/
Remove RC: apache-arrow-object-store-rs-0.10.0-rc1/
svn delete -m Remove old Apache Arrow Rust Object Store RC:
apache-arrow-object-store-rs-0.10.0-rc1/
https://dist.apache.org/repos/dist/dev/arrow/apache-arrow-object-store-rs-0.10.0-rc1/
Remove RC: apache-arrow-object-store-rs-0.10.1-rc1/
svn delete -m Remove old Apache Arrow Rust Object Store RC:
apache-arrow-object-store-rs-0.10.1-rc1/
https://dist.apache.org/repos/dist/dev/arrow/apache-arrow-object-store-rs-0.10.1-rc1/
Remove RC: apache-arrow-object-store-rs-0.10.2-rc1/
svn delete -m Remove old Apache Arrow Rust Object Store RC:
apache-arrow-object-store-rs-0.10.2-rc1/
https://dist.apache.org/repos/dist/dev/arrow/apache-arrow-object-store-rs-0.10.2-rc1/
Remove RC: apache-arrow-object-store-rs-0.11.0-rc1/
svn delete -m Remove old Apache Arrow Rust Object Store RC:
apache-arrow-object-store-rs-0.11.0-rc1/
https://dist.apache.org/repos/dist/dev/arrow/apache-arrow-object-store-rs-0.11.0-rc1/
Remove RC: apache-arrow-object-store-rs-0.11.0-rc2/
svn delete -m Remove old Apache Arrow Rust Object Store RC:
apache-arrow-object-store-rs-0.11.0-rc2/
https://dist.apache.org/repos/dist/dev/arrow/apache-arrow-object-store-rs-0.11.0-rc2/
Remove RC: apache-arrow-object-store-rs-0.11.1-rc1/
svn delete -m Remove old Apache Arrow Rust Object Store RC:
apache-arrow-object-store-rs-0.11.1-rc1/
https://dist.apache.org/repos/dist/dev/arrow/apache-arrow-object-store-rs-0.11.1-rc1/
Remove RC: apache-arrow-object-store-rs-0.11.2-rc1/
svn delete -m Remove old Apache Arrow Rust Object Store RC:
apache-arrow-object-store-rs-0.11.2-rc1/
https://dist.apache.org/repos/dist/dev/arrow/apache-arrow-object-store-rs-0.11.2-rc1/
Remove all but the most recent version
```
</details>
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]