Skip to content

Commit

Permalink
Merge pull request #2968 from ClearlyClaire/glitch-soc/merge-upstream
Browse files Browse the repository at this point in the history
Merge upstream changes up to 4fc8c69
  • Loading branch information
ClearlyClaire authored Feb 12, 2025
2 parents 6d14a36 + 28d85ed commit 791d5d9
Show file tree
Hide file tree
Showing 61 changed files with 1,150 additions and 888 deletions.
2 changes: 1 addition & 1 deletion .nvmrc
Original file line number Diff line number Diff line change
@@ -1 +1 @@
22.13
22.14
29 changes: 16 additions & 13 deletions Gemfile.lock
Original file line number Diff line number Diff line change
Expand Up @@ -328,7 +328,7 @@ GEM
azure-blob (~> 0.5.2)
hashie (~> 5.0)
jmespath (1.6.2)
json (2.9.1)
json (2.10.1)
json-canonicalization (1.0.0)
json-jwt (1.15.3.1)
activesupport (>= 4.2)
Expand Down Expand Up @@ -371,9 +371,10 @@ GEM
mime-types
terrapin (>= 0.6.0, < 2.0)
language_server-protocol (3.17.0.4)
launchy (3.0.1)
launchy (3.1.0)
addressable (~> 2.8)
childprocess (~> 5.0)
logger (~> 1.6)
letter_opener (1.10.0)
launchy (>= 2.2, < 4)
letter_opener_web (3.0.0)
Expand Down Expand Up @@ -416,15 +417,15 @@ GEM
mutex_m (0.3.0)
net-http (0.6.0)
uri
net-imap (0.5.5)
net-imap (0.5.6)
date
net-protocol
net-ldap (0.19.0)
net-pop (0.1.2)
net-protocol
net-protocol (0.2.2)
timeout
net-smtp (0.5.0)
net-smtp (0.5.1)
net-protocol
nio4r (2.7.4)
nokogiri (1.18.2)
Expand Down Expand Up @@ -562,10 +563,10 @@ GEM
opentelemetry-api (~> 1.0)
orm_adapter (0.5.0)
ostruct (0.6.1)
ox (2.14.21)
ox (2.14.22)
bigdecimal (>= 3.0)
parallel (1.26.3)
parser (3.3.7.0)
parser (3.3.7.1)
ast (~> 2.4.1)
racc
parslet (2.0.0)
Expand Down Expand Up @@ -602,7 +603,7 @@ GEM
activesupport (>= 3.0.0)
raabro (1.4.0)
racc (1.8.1)
rack (2.2.10)
rack (2.2.11)
rack-attack (6.7.0)
rack (>= 1.0, < 4)
rack-cors (2.0.2)
Expand Down Expand Up @@ -669,7 +670,7 @@ GEM
link_header (~> 0.0, >= 0.0.8)
rdf-normalize (0.7.0)
rdf (~> 3.3)
rdoc (6.11.0)
rdoc (6.12.0)
psych (>= 4.0.0)
redcarpet (3.6.0)
redis (4.8.1)
Expand Down Expand Up @@ -768,7 +769,7 @@ GEM
activerecord (>= 4.0.0)
railties (>= 4.0.0)
securerandom (0.4.1)
selenium-webdriver (4.27.0)
selenium-webdriver (4.28.0)
base64 (~> 0.2)
logger (~> 1.4)
rexml (~> 3.2, >= 3.2.5)
Expand Down Expand Up @@ -806,7 +807,7 @@ GEM
simplecov-lcov (0.8.0)
simplecov_json_formatter (0.1.4)
stackprof (0.2.27)
stoplight (4.1.0)
stoplight (4.1.1)
redlock (~> 1.0)
stringio (3.1.2)
strong_migrations (2.2.0)
Expand All @@ -817,8 +818,8 @@ GEM
httpclient (>= 2.4)
sysexits (1.2.0)
temple (0.10.3)
terminal-table (3.0.2)
unicode-display_width (>= 1.1.1, < 3)
terminal-table (4.0.0)
unicode-display_width (>= 1.1.1, < 4)
terrapin (1.0.1)
climate_control
test-prof (1.4.4)
Expand Down Expand Up @@ -849,7 +850,9 @@ GEM
unf (0.1.4)
unf_ext
unf_ext (0.0.9.1)
unicode-display_width (2.6.0)
unicode-display_width (3.1.4)
unicode-emoji (~> 4.0, >= 4.0.4)
unicode-emoji (4.0.4)
uri (1.0.2)
useragent (0.16.11)
validate_email (0.1.6)
Expand Down
2 changes: 1 addition & 1 deletion app/controllers/admin/software_updates_controller.rb
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ class SoftwareUpdatesController < BaseController

def index
authorize :software_update, :index?
@software_updates = SoftwareUpdate.by_version
@software_updates = SoftwareUpdate.by_version.filter(&:pending?)
end

private
Expand Down
2 changes: 1 addition & 1 deletion app/controllers/concerns/web_app_controller_concern.rb
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,6 @@ def redirect_unauthenticated_to_permalinks!
protected

def set_referer_header
response.set_header('Referrer-Policy', Setting.allow_referrer_origin ? 'origin' : 'same-origin')
response.set_header('Referrer-Policy', Setting.allow_referrer_origin ? 'strict-origin-when-cross-origin' : 'same-origin')
end
end
Binary file modified app/javascript/images/archetypes/booster.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified app/javascript/images/archetypes/lurker.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified app/javascript/images/archetypes/oracle.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified app/javascript/images/archetypes/pollster.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified app/javascript/images/archetypes/replier.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
45 changes: 45 additions & 0 deletions app/javascript/mastodon/locales/ast.json
Original file line number Diff line number Diff line change
Expand Up @@ -68,8 +68,13 @@
"alert.unexpected.message": "Prodúxose un error inesperáu.",
"alert.unexpected.title": "¡Meca!",
"alt_text_badge.title": "Testu alternativu",
"alt_text_modal.add_alt_text": "Amestar testu alternativu",
"alt_text_modal.cancel": "Encaboxar",
"alt_text_modal.done": "Fecho",
"announcement.announcement": "Anunciu",
"annual_report.summary.followers.followers": "siguidores",
"annual_report.summary.here_it_is": "Equí ta'l to resume de {year}:",
"annual_report.summary.highlighted_post.possessive": "de {name}",
"annual_report.summary.new_posts.new_posts": "artículos nuevos",
"annual_report.summary.thanks": "Gracies por ser parte de Mastodon!",
"attachments_list.unprocessed": "(ensin procesar)",
Expand All @@ -87,6 +92,7 @@
"bundle_column_error.routing.body": "Nun se pudo atopar la páxina solicitada. ¿De xuru que la URL de la barra de direiciones ta bien escrita?",
"bundle_column_error.routing.title": "404",
"bundle_modal_error.close": "Zarrar",
"bundle_modal_error.retry": "Retentar",
"closed_registrations.other_server_instructions": "Darréu que Mastodon ye una rede social descentralizada, pues crear una cuenta n'otru sirvidor y siguir interactuando con esti.",
"closed_registrations_modal.description": "Anguaño nun ye posible crear cuentes en {domain}, mas ten en cuenta que nun precises una cuenta nesti sirvidor pa usar Mastodon.",
"closed_registrations_modal.find_another_server": "Atopar otru sirvidor",
Expand Down Expand Up @@ -114,6 +120,7 @@
"column_header.pin": "Fixar",
"column_header.show_settings": "Amosar la configuración",
"column_header.unpin": "Lliberar",
"column_search.cancel": "Encaboxar",
"column_subheading.settings": "Configuración",
"community.column_settings.media_only": "Namás el conteníu multimedia",
"community.column_settings.remote_only": "Namás lo remoto",
Expand All @@ -129,26 +136,42 @@
"compose_form.placeholder": "¿En qué pienses?",
"compose_form.poll.option_placeholder": "Opción {number}",
"compose_form.poll.type": "Tipu",
"compose_form.publish": "Espublizar",
"compose_form.publish_form": "Artículu nuevu",
"compose_form.reply": "Responder",
"confirmation_modal.cancel": "Encaboxar",
"confirmations.block.confirm": "Bloquiar",
"confirmations.delete.confirm": "Desaniciar",
"confirmations.delete.message": "¿De xuru que quies desaniciar esti artículu?",
"confirmations.delete.title": "¿Desaniciar l'artículu?",
"confirmations.delete_list.confirm": "Desaniciar",
"confirmations.delete_list.message": "¿De xuru que quies desaniciar permanentemente esta llista?",
"confirmations.delete_list.title": "¿Desaniciar la llista?",
"confirmations.discard_edit_media.confirm": "Escartar",
"confirmations.edit.confirm": "Editar",
"confirmations.edit.message": "La edición va sobrescribir el mensaxe que tas escribiendo. ¿De xuru que quies siguir?",
"confirmations.follow_to_list.title": "¿Siguir al usuariu?",
"confirmations.logout.confirm": "Zarrar la sesión",
"confirmations.logout.message": "¿De xuru que quies zarrar la sesión?",
"confirmations.logout.title": "¿Zarrar la sesión?",
"confirmations.missing_alt_text.confirm": "Amestar testu alternativu",
"confirmations.missing_alt_text.title": "¿Quies amestar testu alternativu?",
"confirmations.redraft.confirm": "Desaniciar y reeditar",
"confirmations.redraft.message": "¿De xuru que quies desaniciar esti artículu y reeditalu? Van perdese los favoritos y comparticiones, y les rempuestes al artículu orixinal van quedar güérfanes.",
"confirmations.redraft.title": "¿Desaniciar ya reeditar l'artículu?",
"confirmations.reply.confirm": "Responder",
"confirmations.reply.message": "Responder agora va sobrescribir el mensaxe que tas componiendo anguaño. ¿De xuru que quies siguir?",
"confirmations.unfollow.confirm": "Dexar de siguir",
"confirmations.unfollow.message": "¿De xuru que quies dexar de siguir a {name}?",
"confirmations.unfollow.title": "¿Dexar de siguir al usuariu?",
"content_warning.hide": "Anubrir l'artículu",
"content_warning.show": "Amosar de toes toes",
"content_warning.show_more": "Amosar más",
"conversation.delete": "Desaniciar la conversación",
"conversation.mark_as_read": "Marcar como lleíu",
"conversation.open": "Ver la conversación",
"conversation.with": "Con {names}",
"copy_icon_button.copied": "Copiáu nel cartafueyu",
"copypaste.copied": "Copióse",
"copypaste.copy_to_clipboard": "Copiar nel cartafueyu",
"directory.federated": "Del fediversu conocíu",
Expand All @@ -159,6 +182,7 @@
"dismissable_banner.community_timeline": "Esta seición contién los artículos públicos más actuales de los perfiles agospiaos nel dominiu {domain}.",
"dismissable_banner.dismiss": "Escartar",
"domain_block_modal.block": "Bloquiar el sirvidor",
"domain_block_modal.they_cant_follow": "Naide d'esti sirvidor pue siguite.",
"domain_block_modal.title": "Bloquiar el dominiu?",
"domain_pill.server": "Sirvidor",
"domain_pill.username": "Nome d'usuariu",
Expand All @@ -176,6 +200,7 @@
"emoji_button.search_results": "Resultaos de la busca",
"emoji_button.symbols": "Símbolos",
"emoji_button.travel": "Viaxes y llugares",
"empty_column.account_suspended": "Cuenta suspendida",
"empty_column.account_timeline": "¡Equí nun hai nengún artículu!",
"empty_column.blocks": "Nun bloquiesti a nengún perfil.",
"empty_column.bookmarked_statuses": "Nun tienes nengún artículu en Marcadores. Cuando amiestes dalgún, apaez equí.",
Expand Down Expand Up @@ -207,6 +232,7 @@
"filter_modal.added.settings_link": "páxina de configuración",
"filter_modal.added.short_explanation": "Esti artículu amestóse a la categoría de peñera siguiente: {title}.",
"filter_modal.added.title": "¡Amestóse la peñera!",
"filter_modal.select_filter.expired": "caducó",
"filter_modal.select_filter.prompt_new": "Categoría nueva: {name}",
"filter_modal.select_filter.search": "Buscar o crear",
"filter_modal.select_filter.subtitle": "Usa una categoría esistente o créala",
Expand Down Expand Up @@ -241,6 +267,7 @@
"hashtag.column_header.tag_mode.any": "o {additional}",
"hashtag.column_header.tag_mode.none": "ensin {additional}",
"hashtag.column_settings.select.no_options_message": "Nun s'atopó nenguna suxerencia",
"hashtag.column_settings.select.placeholder": "Introduz etiquetes…",
"hashtag.column_settings.tag_mode.all": "Toes estes",
"hashtag.column_settings.tag_mode.any": "Cualesquiera d'estes",
"hashtag.column_settings.tag_mode.none": "Nenguna d'estes",
Expand All @@ -252,9 +279,14 @@
"home.column_settings.show_replies": "Amosar les rempuestes",
"home.pending_critical_update.body": "¡Anueva'l sirvidor de Mastodon namás que puedas!",
"home.show_announcements": "Amosar anuncios",
"info_button.label": "Ayuda",
"interaction_modal.go": "Dir",
"interaction_modal.no_account_yet": "¿Tovía nun tienes una cuenta?",
"interaction_modal.on_another_server": "N'otru sirvidor",
"interaction_modal.on_this_server": "Nesti sirvidor",
"interaction_modal.title.follow": "Siguir a {name}",
"interaction_modal.title.reply": "Rempuesta al artículu de: {name}",
"interaction_modal.title.vote": "Vota na encuesta de {name}",
"intervals.full.days": "{number, plural, one {# día} other {# díes}}",
"intervals.full.hours": "{number, plural, one {# hora} other {# hores}}",
"intervals.full.minutes": "{number, plural, one {# minutu} other {# minutos}}",
Expand Down Expand Up @@ -291,10 +323,15 @@
"lightbox.close": "Zarrar",
"lightbox.next": "Siguiente",
"limited_account_hint.action": "Amosar el perfil de toes toes",
"link_preview.author": "Por {name}",
"link_preview.more_from_author": "Más de {name}",
"lists.add_member": "Amestar",
"lists.add_to_list": "Amestar a la llista",
"lists.add_to_lists": "Amestar {name} a la llista",
"lists.create": "Crear",
"lists.create_list": "Crear llista",
"lists.delete": "Desaniciar la llista",
"lists.done": "Fecho",
"lists.edit": "Editar la llista",
"lists.list_name": "Nome de la llista",
"lists.no_lists_yet": "Ensin llistes tovía.",
Expand Down Expand Up @@ -332,6 +369,11 @@
"notification.admin.sign_up": "{name} rexistróse",
"notification.follow": "{name} siguióte",
"notification.follow_request": "{name} solicitó siguite",
"notification.label.mention": "Mención",
"notification.label.private_mention": "Mención privada",
"notification.label.private_reply": "Rempuesta privada",
"notification.label.reply": "Responder",
"notification.mention": "Mención",
"notification.mentioned_you": "{name} mentóte",
"notification.moderation-warning.learn_more": "Deprender más",
"notification.poll": "Finó una encuesta na que votesti",
Expand Down Expand Up @@ -364,6 +406,9 @@
"notifications.group": "{count} avisos",
"notifications.mark_as_read": "Marcar tolos avisos como lleíos",
"notifications.permission_required": "Los avisos d'escritoriu nun tán disponibles porque nun se concedió'l permisu riquíu.",
"notifications.policy.accept": "Aceptar",
"notifications.policy.accept_hint": "Amosar n'avisos",
"onboarding.follows.done": "Fecho",
"onboarding.profile.note": "Biografía",
"onboarding.profile.note_hint": "Pues @mentar a otros perfiles o poner #etiquetes…",
"password_confirmation.exceeds_maxlength": "La contraseña de confirmación supera la llongura de caráuteres máxima",
Expand Down
54 changes: 53 additions & 1 deletion app/javascript/mastodon/locales/az.json
Original file line number Diff line number Diff line change
Expand Up @@ -253,6 +253,58 @@
"dismissable_banner.explore_links": "Bu xəbərlər bu gün fediversedə ən çox paylaşılır. Daha fərqli insanlar tərəfindən dərc edilən daha yeni xəbərlər daha yuxarıda sıralanır.",
"dismissable_banner.explore_statuses": "Fediversedən olan bu paylaşımlar bu gün maraq qazanır. Daha çox gücləndirici və bəyənmə olan daha yeni paylaşımlar daha yuxarıda sıralanır.",
"dismissable_banner.explore_tags": "Bu heşteqlər fediverse-də trend olublar. Daha çox fərqli insanlar tərəfindən istifadə olunan heşteqlər daha yuxarıda sıralanır.",
"dismissable_banner.public_timeline": "Bunlar, {domain} saytında insanların izlədiyi fediversedəki insanların ən son ictimai paylaşımlarıdır.",
"domain_block_modal.block": "Serveri blokla",
"domain_block_modal.block_account_instead": "@{name} istifadəçisini blokla",
"domain_block_modal.they_can_interact_with_old_posts": "Bu serverdən olan insanlar köhnə paylaşımlarınızla əlaqə qura bilər."
"domain_block_modal.they_can_interact_with_old_posts": "Bu serverdən olan insanlar köhnə paylaşımlarınızla əlaqə qura bilər.",
"domain_block_modal.they_cant_follow": "Bu serverdən heç kim sizi izləyə bilməz.",
"domain_block_modal.they_wont_know": "Onlar bloklandıqlarını bilməyəcəklər.",
"domain_block_modal.title": "Domen bloklansın?",
"domain_block_modal.you_will_lose_num_followers": "Siz {followersCount, plural, one {{followersCountDisplay} follower} other {{followersCountDisplay} izləyici}} və izlədiyiniz {followingCount, plural, one {{followingCountDisplay} istifadəçini} other {{followingCountDisplay} istifadəçini}} itirəcəksiniz.",
"domain_block_modal.you_will_lose_relationships": "Bu serverdən olan bütün izləyicilərinizi və izlədiklərinizi itirəcəksiniz.",
"domain_block_modal.you_wont_see_posts": "Bu serverdən olan paylaşımları və istifadəçilərdən olan bildirişləri görməyəcəksiniz.",
"domain_pill.activitypub_lets_connect": "Bu, təkcə Mastodonda deyil, həm də müxtəlif sosial tətbiqlərdə insanlarla əlaqə saxlamağa və onlarla ünsiyyət qurmağa imkan verir.",
"domain_pill.activitypub_like_language": "ActivityPub-ı Mastodonun digər sosial şəbəkələrlə danışdığı dil kimi düşünə bilərsiniz.",
"domain_pill.server": "Server",
"domain_pill.their_handle": "Tanıdıcısı:",
"domain_pill.their_server": "Onların bütün paylaşımlarının yaşadığı rəqəmsal ev.",
"domain_pill.their_username": "Serverdəki unikal identifikator. Fərqli serverlərdə eyni istifadəçi adı ilə istifadəçilər tapmaq mümkündür.",
"domain_pill.username": "İstifadəçi adı",
"domain_pill.whats_in_a_handle": "Tanıdıcı nədir?",
"domain_pill.who_they_are": "Tanıdıcılar kimin kim olduğunu və harada olduğunu bildirdiyi üçün siz <button>ActivityPub tərəfindən dəstəklənən platformaların</button> sosial şəbəkəsindəki bütün insanlarla əlaqə saxlaya bilərsiniz.",
"domain_pill.who_you_are": "Tanıdıcılar sizin kim olduğunuzu və harada olduğunuzu bildirdiyi üçün <button>ActivityPub tərəfindən dəstəklənən platformaların</button> sosial şəbəkəsindəki bütün insanlar sizlə əlaqə saxlaya bilər.",
"domain_pill.your_handle": "Tanıdıcınız:",
"domain_pill.your_server": "Bütün paylaşımlarınızın yaşadığı rəqəmsal ev. Buranı bəyənmirsiniz? İstədiyiniz vaxt serverdən köçün və izləyicilərinizi də aparın.",
"domain_pill.your_username": "Serverdəki unikal identifikatoruz. Fərqli serverlərdə eyni istifadəçi adı ilə istifadəçilər tapmaq mümkündür.",
"embed.instructions": "Aşağıdakı kodu kopyalayaraq bu postu veb-saytınıza yerləşdirin.",
"embed.preview": "Belə görünəcək:",
"emoji_button.activity": "Aktivlik",
"emoji_button.clear": "Təmizlə",
"emoji_button.custom": "Özəl",
"emoji_button.flags": "Bayraqlar",
"emoji_button.food": "Yemək və içki",
"emoji_button.label": "Emoji daxil et",
"emoji_button.nature": "Təbiət",
"emoji_button.not_found": "Uyğun emoji tapılmadı",
"emoji_button.objects": "Obyektlər",
"emoji_button.people": "İnsanlar",
"emoji_button.recent": "Tez-tez istifadə edilən",
"emoji_button.search": "Axtar...",
"emoji_button.search_results": "Axtarış nəticələri",
"emoji_button.symbols": "Simvollar",
"emoji_button.travel": "Səyahət və məkanlar",
"empty_column.account_hides_collections": "Bu istifadəçi bu məlumatı əlçatan etməməyi seçib",
"empty_column.account_suspended": "Hesab silinib",
"empty_column.account_timeline": "Heç bir paylaşım yoxdur!",
"empty_column.account_unavailable": "Profil əlçatan deyil",
"empty_column.blocks": "Hələ ki, heç bir istifadəçini bloklamamasınız.",
"empty_column.bookmarked_statuses": "Hələ ki, heç bir paylaşımı yadda saxlamamısınız. Yadda saxlayanda burada görünəcək.",
"empty_column.community": "Lokal zaman qrafiki boşdur. Topun yuvarlanmağa başlaması üçün ictimai bir şey paylaşın!",
"empty_column.direct": "Gizli etiketiniz yoxdur. Göndərdikdə və ya qəbul etdikdə burada görəcəksiniz.",
"empty_column.domain_blocks": "Hələ ki, bloklanmış domen yoxdur.",
"empty_column.explore_statuses": "Hal-hazırda trenddə heç yoxdur. Daha sonra yenidən yoxlayın!",
"empty_column.favourited_statuses": "Bəyəndiyiniz paylaşımlar yoxdur. Birini bəyəndikdə burada görünəcək.",
"empty_column.favourites": "Bu paylaşımı hələ ki, heç kim bəyənməyib. Bəyənildikdə burada görünəcək.",
"follow_suggestions.hints.friends_of_friends": "Bu profil izlədiyiniz insanlar arasında populyardır.",
"follow_suggestions.hints.most_followed": "Bu profil {domain} serverində ən çox izlənilənlərdən biridir."
}
2 changes: 2 additions & 0 deletions app/javascript/mastodon/locales/be.json
Original file line number Diff line number Diff line change
Expand Up @@ -86,6 +86,7 @@
"alert.unexpected.message": "Узнікла нечаканая памылка.",
"alert.unexpected.title": "Вой!",
"alt_text_badge.title": "Альтэрнатыўны тэкст",
"alt_text_modal.done": "Гатова",
"announcement.announcement": "Аб'ява",
"annual_report.summary.archetype.booster": "Трэнда-сьледнік",
"annual_report.summary.archetype.lurker": "Назіральнік",
Expand Down Expand Up @@ -407,6 +408,7 @@
"ignore_notifications_modal.not_followers_title": "Ігнараваць паведамленьні ад людзей, якія ня падпісаныя на вас?",
"ignore_notifications_modal.not_following_title": "Ігнараваць апавяшчэнні ад людзей на якіх вы не падпісаны?",
"ignore_notifications_modal.private_mentions_title": "Ігнараваць паведамленьні аб непажаданых прыватных згадках?",
"info_button.label": "Даведка",
"interaction_modal.action.favourite": "Каб працягнуць, вы мусіце ўпадабаць з вашага ўліковага запісу.",
"interaction_modal.action.follow": "Каб працягнуць, вы мусіце падпісацца з вашага ўліковага запісу.",
"interaction_modal.on_another_server": "На іншым серверы",
Expand Down
Loading

0 comments on commit 791d5d9

Please sign in to comment.