url(r'^$', problem.ProblemDetail.as_view(), name='problem_detail'), url(r'^/editorial$', problem.ProblemSolution.as_view(), name='problem_editorial'), url(r'^/raw$', problem.ProblemRaw.as_view(), name='problem_raw'), url(r'^/pdf$', problem.ProblemPdfView.as_view(), name='problem_pdf'), url(r'^/pdf/(?P<language>[a-z-]+)$', problem.ProblemPdfView.as_view(), name='problem_pdf'), url(r'^/clone', problem.clone_problem, name='problem_clone'), url(r'^/submit$', problem.problem_submit, name='problem_submit'), url(r'^/resubmit/(?P<submission>\d+)$', problem.problem_submit, name='problem_submit'), url(r'^/rank/', paged_list_view(ranked_submission.RankedSubmissions, 'ranked_submissions')), url(r'^/submissions/', paged_list_view(submission.ProblemSubmissions, 'chronological_submissions')), url(r'^/submissions/(?P<user>\w+)/', paged_list_view(submission.UserProblemSubmissions, 'user_submissions')), url(r'^/$', lambda _, problem: HttpResponsePermanentRedirect(reverse('problem_detail', args=[problem]))), url(r'^/test_data$', ProblemDataView.as_view(), name='problem_data'), url(r'^/test_data/init$', problem_init_view, name='problem_data_init'), url(r'^/data/(?P<path>.+)$', problem_data_file, name='problem_data_file'), url(r'^/tickets$', ticket.ProblemTicketListView.as_view(), name='problem_ticket_list'), url(r'^/tickets/new$', ticket.NewProblemTicketView.as_view(), name='new_problem_ticket'), ])), url(r'^submissions/', paged_list_view(submission.AllSubmissions, 'all_submissions')), url(r'^submissions/user/(?P<user>\w+)/', paged_list_view(submission.AllUserSubmissions, 'all_user_submissions')), url(r'^src/(?P<submission>\d+)$', submission.SubmissionSource.as_view(), name='submission_source'), url(r'^src/(?P<submission>\d+)/raw$', submission.SubmissionSourceRaw.as_view(), name='submission_source_raw'), url(r'^submission/(?P<submission>\d+)', include([ url(r'^$', submission.SubmissionStatus.as_view(), name='submission_status'),
path( '/rank/', paged_list_view(ranked_submission.RankedSubmissions, 'ranked_submissions')), path( '/submissions/', paged_list_view(submission.ProblemSubmissions, 'chronological_submissions')), path( '/submissions/<str:user>/', paged_list_view(submission.UserProblemSubmissions, 'user_submissions')), path( '/', lambda _, problem: HttpResponsePermanentRedirect( reverse('problem_detail', args=[problem]))), path('/test_data', ProblemDataView.as_view(), name='problem_data'), path('/test_data/init', problem_init_view, name='problem_data_init'), path('/test_data/diff', ProblemSubmissionDiff.as_view(), name='problem_submission_diff'), path('/data/<path:path>', problem_data_file, name='problem_data_file'), path('/tickets', ticket.ProblemTicketListView.as_view(), name='problem_ticket_list'), path('/tickets/new', ticket.NewProblemTicketView.as_view(), name='new_problem_ticket'),
r'^/rank/', paged_list_view(ranked_submission.RankedSubmissions, 'ranked_submissions')), url( r'^/submissions/', paged_list_view(submission.ProblemSubmissions, 'chronological_submissions')), url( r'^/submissions/(?P<user>[\w-]+)/', paged_list_view(submission.UserProblemSubmissions, 'user_submissions')), url( r'^/$', lambda _, problem: HttpResponsePermanentRedirect( reverse('problem_detail', args=[problem]))), url(r'^/test_data$', ProblemDataView.as_view(), name='problem_data'), url(r'^/test_data/init$', problem_init_view, name='problem_data_init'), url(r'^/test_data/diff$', ProblemSubmissionDiff.as_view(), name='problem_submission_diff'), url(r'^/data/(?P<path>.+)$', problem_data_file, name='problem_data_file'), url(r'^/tickets$', ticket.ProblemTicketListView.as_view(), name='problem_ticket_list'), url(r'^/tickets/new$', ticket.NewProblemTicketView.as_view(),
url(r'^$', problem.ProblemDetail.as_view(), name='problem_detail'), url(r'^/editorial$', problem.ProblemSolution.as_view(), name='problem_editorial'), url(r'^/raw$', problem.ProblemRaw.as_view(), name='problem_raw'), url(r'^/pdf$', problem.ProblemPdfView.as_view(), name='problem_pdf'), url(r'^/pdf/(?P<language>[a-z-]+)$', problem.ProblemPdfView.as_view(), name='problem_pdf'), url(r'^/clone', problem.clone_problem, name='problem_clone'), url(r'^/submit$', problem.problem_submit, name='problem_submit'), url(r'^/resubmit/(?P<submission>\d+)$', problem.problem_submit, name='problem_submit'), url(r'^/rank/', paged_list_view(ranked_submission.RankedSubmissions, 'ranked_submissions')), url(r'^/submissions/', paged_list_view(submission.ProblemSubmissions, 'chronological_submissions')), url(r'^/submissions/(?P<user>\w+)/', paged_list_view(submission.UserProblemSubmissions, 'user_submissions')), url(r'^/$', lambda _, problem: HttpResponsePermanentRedirect(reverse('problem_detail', args=[problem]))), url(r'^/test_data$', ProblemDataView.as_view(), name='problem_data'), url(r'^/test_data/init$', problem_init_view, name='problem_data_init'), url(r'^/test_data/diff$', ProblemSubmissionDiff.as_view(), name='problem_submission_diff'), url(r'^/data/(?P<path>.+)$', problem_data_file, name='problem_data_file'), url(r'^/tickets$', ticket.ProblemTicketListView.as_view(), name='problem_ticket_list'), url(r'^/tickets/new$', ticket.NewProblemTicketView.as_view(), name='new_problem_ticket'), url(r'^/manage/submission', include([ url('^$', problem_manage.ManageProblemSubmissionView.as_view(), name='problem_manage_submissions'), url('^/rejudge$', problem_manage.RejudgeSubmissionsView.as_view(), name='problem_submissions_rejudge'), url('^/rejudge/preview$', problem_manage.PreviewRejudgeSubmissionsView.as_view(), name='problem_submissions_rejudge_preview'), url('^/rejudge/success/(?P<task_id>[A-Za-z0-9-]*)$', problem_manage.rejudge_success, name='problem_submissions_rejudge_success'), url('^/rescore/all$', problem_manage.RescoreAllSubmissionsView.as_view(),