Commit 9a130fb
release 4.2.0 (#371)
* [feat]: 면접관 조회 기능 ROLE에 따른 필터링 추가
* [style]: spotless
* [refactor]: 중복 임포트문 삭제
* feat: 배포 자동화 셸 스크립트 작성
* feat: 배포 자동화 셸 스크립트 적용
* feat: 가장 최신 내용의 브랜치로 이동
* feat: nginx proxy 컨테이너 추가
* chore: gitignore에 .pem 추가
* feat: redis config 추가
* refactor: git 디렉터리 에러 해결
* chore: gitignore 에 .key 추가
* refactor: 실행 권한 설정 명령 추가
* rename: 레디스 설정 파일 이름 변경
* refactor: 잘못된 파일 이름 변경
* refactor: 디스코드 발송 에러 해결
* refactor: 디스코드 발송 스크립트 수정
* refactor: 디스코드 발송 스크립트 수정 - env 가 아닌 run 에서 바디 정의
* refactor: discord 알림 발송 워크 플로우 확정
- 디스코드 환경 변수 설정 및 알림 보내기 step 추가
* refactor: discord 알림 발송 워크 플로우 확정 (prod)
- 디스코드 환경 변수 설정 및 알림 보내기 step 추가
* refactor: 디스코드 알림 환경 변수 step 제거
* refactor: 디스코드 알림 환경 변수 step 제거 (Prod)
* feat: github action 테스트 스크립트 작성
* refactor: 파일 인코딩 변경
* chore: 테스트 스크립트 삭제
* refactor: 필요 없는 주석 삭제
* refactor: 투명 블록 제거
* [chore]: spotless plugin version 6.11.0 -> 6.22.0 변경
* [feat]: 지원 완료 html 템플릿
* [refactor]: html 생성에 템플릿 엔진으로 타임리프 적용
* refactor: 지원서의 합/불 상태 리스트 조회 API에 description 추가
* refactor: PassStateToEnum 은 Response 에 포함되지 않도록 수정
* refactor: ApplicantStateResponse 정의
- Applicant의 state를 전달하는 응답 DTO
* fix: backup 디렉터리가 존재하지 않을 경우, 디렉터리를 생성하도록 수정
* refactor: backup 실패 시, printStackTrace 출력하지 않도록 수정
* feat: 사용하지 않는 도커 볼륨 삭제 스크립트 추가
* refactor: 서류 지원 확인 이메일 템플릿 명 변경
* feat: email-first-passed-email 템플릿 추가
* feat: template -> templates
* feat: email-first-passed-email -> email-first-passed
* chore: api -> infra 모듈로 이동
* style: inline css 적용
* refactor: 멘트 수정
* feat: 최종합격자 이메일 템플릿 추가
* feat: 서류 불합격자 메일 템플릿 추가
* feat: 최종 불합격자 메일 템플릿 추가
* refactor: 최종 합격자 메일 변수 수정
* feat: 합격 상태 별, 이메일 템플릿 추가
* refactor: switch case 문에, break 추가
* feat: DefaultTemplate 클래스 정의
- 기본 이메일 템플릿
* feat: ApplicantEmailService 클래스 작성
- applicant에게 이메일을 전송하는 역할
* refactor: FinalEmailDiscussionEmailScheduler 로직 수정
- 이메일 전송 성공 시 Slack 알림 기능 추가
- ApplicantEmailService 클래스 활용
* refactor: 패키지 이동 및 클래스명 변경
- Recruit-API -> Recruit-Domain
- DefaultTemplate -> DefaultEmailTemplate
* refactor: EmailTemplateType 수정
- PassSates와 매핑
* refactor: EnumType 이름 변경
* refactor: email 템플릿 infrastructure 모듈에서 domain 모듈로 이전
- 기본 템플릿
* refactor: application.yml 수정
- recruit period 기본값 29기에 맞춰서 수정
- default email template에 필요한 정보 추가
* feat: DefaultEmailProperties 클래스 정의
- DefaultEmail에 들어갈 정보
* feat: DefaultEmailTemplateGenerator 추가
- util로 사용할, 기본 이메일 템플릿 생성 클래스
- 템플릿에 들어갈 내용을, 지원자의 정보에 맞게 생성해준다.
* feat: 포트폴리어 파일 경로 추가
* refactor: DefaultEmailGenerator 사용
* comment: 주석 내용 수정
* refactor: switch-case에 걸리지 않을 경우 그대로 리턴
* refactor: DefaultEmailProperties 수정
- LocalDateTime 파싱 로직 추가
* refactor: 시간 정보 text로 변경
- datetime format 사용
* refactor: temporals.format 으로 변경
* feat: Ncp Sms 관련 설정 추가
- sms api url
- openfeign에 sms 요청 메소드 추가
* rename: Response -> NcpResponse 클래스 명 변경
* feat: NcpSmsResponse 정의
* feat: NcpSmsResponse 적용
* feat: NcpSmsSender 정의
- NaverCloudPlatform 을 사용한 sms 전송 클래스
* feat: SmsMessageGenerator 정의
* feat: ApplicantSmsService 구현
- 해당 지원자에게 문자 발송
* refactor: EmailSendEvent 수정
- applicantId 필드 추가
* feat: EmailSendEventHandler 정의
- 이메일 발송 완료 이벤트 처리
* feat: sendSms(applicantId) 메소드 추가
* refactor: record @Getter 제거
* feat: NcpClients 클래스 정의
- Ncp 의 여러 클라이언트 관리
* delete: NcpClient 삭제
* refactor: 패키지 명 변경 및, NcpClients 적용
* rename: NcpSmsSender -> NcpSmsHelper
* refactor: ncp api url 분리
- base url + uri 로 분리
* refactor: 패키지 이동에 따른 수정
* refactor: 패키지 이동
* refactor: 휴대폰 번호 추출 키 phone -> contacted
* refactor: FeignClient 에러 발생 시, Response 값 String 으로 볼 수 있도록 변경
* refactor: charset 변경
* refactor: Message 객체에 Getter 추가
* refactor: NcpSmsClient return type change
* refactor: add default constructor
* feat: add fromPhoneNumber
* feat: 메일 전송 시, 메일 전송 이벤트 발행
* feat: EmailTemplateInvalidStateException 정의
- 해당 State에 맞는 이메일 템플릿이 없을 경우 발생하는 예외
* refactor: 상태에 맞지 않는 템플릿일 경우 던지는 예외 변경
* refactor: retry 횟수 3회로 변경 및 에러 로그 수정
* feat: 최종 합격 공지 대상 필터링 메소드 추가
- FINAL_PASSED , FINAL_FAILED
* refactor: 최종 합격자 대상 ot 시간 형식 수정
* feat: 이메일 API 컨트롤러 추가
* style: spotlessApply
* fix: Redisson Lock 해제 조건 추가
- 현재 스레드가 락 소유
- 락 상태 on
* style: spotlessApply
* comment: 주석 추가
* refactor: 메일 발송 성공 시 이벤트 발행 로직 제거
* feat: SecurityConfig에 email 관련 api 추가
* feat: 이벤트 발행 로그 다시 추가
* feat: email api 추가
* feat: sendEmail(year, state) 메소드 추가
* feat: applicantId로 MongoAnswer 찾는 메소드 추가
* feat: applicantId로 지원자 한 명 에게 메일 발송 API 추가
* refactor: 님! 추가
* style: spotlessApply
* style: spotlessApply
* docs: 포트폴리오 새로운 버전으로 변경
* refactor: 구글폼 링크 추가
* refactor: ot url 설정 추가
* fix: 오타 수정
* fix: orientation url key 수정
* refactor: 불합격자 멘트 수정
* fix: 오타 수정
* refactor: 문자 기본 멘트 변경
* refactor: 띄어쓰기 추가
* [BE-122] 이메일 발송 이벤트 처리를 수정합니다. (#336)
* refactor: Transactional 삭제
* refactor: TransactionalEventListener -> EventListener 로 변경
* [feat]: 레디스에 저장할 액세스토큰 엔티티
* [feat]: 화이트리스트 레포지토리 및 레디스 설정
- 해당 레디스 설정을 통해 토큰 삭제 시 Set 모두 삭제됩니다.
* [feat]: 매 요청 접속 시 화이트리스트에 액세스 토큰이 있는지 검사
* [feat]: 로그인 시 액세스 토큰을 저장하고 로그아웃 시 삭제
* [refactor]: 기존에 있는 InvalideTokenException을 사용
* [refactor]: 필터에서 레포지토리보다는 포트를 주입받아서 사용
* [feat]: 간소화된 면접 기록 응답 DTO 추가
- SimpleRecordViewResponseDto: 간소화된 면접 기록 DTO
- SimpleRecordsViewResponseDto: 페이지 정보 및 간소화된 면접 기록 리스트 반환 DTO
* [feat]: 간단한 면접 목록 조회를 위한 executeSimple 메서드 추가
- SimpleRecordsViewResponseDto를 반환하는 executeSimple 메서드 추가
* [feat]: RecordService에 executeSimple 구현
* [feat]: 간소화된 면접 기록 목록 조회 엔드포인트 추가
- 지원자의 면접기록 목록을 페이지 몇 기수별로 조회하는 엔드포인트 추가
- /api/v1/page/{page}/year/{year}/records
* [feat]: Record, Applicant, 점수, 페이지 정보를 담는 FilteredRecordsApplicantsDto 추가
* [refactor]: RecordsService의 공통 로직을 private 메서드로 분리
- execute 와 executeSimple 메서드에서 공통되는 부분 private 메서드로 분리
* [feat]: 비밀번호 재설정 기능 구현
* [style]: spotless
* [feat]: 이메일로 인증코드 발송 구현
* [feat]: 이메일로 인증코드 발송 구현
* [feat]: 비밀번호 재설정 시 인증 완료 기록 없으면 예외 발생
* [style]: spotless
* [chore]: Graphql 의존성 추가
- sprint boot, 확장 스칼라, 테스트 의존성 추가
* [chore]: GraphQL 스키마 초기화 설정 및 로깅 설정 추가
* [feat]: 요청/응답 캐싱 필터에 GraphQL 제외 전략 적용
* [feat]: Method Level 인가 활성화 및 GraphQL 경로 permitAll 설정
- @EnableMethodSecurity 추가로 @PreAuthorize를 통해 Resolver 단에서 인가 적용
- GraphQL 경로는 FilterChain을 통과하되 인증 없이 접근 허용
PreAuthorize를 통해 각 쿼리 별 접근 제한 설정
* [feat]: GraphQL JSON 스칼라 등록 및 Jackson 메시지 컨버터 설정
* [feat]: GraphQL을 통한 필터링된 목록 및 단일 조회 기능 구현
* [feat]: GraphQLExceptionHandler 추가
- RecruitCodeException Handling
- 이외의 오류는 Internal Server Error로 처리
* [style]: spotless
* [BE-113] 칸반 보드 Columns 조회 시 QueryString으로 year 정보를 받는 V2 API 추가, 지원서 칸반보드 열 생성 V2 API 추가 (#298)
* Revert "[BE-113] 칸반 보드 Columns 조회 시 QueryString으로 year 정보를 받는 V2 API 추가, 지원서 …" (#348)
This reverts commit 69589ed.
* [feat]: 비밀번호 재설정을 위한 이메일 인증 시 존재하지 않는 면접관이면 예외 처리
* [feat]: 회원가입 시 이메일 인증 기능 추가
* [feat]: 시큐리티 경로 추가
* [feat]: 회원가입 시 이메일 인증이 완료되지 않았으면 예외 처리
* [style]: spotless
* [refactor]: GraphQL 에외 처리 빌더 메서드를 통한 중복 코드 제거
* [style]: spotless
* [refactor]: Graphql 경로 /graphql 에서 /api/graphql로 변경
* [refactor]: Optional 객체에 ifPresentOrElse 적용
* [feat]: 비밀번호 재설정 및 회원가입 완료 시 코드 인증 완료 데이터 삭제
* [refactor]: UserService에 ifPresentOrElse 적용
* [BE-130] 리크루트 모집 on/off 기능 구현 (#352)
* feat: application start 엔드포인트 추가 및 usecase 정의
* delete: 클래스 이름 변경에 따른 삭제
* feat: command, dto, states 클래스 정의
* feat: RecruitmentManagementUseCase 구현 및 정의
- 파일 이름 변경
* feat: Recruitment 상태 변경 엔드포인트 추가
* refactor: swagger 설명 수정
* refactor: recruitment 도메인으로 이전
* feat: Recruitment entity, repository, port, adaptor 정의 및 구현
* move: 패키지 이동
* delete: 클래스 삭제
* feat: recruitment 제어에 필요한 클래스 정의
* refactor: RecruitmentDto 및 구조 변경
- year, startAt, endAt 추가 및 state 제거
* refactor: Enum 상태 이름 변경
- NON_START, RECRUITING, END
* refactor: Enum 필드 추가
* refactor: 메소드 이름 변경
- SetUp
* feat: 이미 예약된 작업이 존재하는지 확인하는 메소드 추가
* feat: RecruitmentEnd, RecruitmentStart 이벤트 정의
* refactor: DomainEvent 상속
* feat: RecruitmentScheduler 정의
- start, end 작업 예약 스케줄러
* feat: findById 메소드 정의
* feat: 생성된 Recruitment 작업 예약 구현
- RecruitmentScheduler 정의
- Recruitment update 메소드 추가
- RecruitmentEventHandler 추가
* feat: Recruitment 도메인 관련 예외 정의
- Exception 클래스 정의
- ErrorCode 정의
* refactor: RecruitmentException 적용
* feat: SchedulingConfig 정의
* refactor: 이벤트 핸들러 로깅 추가
* feat: LatestRecruitmentVo 정의
- 가장 최신 Recruitment을 나타내는 전역 VO
* feat: RecruitmentRegister 이벤트, 핸들러 구현
* refactor: RecruitmentRegister 이벤트 적용
* comment: 주석 처리
* rename: 이벤트 이름 재정의
* comment: TODO 코멘트 추가
* delete: 필요 없는 클래스 삭제
* refactor: Event 발행 제거, Task로 직접 처리
* refactor: 필요 없는 메소드 삭제
* feat: findByStates 메소드 추가
* feat: 애플리케이션이 종료되었을 경우, DB에서 수행할 작업을 불러오는 로직 추가
* style: spotlessApply
* refactor: findLatestOne 쿼리 수정
* refactor: RecruitmentSetUpDto Validation 추가
* refactor: RecruitmentUseCase setUp 메소드 시그니처 변경 및 command 삭제
* feat: Recruitment 삭제 API 추가 및 구현
* feat: Recruitment 캔슬 로직 추가
* refactor: API 명세 수정
- RecruitmentResponseDto, RecruitmentResponseDto 추가
* refactor: AllArgsConstructor 추가
* refactor: 응답 dto 수정
* feat: quartz 스케줄러 의존성 추가
* feat: getState 메소드 추가
* feat: RecruitmentJob, RecruitmentTrigger 정의
* feat: delete 메소드 추가 및 구현
* feat: QuartzException 정이
- Quartz 내부에서 발생한 예외를 감싸는 예외
* refactor: Spring Scheduler -> Quartz 로 변경 및 모집 삭제 로직 변경
* refactor: RecruitmentSetUpDto 필드 milliSecond 단위로 수정
* refactor: RecruitmentSetUpDto Validation 해제 및 RecruitmentException 추가
* move: 패키지 이동
* refactor: 스프링에서 제공하는 scheduler 사용
* refactor: 상태 변경 메소드 @transactional 추가
* refactor: jobKey 생성 메소드 추가
* refactor: recruitmentJobKey 적용
* refactor: LatestRecruitVo를 사용하도록 변경
* refactor: ApplicantValidator year 필드 삭제
* refactor: Recruitment year 필드 타입 변경
- Long -> Integer
* refactor: Recruitment year 필드 타입 변경
- Long -> Integer
* refactor: LatestRecruitmentVo 빈 등록 메커니즘 수정
* refactor: Recruitment 생성 검증 로직 수정
* refactor: LatestRecruitmentVo 유효성 검증 로직 수정
* feat: quartz-init.sql 추가 및 quartz 테이블 설정 추가
* refactor: LatestRecruitmentVo 분산락 수정
* refactor: LatestRecruitmentVo validate 수정
* refactor: Recruitment 이벤트 핸들러 로직 수정
- 최신 모집 상태 최신화 로직 추가
* feat: Recruitment 조회 기능 구현
* refactor: swagger 명세 수정
* refactor: swagger 명세 수정 (마크다운 문법 일부 적용)
* refactor: 모집 생성 시큐리티 필터체인 적용 및 스웨거 설명 추가
* style: spotlessApply
* delete: 필요없는 설정파일 삭제
* refactor: year 환경변수 사용 해제
* refactor: year 환경변수 사용 해제 2
* refactor: year 환경변수 사용 해제 3
* refactor: econovation.recruit.period.start / end 환경변수 삭제
* [BE-133] 등록된 모집이 존재하지 않을경우, 유효성 검증 시 예외가 발생하는 오류 수정 (#353)
* fix: 아무런 Recruitment 가 없을 경우, IOBException이 발생하는 에러 수정
* refactor: root log level 수정
* [BE-133] 생성된 모집 조회 페이지네이션 오류를 수정합니다. (#354)
* fix: 생성된 모집 조회 페이지네이션 수정
* [BE-113] 칸반 보드 Columns 조회 시 QueryString으로 year 정보를 받는 V2 API 추가, 지원서 칸반보드 열 생성 V2 API 추가 (#357)
* [BE-136] 가장 최신 Recruitment 조회 API 추가 및 PageSize 동적 설정 (#360)
* style: spotlessApply
* refactor: pageSize 동적으로 설정할 수 있도록 수정
* feat: 가장 최근 모집 조회 API 추가
* style: spotlessApply
* refactor: swagger 설명 추가
* [BE-137] 모집 정보 조회 필드 추가 (#362)
* refactor: year 필드 추가
* style: spotlessApply
* [BE-138] Recruitment 등록 시 Columns 을 자동으로 생성합니다. (#364)
* refactor: year 환경 변수 제거
* feat: static 생성 함수 추가
* feat: static create 메소드 추가
* feat: ColumnsUtil 정의
- Columns에 관련된 유틸 클래스
* feat: 이벤트 핸들러에, 새로운 모집 등록 시 개발자,디자이너,기획자 컬럼 자동 생성 로직 추가
* test: ColumnsUtil 테스트 코드 작성
* style: spotlessApply
* feat: existsColumnsByTitle 메소드 추가
* feat: 이미 컬럼이 존재할 경우 생성하지 않도록 수정
* feat: util 함수 추가
* style: spotlessApply
* comment: 주석 추가
* refactor: JPQL 수정
* refactor: Recruitment 등록 시, 컬럼 생성 조건 수정
* style" spotlessApply
* refactor: 로그 포맷 수정
* refactor: 비동기 이벤트 핸들러로 수정
* style: spotlessApply
* refactor: 시스템 전체 로그 레벨 환경 변수로 변경 (#366)
* [BE-139] AsyncConfig 추가 및 비동기 이벤트 핸들 설정 (#367)
* refactor: 시스템 전체 로그 레벨 환경 변수로 변경
* refactor: AsyncConfig 추가 및 비동기 이벤트 핸들러 설정 수정
* style: spotlessApply
* [BE-139] Quartz 로깅 설정 추가 (#368)
* refactor: Quartz 로깅 설정 추가
* [BE-139] RecruitmentRegisteredEventHandler @async 제거 (#369)
* refactor: RecruitmentScheduler 예외 로깅 추가
* refactor: Async 사용하지 않도록 수정
* style: spotlessApply
---------
Co-authored-by: Jin Hyuk <ekrrdj07@gmail.com>
Co-authored-by: westzeroright <kt8267@naver.com>
Co-authored-by: injae-348 <ant0593@naver.com>
Co-authored-by: JeongInJae <93825184+injae-348@users.noreply.github.com>
Co-authored-by: westzeroright <124443419+westzeroright@users.noreply.github.com>1 parent abddc5d commit 9a130fb
File tree
105 files changed
+2612
-152
lines changed- server
- Recruit-Api
- src
- main
- java/com/econovation/recruit
- api
- applicant
- controller
- handler
- resolver
- service
- usecase
- validate
- card
- controller
- service
- usecase
- util
- config
- graphql
- security
- email
- controller
- handler
- service
- interviewer
- controller
- service
- record
- controller
- dto
- service
- usecase
- recruitment
- controller
- dto
- handler
- quartz
- exception
- service
- usecase
- util
- sms/service
- user
- controller
- service
- usecase
- utils
- vo
- resources
- graphql
- test/java/com/econovation/recruit/columns
- Recruit-Domain/src/main
- java/com/econovation/recruitdomain
- domains
- applicant
- adaptor
- domain/state
- board
- adaptor
- domain
- dto
- email_verification
- adaptor
- domain
- exception
- recruitment
- adaptor
- domain
- event
- exception
- whitelist
- adaptor
- domain
- out
- resources
- templates
- Recruit-Infrastructure/src/main/java/com/econovation/recruitinfrastructure
- apache
- redis
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
105 files changed
+2612
-152
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
29 | 29 | | |
30 | 30 | | |
31 | 31 | | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
32 | 38 | | |
33 | 39 | | |
34 | 40 | | |
| |||
49 | 55 | | |
50 | 56 | | |
51 | 57 | | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
52 | 61 | | |
53 | 62 | | |
54 | 63 | | |
| |||
Lines changed: 11 additions & 9 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
12 | 12 | | |
13 | 13 | | |
14 | 14 | | |
| 15 | + | |
| 16 | + | |
15 | 17 | | |
16 | 18 | | |
17 | 19 | | |
| |||
30 | 32 | | |
31 | 33 | | |
32 | 34 | | |
33 | | - | |
34 | 35 | | |
35 | 36 | | |
36 | 37 | | |
| |||
49 | 50 | | |
50 | 51 | | |
51 | 52 | | |
52 | | - | |
53 | | - | |
54 | | - | |
| 53 | + | |
| 54 | + | |
55 | 55 | | |
56 | 56 | | |
57 | 57 | | |
58 | 58 | | |
59 | 59 | | |
60 | 60 | | |
61 | 61 | | |
| 62 | + | |
62 | 63 | | |
63 | 64 | | |
64 | 65 | | |
| |||
143 | 144 | | |
144 | 145 | | |
145 | 146 | | |
| 147 | + | |
146 | 148 | | |
147 | | - | |
| 149 | + | |
148 | 150 | | |
149 | 151 | | |
150 | 152 | | |
| |||
162 | 164 | | |
163 | 165 | | |
164 | 166 | | |
165 | | - | |
166 | | - | |
| 167 | + | |
167 | 168 | | |
168 | | - | |
169 | | - | |
| 169 | + | |
| 170 | + | |
| 171 | + | |
170 | 172 | | |
171 | 173 | | |
172 | 174 | | |
| |||
Lines changed: 7 additions & 4 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
| 3 | + | |
3 | 4 | | |
4 | 5 | | |
5 | 6 | | |
| |||
23 | 24 | | |
24 | 25 | | |
25 | 26 | | |
26 | | - | |
27 | | - | |
28 | | - | |
| 27 | + | |
29 | 28 | | |
30 | 29 | | |
31 | 30 | | |
| |||
36 | 35 | | |
37 | 36 | | |
38 | 37 | | |
| 38 | + | |
39 | 39 | | |
40 | 40 | | |
41 | | - | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
42 | 45 | | |
43 | 46 | | |
Lines changed: 37 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
Lines changed: 3 additions & 4 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2 | 2 | | |
3 | 3 | | |
4 | 4 | | |
| 5 | + | |
5 | 6 | | |
6 | 7 | | |
7 | 8 | | |
| |||
11 | 12 | | |
12 | 13 | | |
13 | 14 | | |
14 | | - | |
15 | 15 | | |
16 | 16 | | |
17 | 17 | | |
| |||
20 | 20 | | |
21 | 21 | | |
22 | 22 | | |
23 | | - | |
24 | | - | |
25 | | - | |
| 23 | + | |
26 | 24 | | |
27 | 25 | | |
28 | 26 | | |
| |||
42 | 40 | | |
43 | 41 | | |
44 | 42 | | |
| 43 | + | |
45 | 44 | | |
46 | 45 | | |
47 | 46 | | |
| |||
Lines changed: 39 additions & 4 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
7 | 7 | | |
8 | 8 | | |
9 | 9 | | |
| 10 | + | |
10 | 11 | | |
11 | 12 | | |
12 | 13 | | |
13 | 14 | | |
| 15 | + | |
14 | 16 | | |
15 | 17 | | |
16 | 18 | | |
17 | 19 | | |
18 | 20 | | |
19 | 21 | | |
20 | 22 | | |
21 | | - | |
22 | 23 | | |
23 | 24 | | |
24 | 25 | | |
| |||
28 | 29 | | |
29 | 30 | | |
30 | 31 | | |
31 | | - | |
32 | | - | |
33 | | - | |
| 32 | + | |
34 | 33 | | |
35 | 34 | | |
36 | 35 | | |
| |||
233 | 232 | | |
234 | 233 | | |
235 | 234 | | |
| 235 | + | |
236 | 236 | | |
237 | 237 | | |
238 | 238 | | |
| |||
250 | 250 | | |
251 | 251 | | |
252 | 252 | | |
| 253 | + | |
| 254 | + | |
| 255 | + | |
| 256 | + | |
| 257 | + | |
| 258 | + | |
| 259 | + | |
| 260 | + | |
| 261 | + | |
| 262 | + | |
| 263 | + | |
| 264 | + | |
| 265 | + | |
| 266 | + | |
| 267 | + | |
| 268 | + | |
| 269 | + | |
| 270 | + | |
| 271 | + | |
| 272 | + | |
| 273 | + | |
| 274 | + | |
| 275 | + | |
| 276 | + | |
| 277 | + | |
| 278 | + | |
| 279 | + | |
| 280 | + | |
| 281 | + | |
| 282 | + | |
| 283 | + | |
| 284 | + | |
| 285 | + | |
| 286 | + | |
| 287 | + | |
253 | 288 | | |
Lines changed: 9 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
46 | 46 | | |
47 | 47 | | |
48 | 48 | | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
49 | 58 | | |
Lines changed: 15 additions & 30 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
| 3 | + | |
3 | 4 | | |
4 | 5 | | |
| 6 | + | |
5 | 7 | | |
6 | 8 | | |
7 | 9 | | |
8 | 10 | | |
9 | 11 | | |
10 | | - | |
11 | | - | |
12 | | - | |
13 | 12 | | |
14 | | - | |
15 | 13 | | |
16 | 14 | | |
17 | 15 | | |
18 | 16 | | |
19 | | - | |
20 | 17 | | |
21 | 18 | | |
| 19 | + | |
| 20 | + | |
22 | 21 | | |
23 | | - | |
24 | | - | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
25 | 26 | | |
26 | | - | |
27 | | - | |
28 | | - | |
29 | | - | |
30 | | - | |
31 | | - | |
32 | | - | |
33 | | - | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
34 | 31 | | |
35 | 32 | | |
36 | 33 | | |
| |||
53 | 50 | | |
54 | 51 | | |
55 | 52 | | |
| 53 | + | |
56 | 54 | | |
57 | 55 | | |
58 | 56 | | |
| |||
64 | 62 | | |
65 | 63 | | |
66 | 64 | | |
67 | | - | |
68 | | - | |
69 | 65 | | |
70 | | - | |
71 | | - | |
72 | | - | |
73 | | - | |
74 | | - | |
75 | | - | |
76 | | - | |
77 | | - | |
78 | | - | |
79 | | - | |
80 | | - | |
81 | | - | |
82 | | - | |
| 66 | + | |
83 | 67 | | |
84 | 68 | | |
| 69 | + | |
85 | 70 | | |
86 | 71 | | |
87 | 72 | | |
Lines changed: 2 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
95 | 95 | | |
96 | 96 | | |
97 | 97 | | |
| 98 | + | |
98 | 99 | | |
99 | 100 | | |
100 | 101 | | |
| |||
113 | 114 | | |
114 | 115 | | |
115 | 116 | | |
| 117 | + | |
116 | 118 | | |
117 | 119 | | |
118 | 120 | | |
| |||
0 commit comments