config.env
.tup/
+.vscode/
\ No newline at end of file
['admin.competition': "/admin/competition"]: controller "admin.competition"
['admin.competition.new': "/admin/competition/new"]: controller "admin.competition.new"
+ ['admin.competition.edit': "/admin/competition/edit/:competition_id"]: controller "admin.competition.edit"
+ ['admin.competition.delete': "/admin/competition/delete/:competition_id"]: controller "admin.competition.delete"
[test: '/test']: =>
user = Users\find 5
--- /dev/null
+import make_controller from require "controllers.controller"
+import assert_valid from require "lapis.validate"
+import capture_errors, capture_errors_json, yield_error from require 'lapis.application'
+import Competitions from require 'models'
+
+make_controller
+ middleware: { 'logged_in', 'admin_required' }
+
+ get: capture_errors_json =>
+ assert_valid @params, {
+ { "competition_id", exists: true, is_integer: true }
+ }
+
+ comp = Competitions\find @params.competition_id
+ unless comp
+ yield_error 'Competition not found'
+
+ comp_problems = comp\get_competition_problems!
+ if comp_problems
+ for cp in *comp_problems
+ cp\delete!
+
+ comp\delete!
+
+ redirect_to: @url_for 'admin.competition'
--- /dev/null
+import make_controller from require "controllers.controller"
+import assert_valid from require "lapis.validate"
+import capture_errors, capture_errors_json, yield_error from require 'lapis.application'
+import Competitions, Problems from require 'models'
+
+make_controller
+ layout: require 'views.partials.admin_layout'
+
+ middleware: { 'logged_in', 'admin_required' }
+
+ get: capture_errors_json =>
+ assert_valid @params, {
+ { "competition_id", exists: true, is_integer: true }
+ }
+
+ @navbar.selected = 3
+
+ @comp = Competitions\find @params.competition_id
+ unless @comp
+ yield_error "Competition not found"
+ return
+
+ @comp_problems = @comp\get_problems!
+ @all_problems = Problems\select!
+
+ -- Postgres puts a space between the date and time, need a T
+ if @comp.start
+ @comp.start = @comp.start\gsub " ", "T"
+ if @comp.end
+ @comp.end = @comp.end\gsub " ", "T"
+
+ render: true
+
+ post: capture_errors =>
+ @navbar.selected = 3
+
+ assert_valid @params, {
+ { "id", exists: true, is_integer: true }
+ { "name", exists: true }
+ { "start_time", exists: true }
+ { "end_time", exists: true }
+ }
+
+ @comp = Competitions\find @params.id
+ unless @comp
+ yield_error "Competition not found"
+
+ @comp\update {
+ name: @params.name
+ start: @params.start_time
+ end: @params.end_time
+ }
+ @comp\refresh!
+
+ redirect_to: @url_for "admin.competition.edit", { competition_id: @params.id }
end: @params.end_time
}
- redirect_to: @url_for 'admin.compeition'
+ redirect_to: @url_for 'admin.competition'
for tc in *test_cases
tc\delete!
+ competition_problems = problem\get_competitions!
+ if competition_problems
+ for cp in *competition_problems
+ cp\delete!
+
+ jobs = problem\get_jobs!
+ if jobs
+ for job in *jobs
+ job\delete!
+
problem\delete!
json: { success: true }
import Model from require 'lapis.db.model'
class CompetitionProblems extends Model
+ @relations: {
+ { "problem", belongs_to: 'Problems' }
+ { "competition", belongs_to: 'Competitions' }
+ }
from problems
inner join competition_problems on problems.id = competition_problems.problem_id
inner join competitions on competition_problems.competition_id = competitions.id
- where competitions.id=? orber by competition_problems.letter asc", @id
+ where competitions.id=? order by competition_problems.letter asc", @id
}
+ { "competition_problems", has_many: "CompetitionProblems" }
}
has_many: 'TestCases'
order: "testcase_order asc"
}
+ { "competitions", has_many: "CompetitionProblems" }
{ "correct_jobs", fetch: =>
db.query "select count(job_id) from jobs where problem_id=? and status=4", @id
}
display: grid;
grid-template-columns: repeat(2, 1fr);
}
+.split-2 > *:first-child {
+ margin-right: 12px;
+}
+.split-2 > *:last-child {
+ margin-left: 12px;
+}
.split-3 {
display: grid;
grid-template-columns: repeat(3, 1fr);
}
+.split-3 > *:first-child {
+ margin-right: 12px;
+}
+.split-3 > *:last-child {
+ margin-left: 12px;
+}
.split-4 {
display: grid;
grid-template-columns: repeat(4, 1fr);
}
+.split-4 > *:first-child {
+ margin-right: 12px;
+}
+.split-4 > *:last-child {
+ margin-left: 12px;
+}
.split-lr {
display: grid;
margin-left: 11px;
}
-.mar-r-11 {
- margin-right: 11px;
+.mar-r-11 {
+ margin-right: 11px;
+}
+
+.mar-t-11 {
+ margin-top: 11px;
+}
+
+.mar-b-11 {
+ margin-bottom: 11px;
+}
+
+.pad-12 {
+ padding: 12px;
+}
+
+.pad-l-12 {
+ padding-left: 12px;
+}
+
+.pad-r-12 {
+ padding-right: 12px;
+}
+
+.pad-t-12 {
+ padding-top: 12px;
+}
+
+.pad-b-12 {
+ padding-bottom: 12px;
+}
+
+.mar-12 {
+ margin: 12px;
+}
+
+.mar-l-12 {
+ margin-left: 12px;
+}
+
+.mar-r-12 {
+ margin-right: 12px;
+}
+
+.mar-t-12 {
+ margin-top: 12px;
+}
+
+.mar-b-12 {
+ margin-bottom: 12px;
+}
+
+.pad-13 {
+ padding: 13px;
+}
+
+.pad-l-13 {
+ padding-left: 13px;
+}
+
+.pad-r-13 {
+ padding-right: 13px;
+}
+
+.pad-t-13 {
+ padding-top: 13px;
+}
+
+.pad-b-13 {
+ padding-bottom: 13px;
+}
+
+.mar-13 {
+ margin: 13px;
+}
+
+.mar-l-13 {
+ margin-left: 13px;
+}
+
+.mar-r-13 {
+ margin-right: 13px;
+}
+
+.mar-t-13 {
+ margin-top: 13px;
+}
+
+.mar-b-13 {
+ margin-bottom: 13px;
+}
+
+.pad-14 {
+ padding: 14px;
+}
+
+.pad-l-14 {
+ padding-left: 14px;
+}
+
+.pad-r-14 {
+ padding-right: 14px;
+}
+
+.pad-t-14 {
+ padding-top: 14px;
+}
+
+.pad-b-14 {
+ padding-bottom: 14px;
+}
+
+.mar-14 {
+ margin: 14px;
+}
+
+.mar-l-14 {
+ margin-left: 14px;
+}
+
+.mar-r-14 {
+ margin-right: 14px;
+}
+
+.mar-t-14 {
+ margin-top: 14px;
+}
+
+.mar-b-14 {
+ margin-bottom: 14px;
+}
+
+.pad-15 {
+ padding: 15px;
+}
+
+.pad-l-15 {
+ padding-left: 15px;
+}
+
+.pad-r-15 {
+ padding-right: 15px;
+}
+
+.pad-t-15 {
+ padding-top: 15px;
+}
+
+.pad-b-15 {
+ padding-bottom: 15px;
+}
+
+.mar-15 {
+ margin: 15px;
+}
+
+.mar-l-15 {
+ margin-left: 15px;
+}
+
+.mar-r-15 {
+ margin-right: 15px;
+}
+
+.mar-t-15 {
+ margin-top: 15px;
+}
+
+.mar-b-15 {
+ margin-bottom: 15px;
+}
+
+.pad-16 {
+ padding: 16px;
+}
+
+.pad-l-16 {
+ padding-left: 16px;
+}
+
+.pad-r-16 {
+ padding-right: 16px;
+}
+
+.pad-t-16 {
+ padding-top: 16px;
+}
+
+.pad-b-16 {
+ padding-bottom: 16px;
+}
+
+.mar-16 {
+ margin: 16px;
+}
+
+.mar-l-16 {
+ margin-left: 16px;
+}
+
+.mar-r-16 {
+ margin-right: 16px;
+}
+
+.mar-t-16 {
+ margin-top: 16px;
+}
+
+.mar-b-16 {
+ margin-bottom: 16px;
+}
+
+.pad-17 {
+ padding: 17px;
+}
+
+.pad-l-17 {
+ padding-left: 17px;
+}
+
+.pad-r-17 {
+ padding-right: 17px;
+}
+
+.pad-t-17 {
+ padding-top: 17px;
+}
+
+.pad-b-17 {
+ padding-bottom: 17px;
+}
+
+.mar-17 {
+ margin: 17px;
+}
+
+.mar-l-17 {
+ margin-left: 17px;
+}
+
+.mar-r-17 {
+ margin-right: 17px;
+}
+
+.mar-t-17 {
+ margin-top: 17px;
+}
+
+.mar-b-17 {
+ margin-bottom: 17px;
+}
+
+.pad-18 {
+ padding: 18px;
+}
+
+.pad-l-18 {
+ padding-left: 18px;
+}
+
+.pad-r-18 {
+ padding-right: 18px;
+}
+
+.pad-t-18 {
+ padding-top: 18px;
+}
+
+.pad-b-18 {
+ padding-bottom: 18px;
+}
+
+.mar-18 {
+ margin: 18px;
+}
+
+.mar-l-18 {
+ margin-left: 18px;
+}
+
+.mar-r-18 {
+ margin-right: 18px;
+}
+
+.mar-t-18 {
+ margin-top: 18px;
+}
+
+.mar-b-18 {
+ margin-bottom: 18px;
+}
+
+.pad-19 {
+ padding: 19px;
+}
+
+.pad-l-19 {
+ padding-left: 19px;
+}
+
+.pad-r-19 {
+ padding-right: 19px;
+}
+
+.pad-t-19 {
+ padding-top: 19px;
+}
+
+.pad-b-19 {
+ padding-bottom: 19px;
+}
+
+.mar-19 {
+ margin: 19px;
+}
+
+.mar-l-19 {
+ margin-left: 19px;
+}
+
+.mar-r-19 {
+ margin-right: 19px;
+}
+
+.mar-t-19 {
+ margin-top: 19px;
+}
+
+.mar-b-19 {
+ margin-bottom: 19px;
+}
+
+.pad-20 {
+ padding: 20px;
+}
+
+.pad-l-20 {
+ padding-left: 20px;
+}
+
+.pad-r-20 {
+ padding-right: 20px;
+}
+
+.pad-t-20 {
+ padding-top: 20px;
+}
+
+.pad-b-20 {
+ padding-bottom: 20px;
+}
+
+.mar-20 {
+ margin: 20px;
+}
+
+.mar-l-20 {
+ margin-left: 20px;
+}
+
+.mar-r-20 {
+ margin-right: 20px;
+}
+
+.mar-t-20 {
+ margin-top: 20px;
+}
+
+.mar-b-20 {
+ margin-bottom: 20px;
+}
+
+.pad-21 {
+ padding: 21px;
+}
+
+.pad-l-21 {
+ padding-left: 21px;
+}
+
+.pad-r-21 {
+ padding-right: 21px;
+}
+
+.pad-t-21 {
+ padding-top: 21px;
+}
+
+.pad-b-21 {
+ padding-bottom: 21px;
+}
+
+.mar-21 {
+ margin: 21px;
+}
+
+.mar-l-21 {
+ margin-left: 21px;
+}
+
+.mar-r-21 {
+ margin-right: 21px;
+}
+
+.mar-t-21 {
+ margin-top: 21px;
+}
+
+.mar-b-21 {
+ margin-bottom: 21px;
+}
+
+.pad-22 {
+ padding: 22px;
+}
+
+.pad-l-22 {
+ padding-left: 22px;
+}
+
+.pad-r-22 {
+ padding-right: 22px;
+}
+
+.pad-t-22 {
+ padding-top: 22px;
+}
+
+.pad-b-22 {
+ padding-bottom: 22px;
+}
+
+.mar-22 {
+ margin: 22px;
+}
+
+.mar-l-22 {
+ margin-left: 22px;
+}
+
+.mar-r-22 {
+ margin-right: 22px;
+}
+
+.mar-t-22 {
+ margin-top: 22px;
+}
+
+.mar-b-22 {
+ margin-bottom: 22px;
+}
+
+.pad-23 {
+ padding: 23px;
+}
+
+.pad-l-23 {
+ padding-left: 23px;
+}
+
+.pad-r-23 {
+ padding-right: 23px;
+}
+
+.pad-t-23 {
+ padding-top: 23px;
+}
+
+.pad-b-23 {
+ padding-bottom: 23px;
+}
+
+.mar-23 {
+ margin: 23px;
+}
+
+.mar-l-23 {
+ margin-left: 23px;
+}
+
+.mar-r-23 {
+ margin-right: 23px;
+}
+
+.mar-t-23 {
+ margin-top: 23px;
+}
+
+.mar-b-23 {
+ margin-bottom: 23px;
+}
+
+.pad-24 {
+ padding: 24px;
+}
+
+.pad-l-24 {
+ padding-left: 24px;
+}
+
+.pad-r-24 {
+ padding-right: 24px;
+}
+
+.pad-t-24 {
+ padding-top: 24px;
+}
+
+.pad-b-24 {
+ padding-bottom: 24px;
+}
+
+.mar-24 {
+ margin: 24px;
+}
+
+.mar-l-24 {
+ margin-left: 24px;
+}
+
+.mar-r-24 {
+ margin-right: 24px;
+}
+
+.mar-t-24 {
+ margin-top: 24px;
+}
+
+.mar-b-24 {
+ margin-bottom: 24px;
+}
+
+.pad-25 {
+ padding: 25px;
+}
+
+.pad-l-25 {
+ padding-left: 25px;
+}
+
+.pad-r-25 {
+ padding-right: 25px;
+}
+
+.pad-t-25 {
+ padding-top: 25px;
+}
+
+.pad-b-25 {
+ padding-bottom: 25px;
+}
+
+.mar-25 {
+ margin: 25px;
+}
+
+.mar-l-25 {
+ margin-left: 25px;
+}
+
+.mar-r-25 {
+ margin-right: 25px;
+}
+
+.mar-t-25 {
+ margin-top: 25px;
+}
+
+.mar-b-25 {
+ margin-bottom: 25px;
+}
+
+.pad-26 {
+ padding: 26px;
+}
+
+.pad-l-26 {
+ padding-left: 26px;
+}
+
+.pad-r-26 {
+ padding-right: 26px;
+}
+
+.pad-t-26 {
+ padding-top: 26px;
+}
+
+.pad-b-26 {
+ padding-bottom: 26px;
+}
+
+.mar-26 {
+ margin: 26px;
+}
+
+.mar-l-26 {
+ margin-left: 26px;
+}
+
+.mar-r-26 {
+ margin-right: 26px;
+}
+
+.mar-t-26 {
+ margin-top: 26px;
+}
+
+.mar-b-26 {
+ margin-bottom: 26px;
+}
+
+.pad-27 {
+ padding: 27px;
+}
+
+.pad-l-27 {
+ padding-left: 27px;
+}
+
+.pad-r-27 {
+ padding-right: 27px;
+}
+
+.pad-t-27 {
+ padding-top: 27px;
+}
+
+.pad-b-27 {
+ padding-bottom: 27px;
+}
+
+.mar-27 {
+ margin: 27px;
+}
+
+.mar-l-27 {
+ margin-left: 27px;
+}
+
+.mar-r-27 {
+ margin-right: 27px;
+}
+
+.mar-t-27 {
+ margin-top: 27px;
+}
+
+.mar-b-27 {
+ margin-bottom: 27px;
+}
+
+.pad-28 {
+ padding: 28px;
+}
+
+.pad-l-28 {
+ padding-left: 28px;
+}
+
+.pad-r-28 {
+ padding-right: 28px;
+}
+
+.pad-t-28 {
+ padding-top: 28px;
+}
+
+.pad-b-28 {
+ padding-bottom: 28px;
+}
+
+.mar-28 {
+ margin: 28px;
+}
+
+.mar-l-28 {
+ margin-left: 28px;
+}
+
+.mar-r-28 {
+ margin-right: 28px;
+}
+
+.mar-t-28 {
+ margin-top: 28px;
+}
+
+.mar-b-28 {
+ margin-bottom: 28px;
+}
+
+.pad-29 {
+ padding: 29px;
+}
+
+.pad-l-29 {
+ padding-left: 29px;
+}
+
+.pad-r-29 {
+ padding-right: 29px;
+}
+
+.pad-t-29 {
+ padding-top: 29px;
+}
+
+.pad-b-29 {
+ padding-bottom: 29px;
+}
+
+.mar-29 {
+ margin: 29px;
+}
+
+.mar-l-29 {
+ margin-left: 29px;
+}
+
+.mar-r-29 {
+ margin-right: 29px;
+}
+
+.mar-t-29 {
+ margin-top: 29px;
+}
+
+.mar-b-29 {
+ margin-bottom: 29px;
+}
+
+.pad-30 {
+ padding: 30px;
+}
+
+.pad-l-30 {
+ padding-left: 30px;
+}
+
+.pad-r-30 {
+ padding-right: 30px;
+}
+
+.pad-t-30 {
+ padding-top: 30px;
+}
+
+.pad-b-30 {
+ padding-bottom: 30px;
+}
+
+.mar-30 {
+ margin: 30px;
+}
+
+.mar-l-30 {
+ margin-left: 30px;
+}
+
+.mar-r-30 {
+ margin-right: 30px;
+}
+
+.mar-t-30 {
+ margin-top: 30px;
+}
+
+.mar-b-30 {
+ margin-bottom: 30px;
+}
+
+.pad-31 {
+ padding: 31px;
+}
+
+.pad-l-31 {
+ padding-left: 31px;
+}
+
+.pad-r-31 {
+ padding-right: 31px;
+}
+
+.pad-t-31 {
+ padding-top: 31px;
+}
+
+.pad-b-31 {
+ padding-bottom: 31px;
+}
+
+.mar-31 {
+ margin: 31px;
+}
+
+.mar-l-31 {
+ margin-left: 31px;
+}
+
+.mar-r-31 {
+ margin-right: 31px;
+}
+
+.mar-t-31 {
+ margin-top: 31px;
+}
+
+.mar-b-31 {
+ margin-bottom: 31px;
+}
+
+.pad-32 {
+ padding: 32px;
+}
+
+.pad-l-32 {
+ padding-left: 32px;
+}
+
+.pad-r-32 {
+ padding-right: 32px;
+}
+
+.pad-t-32 {
+ padding-top: 32px;
+}
+
+.pad-b-32 {
+ padding-bottom: 32px;
+}
+
+.mar-32 {
+ margin: 32px;
+}
+
+.mar-l-32 {
+ margin-left: 32px;
+}
+
+.mar-r-32 {
+ margin-right: 32px;
+}
+
+.mar-t-32 {
+ margin-top: 32px;
+}
+
+.mar-b-32 {
+ margin-bottom: 32px;
+}
+
+.pad-33 {
+ padding: 33px;
+}
+
+.pad-l-33 {
+ padding-left: 33px;
+}
+
+.pad-r-33 {
+ padding-right: 33px;
+}
+
+.pad-t-33 {
+ padding-top: 33px;
+}
+
+.pad-b-33 {
+ padding-bottom: 33px;
+}
+
+.mar-33 {
+ margin: 33px;
+}
+
+.mar-l-33 {
+ margin-left: 33px;
+}
+
+.mar-r-33 {
+ margin-right: 33px;
+}
+
+.mar-t-33 {
+ margin-top: 33px;
+}
+
+.mar-b-33 {
+ margin-bottom: 33px;
+}
+
+.pad-34 {
+ padding: 34px;
+}
+
+.pad-l-34 {
+ padding-left: 34px;
+}
+
+.pad-r-34 {
+ padding-right: 34px;
+}
+
+.pad-t-34 {
+ padding-top: 34px;
+}
+
+.pad-b-34 {
+ padding-bottom: 34px;
+}
+
+.mar-34 {
+ margin: 34px;
+}
+
+.mar-l-34 {
+ margin-left: 34px;
+}
+
+.mar-r-34 {
+ margin-right: 34px;
+}
+
+.mar-t-34 {
+ margin-top: 34px;
+}
+
+.mar-b-34 {
+ margin-bottom: 34px;
+}
+
+.pad-35 {
+ padding: 35px;
+}
+
+.pad-l-35 {
+ padding-left: 35px;
+}
+
+.pad-r-35 {
+ padding-right: 35px;
+}
+
+.pad-t-35 {
+ padding-top: 35px;
+}
+
+.pad-b-35 {
+ padding-bottom: 35px;
+}
+
+.mar-35 {
+ margin: 35px;
+}
+
+.mar-l-35 {
+ margin-left: 35px;
+}
+
+.mar-r-35 {
+ margin-right: 35px;
+}
+
+.mar-t-35 {
+ margin-top: 35px;
+}
+
+.mar-b-35 {
+ margin-bottom: 35px;
+}
+
+.pad-36 {
+ padding: 36px;
+}
+
+.pad-l-36 {
+ padding-left: 36px;
+}
+
+.pad-r-36 {
+ padding-right: 36px;
+}
+
+.pad-t-36 {
+ padding-top: 36px;
+}
+
+.pad-b-36 {
+ padding-bottom: 36px;
+}
+
+.mar-36 {
+ margin: 36px;
+}
+
+.mar-l-36 {
+ margin-left: 36px;
+}
+
+.mar-r-36 {
+ margin-right: 36px;
+}
+
+.mar-t-36 {
+ margin-top: 36px;
+}
+
+.mar-b-36 {
+ margin-bottom: 36px;
+}
+
+.pad-37 {
+ padding: 37px;
+}
+
+.pad-l-37 {
+ padding-left: 37px;
+}
+
+.pad-r-37 {
+ padding-right: 37px;
+}
+
+.pad-t-37 {
+ padding-top: 37px;
+}
+
+.pad-b-37 {
+ padding-bottom: 37px;
+}
+
+.mar-37 {
+ margin: 37px;
+}
+
+.mar-l-37 {
+ margin-left: 37px;
+}
+
+.mar-r-37 {
+ margin-right: 37px;
}
-.mar-t-11 {
- margin-top: 11px;
+.mar-t-37 {
+ margin-top: 37px;
}
-.mar-b-11 {
- margin-bottom: 11px;
+.mar-b-37 {
+ margin-bottom: 37px;
}
-.pad-12 {
- padding: 12px;
+.pad-38 {
+ padding: 38px;
}
-.pad-l-12 {
- padding-left: 12px;
+.pad-l-38 {
+ padding-left: 38px;
}
-.pad-r-12 {
- padding-right: 12px;
+.pad-r-38 {
+ padding-right: 38px;
}
-.pad-t-12 {
- padding-top: 12px;
+.pad-t-38 {
+ padding-top: 38px;
}
-.pad-b-12 {
- padding-bottom: 12px;
+.pad-b-38 {
+ padding-bottom: 38px;
}
-.mar-12 {
- margin: 12px;
+.mar-38 {
+ margin: 38px;
}
-.mar-l-12 {
- margin-left: 12px;
+.mar-l-38 {
+ margin-left: 38px;
}
-.mar-r-12 {
- margin-right: 12px;
+.mar-r-38 {
+ margin-right: 38px;
}
-.mar-t-12 {
- margin-top: 12px;
+.mar-t-38 {
+ margin-top: 38px;
}
-.mar-b-12 {
- margin-bottom: 12px;
+.mar-b-38 {
+ margin-bottom: 38px;
}
-.pad-13 {
- padding: 13px;
+.pad-39 {
+ padding: 39px;
}
-.pad-l-13 {
- padding-left: 13px;
+.pad-l-39 {
+ padding-left: 39px;
}
-.pad-r-13 {
- padding-right: 13px;
+.pad-r-39 {
+ padding-right: 39px;
}
-.pad-t-13 {
- padding-top: 13px;
+.pad-t-39 {
+ padding-top: 39px;
}
-.pad-b-13 {
- padding-bottom: 13px;
+.pad-b-39 {
+ padding-bottom: 39px;
}
-.mar-13 {
- margin: 13px;
+.mar-39 {
+ margin: 39px;
}
-.mar-l-13 {
- margin-left: 13px;
+.mar-l-39 {
+ margin-left: 39px;
}
-.mar-r-13 {
- margin-right: 13px;
+.mar-r-39 {
+ margin-right: 39px;
}
-.mar-t-13 {
- margin-top: 13px;
+.mar-t-39 {
+ margin-top: 39px;
}
-.mar-b-13 {
- margin-bottom: 13px;
+.mar-b-39 {
+ margin-bottom: 39px;
}
-.pad-14 {
- padding: 14px;
+.pad-40 {
+ padding: 40px;
}
-.pad-l-14 {
- padding-left: 14px;
+.pad-l-40 {
+ padding-left: 40px;
}
-.pad-r-14 {
- padding-right: 14px;
+.pad-r-40 {
+ padding-right: 40px;
}
-.pad-t-14 {
- padding-top: 14px;
+.pad-t-40 {
+ padding-top: 40px;
}
-.pad-b-14 {
- padding-bottom: 14px;
+.pad-b-40 {
+ padding-bottom: 40px;
}
-.mar-14 {
- margin: 14px;
+.mar-40 {
+ margin: 40px;
}
-.mar-l-14 {
- margin-left: 14px;
+.mar-l-40 {
+ margin-left: 40px;
}
-.mar-r-14 {
- margin-right: 14px;
+.mar-r-40 {
+ margin-right: 40px;
}
-.mar-t-14 {
- margin-top: 14px;
+.mar-t-40 {
+ margin-top: 40px;
}
-.mar-b-14 {
- margin-bottom: 14px;
+.mar-b-40 {
+ margin-bottom: 40px;
}
-.pad-15 {
- padding: 15px;
+.pad-41 {
+ padding: 41px;
}
-.pad-l-15 {
- padding-left: 15px;
+.pad-l-41 {
+ padding-left: 41px;
}
-.pad-r-15 {
- padding-right: 15px;
+.pad-r-41 {
+ padding-right: 41px;
}
-.pad-t-15 {
- padding-top: 15px;
+.pad-t-41 {
+ padding-top: 41px;
}
-.pad-b-15 {
- padding-bottom: 15px;
+.pad-b-41 {
+ padding-bottom: 41px;
}
-.mar-15 {
- margin: 15px;
+.mar-41 {
+ margin: 41px;
}
-.mar-l-15 {
- margin-left: 15px;
+.mar-l-41 {
+ margin-left: 41px;
}
-.mar-r-15 {
- margin-right: 15px;
+.mar-r-41 {
+ margin-right: 41px;
}
-.mar-t-15 {
- margin-top: 15px;
+.mar-t-41 {
+ margin-top: 41px;
}
-.mar-b-15 {
- margin-bottom: 15px;
+.mar-b-41 {
+ margin-bottom: 41px;
}
-.pad-16 {
- padding: 16px;
+.pad-42 {
+ padding: 42px;
}
-.pad-l-16 {
- padding-left: 16px;
+.pad-l-42 {
+ padding-left: 42px;
}
-.pad-r-16 {
- padding-right: 16px;
+.pad-r-42 {
+ padding-right: 42px;
}
-.pad-t-16 {
- padding-top: 16px;
+.pad-t-42 {
+ padding-top: 42px;
}
-.pad-b-16 {
- padding-bottom: 16px;
+.pad-b-42 {
+ padding-bottom: 42px;
}
-.mar-16 {
- margin: 16px;
+.mar-42 {
+ margin: 42px;
}
-.mar-l-16 {
- margin-left: 16px;
+.mar-l-42 {
+ margin-left: 42px;
}
-.mar-r-16 {
- margin-right: 16px;
+.mar-r-42 {
+ margin-right: 42px;
}
-.mar-t-16 {
- margin-top: 16px;
+.mar-t-42 {
+ margin-top: 42px;
}
-.mar-b-16 {
- margin-bottom: 16px;
+.mar-b-42 {
+ margin-bottom: 42px;
}
-.pad-17 {
- padding: 17px;
+.pad-43 {
+ padding: 43px;
}
-.pad-l-17 {
- padding-left: 17px;
+.pad-l-43 {
+ padding-left: 43px;
}
-.pad-r-17 {
- padding-right: 17px;
+.pad-r-43 {
+ padding-right: 43px;
}
-.pad-t-17 {
- padding-top: 17px;
+.pad-t-43 {
+ padding-top: 43px;
}
-.pad-b-17 {
- padding-bottom: 17px;
+.pad-b-43 {
+ padding-bottom: 43px;
}
-.mar-17 {
- margin: 17px;
+.mar-43 {
+ margin: 43px;
}
-.mar-l-17 {
- margin-left: 17px;
+.mar-l-43 {
+ margin-left: 43px;
}
-.mar-r-17 {
- margin-right: 17px;
+.mar-r-43 {
+ margin-right: 43px;
}
-.mar-t-17 {
- margin-top: 17px;
+.mar-t-43 {
+ margin-top: 43px;
}
-.mar-b-17 {
- margin-bottom: 17px;
+.mar-b-43 {
+ margin-bottom: 43px;
}
-.pad-18 {
- padding: 18px;
+.pad-44 {
+ padding: 44px;
}
-.pad-l-18 {
- padding-left: 18px;
+.pad-l-44 {
+ padding-left: 44px;
}
-.pad-r-18 {
- padding-right: 18px;
+.pad-r-44 {
+ padding-right: 44px;
}
-.pad-t-18 {
- padding-top: 18px;
+.pad-t-44 {
+ padding-top: 44px;
}
-.pad-b-18 {
- padding-bottom: 18px;
+.pad-b-44 {
+ padding-bottom: 44px;
}
-.mar-18 {
- margin: 18px;
+.mar-44 {
+ margin: 44px;
}
-.mar-l-18 {
- margin-left: 18px;
+.mar-l-44 {
+ margin-left: 44px;
}
-.mar-r-18 {
- margin-right: 18px;
+.mar-r-44 {
+ margin-right: 44px;
}
-.mar-t-18 {
- margin-top: 18px;
+.mar-t-44 {
+ margin-top: 44px;
}
-.mar-b-18 {
- margin-bottom: 18px;
+.mar-b-44 {
+ margin-bottom: 44px;
}
-.pad-19 {
- padding: 19px;
+.pad-45 {
+ padding: 45px;
}
-.pad-l-19 {
- padding-left: 19px;
+.pad-l-45 {
+ padding-left: 45px;
}
-.pad-r-19 {
- padding-right: 19px;
+.pad-r-45 {
+ padding-right: 45px;
}
-.pad-t-19 {
- padding-top: 19px;
+.pad-t-45 {
+ padding-top: 45px;
}
-.pad-b-19 {
- padding-bottom: 19px;
+.pad-b-45 {
+ padding-bottom: 45px;
}
-.mar-19 {
- margin: 19px;
+.mar-45 {
+ margin: 45px;
}
-.mar-l-19 {
- margin-left: 19px;
+.mar-l-45 {
+ margin-left: 45px;
}
-.mar-r-19 {
- margin-right: 19px;
+.mar-r-45 {
+ margin-right: 45px;
}
-.mar-t-19 {
- margin-top: 19px;
+.mar-t-45 {
+ margin-top: 45px;
}
-.mar-b-19 {
- margin-bottom: 19px;
+.mar-b-45 {
+ margin-bottom: 45px;
}
-.pad-20 {
- padding: 20px;
+.pad-46 {
+ padding: 46px;
}
-.pad-l-20 {
- padding-left: 20px;
+.pad-l-46 {
+ padding-left: 46px;
}
-.pad-r-20 {
- padding-right: 20px;
+.pad-r-46 {
+ padding-right: 46px;
}
-.pad-t-20 {
- padding-top: 20px;
+.pad-t-46 {
+ padding-top: 46px;
}
-.pad-b-20 {
- padding-bottom: 20px;
+.pad-b-46 {
+ padding-bottom: 46px;
}
-.mar-20 {
- margin: 20px;
+.mar-46 {
+ margin: 46px;
}
-.mar-l-20 {
- margin-left: 20px;
+.mar-l-46 {
+ margin-left: 46px;
}
-.mar-r-20 {
- margin-right: 20px;
+.mar-r-46 {
+ margin-right: 46px;
}
-.mar-t-20 {
- margin-top: 20px;
+.mar-t-46 {
+ margin-top: 46px;
}
-.mar-b-20 {
- margin-bottom: 20px;
+.mar-b-46 {
+ margin-bottom: 46px;
}
-.pad-21 {
- padding: 21px;
+.pad-47 {
+ padding: 47px;
}
-.pad-l-21 {
- padding-left: 21px;
+.pad-l-47 {
+ padding-left: 47px;
}
-.pad-r-21 {
- padding-right: 21px;
+.pad-r-47 {
+ padding-right: 47px;
}
-.pad-t-21 {
- padding-top: 21px;
+.pad-t-47 {
+ padding-top: 47px;
}
-.pad-b-21 {
- padding-bottom: 21px;
+.pad-b-47 {
+ padding-bottom: 47px;
}
-.mar-21 {
- margin: 21px;
+.mar-47 {
+ margin: 47px;
}
-.mar-l-21 {
- margin-left: 21px;
+.mar-l-47 {
+ margin-left: 47px;
}
-.mar-r-21 {
- margin-right: 21px;
+.mar-r-47 {
+ margin-right: 47px;
}
-.mar-t-21 {
- margin-top: 21px;
+.mar-t-47 {
+ margin-top: 47px;
}
-.mar-b-21 {
- margin-bottom: 21px;
+.mar-b-47 {
+ margin-bottom: 47px;
}
-.pad-22 {
- padding: 22px;
+.pad-48 {
+ padding: 48px;
}
-.pad-l-22 {
- padding-left: 22px;
+.pad-l-48 {
+ padding-left: 48px;
}
-.pad-r-22 {
- padding-right: 22px;
+.pad-r-48 {
+ padding-right: 48px;
}
-.pad-t-22 {
- padding-top: 22px;
+.pad-t-48 {
+ padding-top: 48px;
}
-.pad-b-22 {
- padding-bottom: 22px;
+.pad-b-48 {
+ padding-bottom: 48px;
}
-.mar-22 {
- margin: 22px;
+.mar-48 {
+ margin: 48px;
}
-.mar-l-22 {
- margin-left: 22px;
+.mar-l-48 {
+ margin-left: 48px;
}
-.mar-r-22 {
- margin-right: 22px;
+.mar-r-48 {
+ margin-right: 48px;
}
-.mar-t-22 {
- margin-top: 22px;
+.mar-t-48 {
+ margin-top: 48px;
}
-.mar-b-22 {
- margin-bottom: 22px;
+.mar-b-48 {
+ margin-bottom: 48px;
}
-.pad-23 {
- padding: 23px;
+.pad-49 {
+ padding: 49px;
}
-.pad-l-23 {
- padding-left: 23px;
+.pad-l-49 {
+ padding-left: 49px;
}
-.pad-r-23 {
- padding-right: 23px;
+.pad-r-49 {
+ padding-right: 49px;
}
-.pad-t-23 {
- padding-top: 23px;
+.pad-t-49 {
+ padding-top: 49px;
}
-.pad-b-23 {
- padding-bottom: 23px;
+.pad-b-49 {
+ padding-bottom: 49px;
}
-.mar-23 {
- margin: 23px;
+.mar-49 {
+ margin: 49px;
}
-.mar-l-23 {
- margin-left: 23px;
+.mar-l-49 {
+ margin-left: 49px;
}
-.mar-r-23 {
- margin-right: 23px;
+.mar-r-49 {
+ margin-right: 49px;
}
-.mar-t-23 {
- margin-top: 23px;
+.mar-t-49 {
+ margin-top: 49px;
}
-.mar-b-23 {
- margin-bottom: 23px;
+.mar-b-49 {
+ margin-bottom: 49px;
}
.sidebar-problem-list {
margin-left: 12px;
}
-input, textarea {
+input, textarea, select {
border: none;
background-color: #111;
color: white;
display: inline-block;
padding: 0.25rem;
}
-input::placeholder, textarea::placeholder {
+input::placeholder, textarea::placeholder, select::placeholder {
color: #999;
}
-form input, form textarea {
+input[type=submit] {
+ cursor: pointer;
+ background-color: #0077c2;
+}
+
+form input, form textarea, form select {
z-index: 20;
box-shadow: 0px 2px 6px 0.5px rgba(0, 0, 0, 0.7);
padding: 0.75rem;
box-shadow: 0px 2px 6px 0.5px rgba(0, 0, 0, 0.7);
background-color: #0077c2;
width: 100%;
- line-height: 48px;
+ line-height: 44px;
display: inline-block;
- padding-left: 12px;
- margin-top: 16px;
+ padding: 4px 12px 4px;
+ margin-top: 12px;
}
.error-list ul li {
-{"version":3,"sourceRoot":"","sources":["../scss/_navbar.scss","../scss/_vars.scss","../scss/_utils.scss","../scss/_elevate.scss","../scss/problem/_sidebar.scss","../scss/vendor/circle.scss","../scss/vendor/_mixins.scss","../scss/vendor/_variables.scss","../scss/core.scss"],"names":[],"mappings":"AAAA;EACC;EACA;EACA,YCIc;EDHd,QCoBe;EDnBf;EAEA;EAEA;EACA;;AAEA;EACC;EACA;;AAEA;EACC;EACA;;AAIF;EACC;EACA;EACA;;AAEA;EACC;EACA;EACA;EAEA;EAEA;EACA;EACA;EACA;EACA;EAEA;EACA,kBClCY;EDoCZ;;AAEA;EACC;EACA;;;AE/CJ;EACC;EACA;;;AAGD;EACC;;;AAGD;EACC;;;AAGD;EACC;;;AAGD;EACC;EACA;;;AAIA;EACC;EACA;;;AAFD;EACC;EACA;;;AAFD;EACC;EACA;;;AAIF;EACC;EACA;;AAGC;EACC;;AAGD;EACC;;;AAKH;EC3CI;ED6CH;;AAGC;EAEC;;AAIF;EAGC;;;AAIF;EACC;EACA;;;AAGD;EACC;;AAEA;EAAW;;AACX;EAAW;;AACX;EAAW;;AACX;EAAW;;AAEC;EAAW,kBDtEd;;ACuES;EAAW,kBDtEd;;ACuEE;EAAW,kBDtEd;;ACwEA;EAAW,kBDtEd;;ACuES;EAAW,kBDtEd;;ACuEE;EAAW,kBDtEd;;ACwEN;EAAW,kBDtEd;;ACuES;EAAW,kBDtEd;;ACuEE;EAAW,kBDtEd;;;ACyEb;ECvFI;EDyFH;;AAEA;EACC;;;AAIF;EACC;;;AAGD;EACC;;;AAIA;EAAa;;;AACb;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AAEf;EAAa;;;AACb;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AAVf;EAAa;;;AACb;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AAEf;EAAa;;;AACb;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AAVf;EAAa;;;AACb;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AAEf;EAAa;;;AACb;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AAVf;EAAa;;;AACb;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AAEf;EAAa;;;AACb;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AAVf;EAAa;;;AACb;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AAEf;EAAa;;;AACb;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AAVf;EAAa;;;AACb;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AAEf;EAAa;;;AACb;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AAVf;EAAa;;;AACb;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AAEf;EAAa;;;AACb;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AAVf;EAAa;;;AACb;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AAEf;EAAa;;;AACb;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AAVf;EAAa;;;AACb;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AAEf;EAAa;;;AACb;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AAVf;EAAa;;;AACb;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AAEf;EAAa;;;AACb;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AAVf;EAAa;;;AACb;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AAEf;EAAa;;;AACb;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AAVf;EAAa;;;AACb;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AAEf;EAAa;;;AACb;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AAVf;EAAa;;;AACb;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AAEf;EAAa;;;AACb;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AAVf;EAAa;;;AACb;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AAEf;EAAa;;;AACb;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AAVf;EAAa;;;AACb;E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;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADwGA;EACI;;AACA;EACI;EACA;EACA;EACA,OEzHI;;AF2HR;EACI,KE9HS;EF+HT,ME/HS;EFgIT;EACA;;AAIR;EACI,kBJhIO;;AIiIP;AAAA;EAEI;;AAEJ;EACI,OJtIG;;AIwIP;EACI,kBErII;;AFwIJ;EACI,OJ9IA;;AIkJZ;EACF,kBJ1IW;;AI2IL;AAAA;EAEI;;AAGA;EACI,OJnJR;;AIsJN;EACC,OJrJU;;;AOPb;EACC;EACA;EACA;;;AAGD;EACC;;;AAGD;EACC;EACA;EACA;;;AAGD;EACC;EAEA;EACA;EACA;EACA;;;AAGD;ELhCI;EKkCH;EACA,kBP7Bc;EO8Bd;EAEA;EACA;EACA;EACA;EAEA;;AAEA;EACC;;;AAIF;EACC;EACA;EACA;EAEA;EACA;EACA;;AAEA;EACC;;;AAKD;EACC;ELlEE;EKqEF;EACA;EACA;;AAGD;EACC;EACA;;AAGD;EACC;ELhFE;EKkFF,kBP5Ea;EO6Eb;EACA;EAEA;EACA;EACA;;;AAOD;EL/FG;EKkGF;EACA,kBPzFe;EO0Ff;EACA;;AAEA;EACC,kBPlGY;;;AOuGf;EACC;EACA;;;AAGD;EAKC;ELvHG;EK0HH;EACA;EAEA;EACA;EACA;EACA,OPjIO;;AOoHP;EACC;;;AAeF;ELnII;EKsIH,kBPhIc;EOiId;EACA;EACA;EACA;;AAEA;EACC;EACA;;;AAIF;EAGC;EACA;;AAEA;EACC;;;AAKD;EACC;EACA,kBP5JQ;EO6JR;EACA;EACA;EAEA;EACA;EACA;EACA;EAEA","file":"core.css"}
\ No newline at end of file
+{"version":3,"sourceRoot":"","sources":["../scss/_navbar.scss","../scss/_vars.scss","../scss/_utils.scss","../scss/_elevate.scss","../scss/problem/_sidebar.scss","../scss/vendor/circle.scss","../scss/vendor/_mixins.scss","../scss/vendor/_variables.scss","../scss/core.scss"],"names":[],"mappings":"AAAA;EACC;EACA;EACA,YCIc;EDHd,QCoBe;EDnBf;EAEA;EAEA;EACA;;AAEA;EACC;EACA;;AAEA;EACC;EACA;;AAIF;EACC;EACA;EACA;;AAEA;EACC;EACA;EACA;EAEA;EAEA;EACA;EACA;EACA;EACA;EAEA;EACA,kBClCY;EDoCZ;;AAEA;EACC;EACA;;;AE/CJ;EACC;EACA;;;AAGD;EACC;;;AAGD;EACC;;;AAGD;EACC;;;AAGD;EACC;EACA;;;AAIA;EACC;EACA;;AAEA;EACC;;AAGD;EACC;;;AATF;EACC;EACA;;AAEA;EACC;;AAGD;EACC;;;AATF;EACC;EACA;;AAEA;EACC;;AAGD;EACC;;;AAKH;EACC;EACA;;AAGC;EACC;;AAGD;EACC;;;AAKH;ECnDI;EDqDH;;AAGC;EAEC;;AAIF;EAGC;;;AAIF;EACC;EACA;;;AAGD;EACC;;AAEA;EAAW;;AACX;EAAW;;AACX;EAAW;;AACX;EAAW;;AAEC;EAAW,kBD9Ed;;AC+ES;EAAW,kBD9Ed;;AC+EE;EAAW,kBD9Ed;;ACgFA;EAAW,kBD9Ed;;AC+ES;EAAW,kBD9Ed;;AC+EE;EAAW,kBD9Ed;;ACgFN;EAAW,kBD9Ed;;AC+ES;EAAW,kBD9Ed;;AC+EE;EAAW,kBD9Ed;;;ACiFb;EC/FI;EDiGH;;AAEA;EACC;;;AAIF;EACC;;;AAGD;EACC;;;AAIA;EAAa;;;AACb;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AAEf;EAAa;;;AACb;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AAVf;EAAa;;;AACb;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AAEf;EAAa;;;AACb;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AAVf;EAAa;;;AACb;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AAEf;EAAa;;;AACb;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AAVf;EAAa;;;AACb;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AAEf;EAAa;;;AACb;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AAVf;EAAa;;;AACb;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AAEf;EAAa;;;AACb;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AAVf;EAAa;;;AACb;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AAEf;EAAa;;;AACb;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AAVf;EAAa;;;AACb;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AAEf;EAAa;;;AACb;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AAVf;EAAa;;;AACb;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AAEf;EAAa;;;AACb;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AAVf;EAAa;;;AACb;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AAEf;EAAa;;;AACb;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AAVf;EAAa;;;AACb;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AAEf;EAAa;;;AACb;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AAVf;EAAa;;;AACb;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AAEf;EAAa;;;AACb;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AAVf;EAAa;;;AACb;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AAEf;EAAa;;;AACb;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AAVf;EAAa;;;AACb;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AAEf;EAAa;;;AACb;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AAVf;EAAa;;;AACb;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AAEf;EAAa;;;AACb;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AAVf;EAAa;;;AACb;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AAEf;EAAa;;;AACb;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AAVf;EAAa;;;AACb;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AAEf;EAAa;;;AACb;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AAVf;EAAa;;;AACb;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AAEf;EAAa;;;AACb;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AAVf;EAAa;;;AACb;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AAEf;EAAa;;;AACb;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AAVf;EAAa;;;AACb;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AAEf;EAAa;;;AACb;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AAVf;EAAa;;;AACb;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AAEf;EAAa;;;AACb;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AAVf;EAAa;;;AACb;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AAEf;EAAa;;;AACb;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AAVf;EAAa;;;AACb;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AAEf;EAAa;;;AACb;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AAVf;EAAa;;;AACb;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AAEf;EAAa;;;AACb;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AAVf;EAAa;;;AACb;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AAEf;EAAa;;;AACb;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AAVf;EAAa;;;AACb;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AAEf;EAAa;;;AACb;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AAVf;EAAa;;;AACb;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AAEf;EAAa;;;AACb;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AAVf;EAAa;;;AACb;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AAEf;EAAa;;;AACb;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AAVf;EAAa;;;AACb;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AAEf;EAAa;;;AACb;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AAVf;EAAa;;;AACb;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AAEf;EAAa;;;AACb;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AAVf;EAAa;;;AACb;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AAEf;EAAa;;;AACb;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AAVf;EAAa;;;AACb;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AAEf;EAAa;;;AACb;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AAVf;EAAa;;;AACb;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AAEf;EAAa;;;AACb;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AAVf;EAAa;;;AACb;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AAEf;EAAa;;;AACb;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AAVf;EAAa;;;AACb;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AAEf;EAAa;;;AACb;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AAVf;EAAa;;;AACb;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AAEf;EAAa;;;AACb;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AAVf;EAAa;;;AACb;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AAEf;EAAa;;;AACb;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AAVf;EAAa;;;AACb;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AAEf;EAAa;;;AACb;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AAVf;EAAa;;;AACb;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AAEf;EAAa;;;AACb;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AAVf;EAAa;;;AACb;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AAEf;EAAa;;;AACb;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AAVf;EAAa;;;AACb;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AAEf;EAAa;;;AACb;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AAVf;EAAa;;;AACb;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AAEf;EAAa;;;AACb;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AAVf;EAAa;;;AACb;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AAEf;EAAa;;;AACb;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AAVf;EAAa;;;AACb;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AAEf;EAAa;;;AACb;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AAVf;EAAa;;;AACb;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AAEf;EAAa;;;AACb;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AAVf;EAAa;;;AACb;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AAEf;EAAa;;;AACb;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AAVf;EAAa;;;AACb;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AAEf;EAAa;;;AACb;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AAVf;EAAa;;;AACb;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AAEf;EAAa;;;AACb;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AAVf;EAAa;;;AACb;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AAEf;EAAa;;;AACb;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AAVf;EAAa;;;AACb;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AAEf;EAAa;;;AACb;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AACf;EAAe;;;AE5HhB;EACC;EACA;EACA;EACA;EACA;;AAEA;EACC;EAEA;EACA;EAEA;EACA;EAEA;EACA;EACA;EAEA;;AAEA;EACC;;AAGD;EACC;;AAGD;EACC;;AAIF;EACC;EACA;EACA;EACA;EACA;;AAGD;EACC;EACA;EAEA;EACA;EACA;EAEA;EACA;;;AC9CF;EACI;;;AAGJ;EACI;EACA;EACA;EACA;EACA;EACA;ECNA;EACA;EACA;EACA;EACA;;;ADMJ;ECVI;EACA;EACA;EACA;EACA;;;ADWJ;EAMI;EACA;EACA;EACA;EACA;EACA;EACA,kBEjCc;;AFsBd;AAAA;AAAA;ECRA,oBDWwB;ECVxB,iBDUwB;ECTxB,YDSwB;;AAUxB;EACI;EACA;;AAGJ;EACI;;AAGJ;EACI;;AAGJ;EACI;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,OEzDU;EF0DV;EACA;EACA;ECzCJ,6BD0CiC;ECzCjC,0BDyCiC;ECxCjC,wBDwCiC;ECvCjC,qBDuCiC;ECnCjC,6BDoCiC;ECnCjC,0BDmCiC;EClCjC,wBDkCiC;ECjCjC,qBDiCiC;EC7BjC,oCD8BwC;EC7BxC,iCD6BwC;EC5BxC,+BD4BwC;EC3BxC,4BD2BwC;;AAGxC;EACI;EACA,KExEO;EFyEP,MEzEO;EF0EP;EACA;EACA;EACA,kBExEG;EFyEH;EACA;ECxDJ,6BDyDiC;ECxDjC,0BDwDiC;ECvDjC,wBDuDiC;ECtDjC,qBDsDiC;EClDjC,6BDmDiC;EClDjC,0BDkDiC;ECjDjC,wBDiDiC;EChDjC,qBDgDiC;EC5CjC,oCD6CwC;EC5CxC,iCD4CwC;EC3CxC,+BD2CwC;EC1CxC,4BD0CwC;;AAGxC;EACI;EACA;EACA;EACA;;AAuBA;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADkGI;ECtGJ;EACA;EACA;EACA;EACA;;ADwGA;EACI;;AACA;EACI;EACA;EACA;EACA,OEzHI;;AF2HR;EACI,KE9HS;EF+HT,ME/HS;EFgIT;EACA;;AAIR;EACI,kBJhIO;;AIiIP;AAAA;EAEI;;AAEJ;EACI,OJtIG;;AIwIP;EACI,kBErII;;AFwIJ;EACI,OJ9IA;;AIkJZ;EACF,kBJ1IW;;AI2IL;AAAA;EAEI;;AAGA;EACI,OJnJR;;AIsJN;EACC,OJrJU;;;AOPb;EACC;EACA;EACA;;;AAGD;EACC;;;AAGD;EACC;EACA;EACA;;;AAGD;EACC;EAEA;EACA;EACA;EACA;;;AAGD;ELhCI;EKkCH;EACA,kBP7Bc;EO8Bd;EAEA;EACA;EACA;EACA;EAEA;;AAEA;EACC;;;AAIF;EACC;EACA;EACA;EAEA;EACA;EACA;;AAEA;EACC;;;AAIF;EACC;EACA,kBP5Dc;;;AOgEd;EACC;ELvEE;EK0EF;EACA;EACA;;AAID;EACC;EACA;;AAGD;EACC;ELtFE;EKwFF,kBPlFa;EOmFb;EACA;EAEA;EACA;EACA;;;AAOD;ELrGG;EKwGF;EACA,kBP/Fe;EOgGf;EACA;;AAEA;EACC,kBPxGY;;;AO6Gf;EACC;EACA;;;AAGD;EAKC;EL7HG;EKgIH;EACA;EAEA;EACA;EACA;EACA,OPvIO;;AO0HP;EACC;;;AAeF;ELzII;EK4IH,kBPtIc;EOuId;EACA;EACA;EACA;;AAEA;EACC;EACA;;;AAIF;EAGC;EACA;;AAEA;EACC;;;AAKD;EACC;EACA,kBPlKQ;EOmKR;EACA;EACA;EAEA;EACA;EACA;EACA;EAEA","file":"core.css"}
\ No newline at end of file
.split-#{$i} {
display: grid;
grid-template-columns: repeat(#{$i}, 1fr);
+
+ & > *:first-child {
+ margin-right: 12px;
+ }
+
+ & > *:last-child {
+ margin-left: 12px;
+ }
}
}
width: 100%;
}
-@for $i from 1 to 24 {
+@for $i from 1 to 50 {
.pad-#{$i} { padding: #{$i}px; }
.pad-l-#{$i} { padding-left: #{$i}px; }
.pad-r-#{$i} { padding-right: #{$i}px; }
}
}
-input, textarea {
+input, textarea, select {
border: none;
background-color: #111;
color: white;
}
}
+input[type="submit"] {
+ cursor: pointer;
+ background-color: $primary-dark;
+}
+
form {
- input, textarea {
+ input, textarea, select {
z-index: 20;
@include elevate(2px, rgba(0, 0, 0, 0.7));
width: 100%;
}
+
textarea {
background-color: #111;
height: 50vh;
@include elevate(2px, rgba(0, 0, 0, 0.7));
background-color: $primary-dark;
width: 100%;
- line-height: 48px;
+ line-height: 44px;
display: inline-block;
- padding-left: 12px;
- margin-top: 16px;
+ padding: 4px 12px 4px;
+ margin-top: 12px;
}
}
-> text 'Create a competition'
for comp in *@competitions
- div class: 'header-line', ->
+ div class: 'option-line', ->
span comp.name
+ div class: 'button-list', ->
+ a href: (@url_for "admin.competition.edit", { competition_id: comp.id }), "Edit"
+ a href: (@url_for "admin.competition.delete", { competition_id: comp.id}), 'Delete'
div class: 'box', ->
div class: 'highlight pad-12 split-lr', ->
div class: 'highlight pad-12 split-lr', ->
span 'End time'
span comp.end
-
-
--- /dev/null
+html = require "lapis.html"
+
+class AdminCompetitionEdit extends html.Widget
+ content: =>
+ h1 "Editing '#{@comp.name}'"
+
+ div class: 'content', ->
+ div class: 'split-2', ->
+ form method: 'POST', ->
+ input type: 'hidden', name: 'id', value: "#{@comp.id}", ""
+
+ label for: 'name', 'Competition name'
+ input type: 'text', name: 'name', value: "#{@comp.name}", ""
+
+ label for: 'start_time', 'Start time'
+ input type: 'datetime-local', name: 'start_time', value: "#{@comp.start}", ""
+
+ label for: 'end_time', 'End time'
+ input type: 'datetime-local', name: 'end_time', value: "#{@comp.end}", ""
+
+ input type: 'submit', value: 'Save competition'
+
+ div ->
+ div class: 'header-line', ->
+ span "Problems"
+
+ div class: 'box', ->
+ if @comp_problems
+ for cp in *@comp_problems
+ div class: 'highlight split-lr', ->
+ div class: 'tabbed-split tab-32 primary-dark', ->
+ span class: 'pad-12', -> text cp.letter
+ div class: 'pad-12', -> text "#{cp.name}"
+
+ div class: 'pad-12 button-list', ->
+ a 'Remove'
+
+ h2 class: 'mar-t-32', "Add problem"
+ form method: 'POST', action: '/test', ->
+ input type: 'hidden', name: 'competition_id', value: "#{@comp.id}", ""
+
+ label for: 'problem_name', 'Problem name'
+ element 'select', name: 'problem_name', ->
+ for prob in *@all_problems
+ option value: "#{prob.short_name}", "#{prob.name}"
+
+ label for: 'letter', 'Problem letter'
+ element 'select', ->
+ for i = 0, 25, 1
+ letter = string.char (65 + i)
+ option value: "#{letter}", "#{letter}"
+
+ input type: 'submit', value: 'Add problem'
br ''
for problem in *@problems
- div class: 'option-line', ->
- span "#{problem.name}"
- div class: 'button-list', ->
- a href: (@url_for 'admin.problem.edit', problem_name: problem.short_name), 'Edit'
- a { 'data-problem-delete': problem.short_name }, 'Delete'
- div class: 'box', ->
- div class: 'highlight pad-12 split-lr', ->
- span "Short name:"
- span "#{problem.short_name}"
- div class: 'highlight pad-12 split-lr', ->
- span "Time limit:"
- span "#{problem.time_limit}ms"
+ div class: 'w50 left pad-12', ->
+ div class: 'option-line', ->
+ span "#{problem.name}"
+ div class: 'button-list', ->
+ a href: (@url_for 'admin.problem.edit', problem_name: problem.short_name), 'Edit'
+ a { 'data-problem-delete': problem.short_name }, 'Delete'
+
+ div class: 'box', ->
+ div class: 'highlight pad-12 split-lr', ->
+ span "Short name:"
+ span "#{problem.short_name}"
+ div class: 'highlight pad-12 split-lr', ->
+ span "Time limit:"
+ span "#{problem.time_limit}ms"
+ div class: 'highlight pad-12 split-lr', ->
+ span "Correct submissions:"
+ span "#{problem\get_correct_jobs![1].count}"
+ div class: 'highlight pad-12 split-lr', ->
+ span "Wrong submissions:"
+ span "#{problem\get_wrong_answer_jobs![1].count}"
+ div class: 'highlight pad-12 split-lr', ->
+ span "Timed out submissions:"
+ span "#{problem\get_timed_out_jobs![1].count}"
h1 "Editing '#{@problem.name}'"
div class: 'content', ->
- form method: 'POST', ->
- input type: 'hidden', name: 'csrf_token', value: @csrf_token
- input type: 'hidden', name: 'problem_id', value: @problem.id
+ div class: 'split-2', ->
+ div ->
+ h2 class: 'pad-l-12', 'Problem info'
+ form method: 'POST', ->
+ input type: 'hidden', name: 'csrf_token', value: @csrf_token
+ input type: 'hidden', name: 'problem_id', value: @problem.id
- label for: 'name', 'Problem name'
- input type: 'text', name: 'name', placeholder: 'Problem name', value: @problem.name, ""
+ label for: 'name', 'Problem name'
+ input type: 'text', name: 'name', placeholder: 'Problem name', value: @problem.name, ""
- label for: 'name', 'Short name'
- input type: 'text', name: 'short_name', placeholder: 'Short URL name', value: @problem.short_name, ""
+ label for: 'name', 'Short name'
+ input type: 'text', name: 'short_name', placeholder: 'Short URL name', value: @problem.short_name, ""
- label for: 'name', 'Problem description'
- textarea name: 'description', placeholder: 'Problem description', @problem.description
+ label for: 'name', 'Problem description'
+ textarea name: 'description', placeholder: 'Problem description', @problem.description
- label for: 'name', 'Time limit'
- input type: 'number', value: 500, name: 'time_limit', value: @problem.time_limit, ""
+ label for: 'name', 'Time limit'
+ input type: 'number', value: 500, name: 'time_limit', value: @problem.time_limit, ""
- input type: 'submit', value: 'Update problem'
+ input type: 'submit', value: 'Update problem info'
- h2 style: 'margin: 48px 0 16px; padding-left: 12px', 'Test cases'
+ div ->
+ h2 class: 'pad-l-12', 'Test cases'
- div class: 'test-cases', ->
- for test_case in *@test_cases
- widget (TestCase test_case.testcase_order, test_case.uuid, test_case.input, test_case.output)
+ div class: 'test-cases', ->
+ for test_case in *@test_cases
+ widget (TestCase test_case.testcase_order, test_case.uuid, test_case.input, test_case.output)
- button { 'data-new-tc': @problem.short_name }, 'New test case'
- button { 'data-tc-save-all': true }, 'Save all'
+ button { 'data-new-tc': @problem.short_name }, 'New test case'
+ button { 'data-tc-save-all': true }, 'Save all'
+
\ No newline at end of file
div class: 'content', ->
for job in *@jobs
- div class: 'option-line', ->
- span "#{job.job_id}"
- div class: 'button-list', ->
- a href: (@url_for 'admin.submission.edit', {}, { submission_id: job.job_id }), 'View'
+ div class: 'w50 left pad-12', ->
+ div class: 'option-line', ->
+ span "#{job.job_id}"
+ div class: 'button-list', ->
+ a href: (@url_for 'admin.submission.edit', {}, { submission_id: job.job_id }), 'View'
- div class: 'box', ->
- div class: 'highlight pad-12 split-lr', ->
- span 'Status:'
- span Jobs.statuses\to_name job.status
- div class: 'highlight pad-12 split-lr', ->
- span 'Username:'
- span job\get_user!.username
- div class: 'highlight pad-12 split-lr', ->
- span 'Problem:'
- span job\get_problem!.short_name
- div class: 'highlight pad-12 split-lr', ->
- span 'Language:'
- span job.lang
+ div class: 'box', ->
+ div class: 'highlight pad-12 split-lr', ->
+ span 'Status:'
+ span Jobs.statuses\to_name job.status
+ div class: 'highlight pad-12 split-lr', ->
+ span 'Username:'
+ span job\get_user!.username
+ div class: 'highlight pad-12 split-lr', ->
+ span 'Problem:'
+ span job\get_problem!.short_name
+ div class: 'highlight pad-12 split-lr', ->
+ span 'Language:'
+ span job.lang
div class: 'content', ->
for user in *@users
- div class: 'option-line', ->
- span "#{user.username}"
- div class: 'button-list', ->
- button { 'data-user-reset-password': user.username }, 'Reset password'
- button { 'data-user-delete': user.username }, 'Delete'
- div class: 'box', ->
- div class: 'highlight pad-12 split-lr', ->
- span "Nickname:"
- span "#{user.nickname}"
- div class: 'highlight pad-12 split-lr', ->
- span "Email:"
- span "#{user.email}"
+ div class: 'w50 left pad-12', ->
+ div class: 'option-line', ->
+ span "#{user.username}"
+ div class: 'button-list', ->
+ button { 'data-user-reset-password': user.username }, 'Reset password'
+ button { 'data-user-delete': user.username }, 'Delete'
+ div class: 'box', ->
+ div class: 'highlight pad-12 split-lr', ->
+ span "Nickname:"
+ span "#{user.nickname}"
+ div class: 'highlight pad-12 split-lr', ->
+ span "Email:"
+ span "#{user.email}"
div class: "highlight pad-12 pad-b-4 split-lr", ->
div "Status:"
div "#{@status_str}"
+ div class: "highlight pad-l-12 pad-r-12 pad-t-4 pad-b-4 split-lr", ->
+ div "User:"
+ div "#{@username}"
div class: "highlight pad-l-12 pad-r-12 pad-t-4 pad-b-4 split-lr", ->
div "Problem:"
div "#{@problem}"
div class: "highlight pad-l-12 pad-r-12 pad-t-4 pad-b-4 split-lr", ->
div "Time submittted:"
div "#{@time_started}"
- div class: "highlight pad-l-12 pad-r-12 pad-t-4 pad-b-4 split-lr", ->
- div "Bytes:"
- div "N/A"
div ->
if @show_slash
div class: 'header-line', ->