@js
const _isMember = typeof session !== 'undefined' && session && session.user && !session.is_anon;
const _isAnon = typeof session !== 'undefined' && session && (session.is_anon || session.user === 'anonymous' || (typeof session.user === 'string' && session.user.startsWith('anon_')));
const _isGuest = !_isMember && !_isAnon;
const _isAnonUser = !_isMember;
const _canExcludeTags = !_isGuest && (!_isAnonUser || (typeof anon_permissions !== 'undefined' && anon_permissions && anon_permissions.exclude_tags !== false && anon_permissions.filter !== false));
const _allowedModes = _isGuest ? ['sfw'] : ((typeof anon_permissions !== 'undefined' && anon_permissions && anon_permissions.allowed_modes) || ['sfw', 'nsfw', 'untagged', 'all', 'nsfl']);
const _showSfw = true;
const _showNsfw = _isGuest || (!_isAnonUser || _allowedModes.includes('nsfw'));
const _showNsfl = enable_nsfl && (_isGuest || (!_isAnonUser || _allowedModes.includes('nsfl')));
const _showUntagged = _isGuest || (typeof session !== 'undefined' && session && (session.admin || session.is_moderator)) || (_isAnonUser && _allowedModes.includes('untagged'));
const _showAll = _isGuest || (!_isAnonUser || _allowedModes.includes('all'));
const _activeRatingList = _isGuest ? ['sfw'] : [_showSfw ? 'sfw' : null, _showNsfw ? 'nsfw' : null, _showNsfl ? 'nsfl' : null, _showUntagged ? 'untagged' : null].filter(Boolean);
const _isSingleRating = _isGuest || (_isAnonUser && _activeRatingList.length === 1 && !_showAll);
const _singleRating = _isGuest ? 'sfw' : (_isSingleRating ? _activeRatingList[0] : null);
const _allowedMimes = (typeof anon_permissions !== 'undefined' && anon_permissions && anon_permissions.allowed_mimes) || ['image', 'video', 'audio', 'flash', 'pdf'];
const _isSingleMime = _isAnonUser && _allowedMimes.length === 1;
const _singleMime = _isSingleMime ? _allowedMimes[0] : null;
const _hasMimeCats = typeof scroller_mime_cats !== 'undefined' && Array.isArray(scroller_mime_cats);
const _showVideo = _hasMimeCats && scroller_mime_cats.includes('video') && (!_isAnonUser || _allowedMimes.includes('video'));
const _showAudio = _hasMimeCats && scroller_mime_cats.includes('audio') && (!_isAnonUser || _allowedMimes.includes('audio'));
const _showImage = _hasMimeCats && scroller_mime_cats.includes('image') && (!_isAnonUser || _allowedMimes.includes('image'));
const _showFlash = enable_swf && (!_isAnonUser || _allowedMimes.includes('flash'));
@endjs
@if(_canExcludeTags)
@endif
@if(_showSfw)
@endif
@if(_showNsfw)
@endif
@if(_showNsfl)
@endif
@if(_showUntagged)
@endif
@if(_showAll && (!_isSingleRating || _isGuest))
@endif
@if(show_mime_picker)
@endif
@if(session && enable_xd_score)
@endif