Explorar o código

【综合】导入激活相关文件

niehaoyu hai 1 ano
pai
achega
a033d45d3c
Modificáronse 33 ficheiros con 4601 adicións e 4 borrados
  1. 180 0
      PDF Office/PDF Master.xcodeproj/project.pbxproj
  2. 2 2
      PDF Office/PDF Master/Class/PDFTools/Redact/View/KMCustomButton.swift
  3. 21 0
      PDF Office/PDF Master/Class/Purchase/DMG/Verification/KMActivityALertViewController.h
  4. 97 0
      PDF Office/PDF Master/Class/Purchase/DMG/Verification/KMActivityALertViewController.m
  5. 99 0
      PDF Office/PDF Master/Class/Purchase/DMG/Verification/KMActivityALertViewController.xib
  6. 20 0
      PDF Office/PDF Master/Class/Purchase/DMG/Verification/KMRepeatTrialAlertController.h
  7. 226 0
      PDF Office/PDF Master/Class/Purchase/DMG/Verification/KMRepeatTrialAlertController.m
  8. 349 0
      PDF Office/PDF Master/Class/Purchase/DMG/Verification/KMRepeatTrialAlertController.xib
  9. 0 2
      PDF Office/PDF Master/Class/Purchase/DMG/Verification/KMRepeatVerifyExpireController.m
  10. 25 0
      PDF Office/PDF Master/Class/Purchase/DMG/Verification/KMUnlockAlertViewController.h
  11. 169 0
      PDF Office/PDF Master/Class/Purchase/DMG/Verification/KMUnlockAlertViewController.m
  12. 276 0
      PDF Office/PDF Master/Class/Purchase/DMG/Verification/KMUnlockAlertViewController.xib
  13. 16 0
      PDF Office/PDF Master/Class/Purchase/DMG/Verification/KMVerificationActivateViewController.h
  14. 155 0
      PDF Office/PDF Master/Class/Purchase/DMG/Verification/KMVerificationActivateViewController.m
  15. 195 0
      PDF Office/PDF Master/Class/Purchase/DMG/Verification/KMVerificationActivateViewController.xib
  16. 19 0
      PDF Office/PDF Master/Class/Purchase/DMG/Verification/KMVerificationAlertViewController.h
  17. 164 0
      PDF Office/PDF Master/Class/Purchase/DMG/Verification/KMVerificationAlertViewController.m
  18. 233 0
      PDF Office/PDF Master/Class/Purchase/DMG/Verification/KMVerificationAlertViewController.xib
  19. 14 0
      PDF Office/PDF Master/Class/Purchase/DMG/Verification/KMVerificationExpiredViewController.h
  20. 119 0
      PDF Office/PDF Master/Class/Purchase/DMG/Verification/KMVerificationExpiredViewController.m
  21. 199 0
      PDF Office/PDF Master/Class/Purchase/DMG/Verification/KMVerificationExpiredViewController.xib
  22. 16 0
      PDF Office/PDF Master/Class/Purchase/DMG/Verification/KMVerificationInfoViewController.h
  23. 107 0
      PDF Office/PDF Master/Class/Purchase/DMG/Verification/KMVerificationInfoViewController.m
  24. 168 0
      PDF Office/PDF Master/Class/Purchase/DMG/Verification/KMVerificationInfoViewController.xib
  25. 16 0
      PDF Office/PDF Master/Class/Purchase/DMG/Verification/KMVerificationTrialViewController.h
  26. 208 0
      PDF Office/PDF Master/Class/Purchase/DMG/Verification/KMVerificationTrialViewController.m
  27. 266 0
      PDF Office/PDF Master/Class/Purchase/DMG/Verification/KMVerificationTrialViewController.xib
  28. 18 0
      PDF Office/PDF Master/Class/Purchase/DMG/Verification/KMVerificationViewController.h
  29. 141 0
      PDF Office/PDF Master/Class/Purchase/DMG/Verification/KMVerificationViewController.m
  30. 174 0
      PDF Office/PDF Master/Class/Purchase/DMG/Verification/KMVerificationViewController.xib
  31. 46 0
      PDF Office/PDF Master/Class/Purchase/DMG/Verification/KMVerificationWindowController.h
  32. 810 0
      PDF Office/PDF Master/Class/Purchase/DMG/Verification/KMVerificationWindowController.m
  33. 53 0
      PDF Office/PDF Master/Class/Purchase/DMG/Verification/KMVerificationWindowController.xib

+ 180 - 0
PDF Office/PDF Master.xcodeproj/project.pbxproj

@@ -3358,6 +3358,66 @@
 		BB86C1F228F54535005AD968 /* CPDFListView+KeyEvent.m in Sources */ = {isa = PBXBuildFile; fileRef = BB86C1F128F54535005AD968 /* CPDFListView+KeyEvent.m */; };
 		BB86C1F328F54535005AD968 /* CPDFListView+KeyEvent.m in Sources */ = {isa = PBXBuildFile; fileRef = BB86C1F128F54535005AD968 /* CPDFListView+KeyEvent.m */; };
 		BB86C1F428F54535005AD968 /* CPDFListView+KeyEvent.m in Sources */ = {isa = PBXBuildFile; fileRef = BB86C1F128F54535005AD968 /* CPDFListView+KeyEvent.m */; };
+		BB8810612B4F74DD00AFA63E /* KMRepeatTrialAlertController.xib in Resources */ = {isa = PBXBuildFile; fileRef = BB88105E2B4F74DD00AFA63E /* KMRepeatTrialAlertController.xib */; };
+		BB8810622B4F74DD00AFA63E /* KMRepeatTrialAlertController.xib in Resources */ = {isa = PBXBuildFile; fileRef = BB88105E2B4F74DD00AFA63E /* KMRepeatTrialAlertController.xib */; };
+		BB8810632B4F74DD00AFA63E /* KMRepeatTrialAlertController.xib in Resources */ = {isa = PBXBuildFile; fileRef = BB88105E2B4F74DD00AFA63E /* KMRepeatTrialAlertController.xib */; };
+		BB8810642B4F74DD00AFA63E /* KMRepeatTrialAlertController.m in Sources */ = {isa = PBXBuildFile; fileRef = BB8810602B4F74DD00AFA63E /* KMRepeatTrialAlertController.m */; };
+		BB8810652B4F74DD00AFA63E /* KMRepeatTrialAlertController.m in Sources */ = {isa = PBXBuildFile; fileRef = BB8810602B4F74DD00AFA63E /* KMRepeatTrialAlertController.m */; };
+		BB8810662B4F74DD00AFA63E /* KMRepeatTrialAlertController.m in Sources */ = {isa = PBXBuildFile; fileRef = BB8810602B4F74DD00AFA63E /* KMRepeatTrialAlertController.m */; };
+		BB88106A2B4F771D00AFA63E /* KMVerificationInfoViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = BB8810672B4F771D00AFA63E /* KMVerificationInfoViewController.xib */; };
+		BB88106B2B4F771D00AFA63E /* KMVerificationInfoViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = BB8810672B4F771D00AFA63E /* KMVerificationInfoViewController.xib */; };
+		BB88106C2B4F771D00AFA63E /* KMVerificationInfoViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = BB8810672B4F771D00AFA63E /* KMVerificationInfoViewController.xib */; };
+		BB88106D2B4F771D00AFA63E /* KMVerificationInfoViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = BB8810682B4F771D00AFA63E /* KMVerificationInfoViewController.m */; };
+		BB88106E2B4F771D00AFA63E /* KMVerificationInfoViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = BB8810682B4F771D00AFA63E /* KMVerificationInfoViewController.m */; };
+		BB88106F2B4F771D00AFA63E /* KMVerificationInfoViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = BB8810682B4F771D00AFA63E /* KMVerificationInfoViewController.m */; };
+		BB8810732B4F785200AFA63E /* KMUnlockAlertViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = BB8810712B4F785200AFA63E /* KMUnlockAlertViewController.xib */; };
+		BB8810742B4F785200AFA63E /* KMUnlockAlertViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = BB8810712B4F785200AFA63E /* KMUnlockAlertViewController.xib */; };
+		BB8810752B4F785200AFA63E /* KMUnlockAlertViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = BB8810712B4F785200AFA63E /* KMUnlockAlertViewController.xib */; };
+		BB8810762B4F785200AFA63E /* KMUnlockAlertViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = BB8810722B4F785200AFA63E /* KMUnlockAlertViewController.m */; };
+		BB8810772B4F785200AFA63E /* KMUnlockAlertViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = BB8810722B4F785200AFA63E /* KMUnlockAlertViewController.m */; };
+		BB8810782B4F785200AFA63E /* KMUnlockAlertViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = BB8810722B4F785200AFA63E /* KMUnlockAlertViewController.m */; };
+		BB88107C2B4F7A1F00AFA63E /* KMActivityALertViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = BB8810792B4F7A1F00AFA63E /* KMActivityALertViewController.m */; };
+		BB88107D2B4F7A1F00AFA63E /* KMActivityALertViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = BB8810792B4F7A1F00AFA63E /* KMActivityALertViewController.m */; };
+		BB88107E2B4F7A1F00AFA63E /* KMActivityALertViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = BB8810792B4F7A1F00AFA63E /* KMActivityALertViewController.m */; };
+		BB88107F2B4F7A1F00AFA63E /* KMActivityALertViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = BB88107A2B4F7A1F00AFA63E /* KMActivityALertViewController.xib */; };
+		BB8810802B4F7A1F00AFA63E /* KMActivityALertViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = BB88107A2B4F7A1F00AFA63E /* KMActivityALertViewController.xib */; };
+		BB8810812B4F7A1F00AFA63E /* KMActivityALertViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = BB88107A2B4F7A1F00AFA63E /* KMActivityALertViewController.xib */; };
+		BB8810852B4F7C2200AFA63E /* KMVerificationAlertViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = BB8810832B4F7C2200AFA63E /* KMVerificationAlertViewController.m */; };
+		BB8810862B4F7C2200AFA63E /* KMVerificationAlertViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = BB8810832B4F7C2200AFA63E /* KMVerificationAlertViewController.m */; };
+		BB8810872B4F7C2200AFA63E /* KMVerificationAlertViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = BB8810832B4F7C2200AFA63E /* KMVerificationAlertViewController.m */; };
+		BB8810882B4F7C2200AFA63E /* KMVerificationAlertViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = BB8810842B4F7C2200AFA63E /* KMVerificationAlertViewController.xib */; };
+		BB8810892B4F7C2200AFA63E /* KMVerificationAlertViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = BB8810842B4F7C2200AFA63E /* KMVerificationAlertViewController.xib */; };
+		BB88108A2B4F7C2200AFA63E /* KMVerificationAlertViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = BB8810842B4F7C2200AFA63E /* KMVerificationAlertViewController.xib */; };
+		BB88108E2B4F7C4100AFA63E /* KMVerificationExpiredViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = BB88108C2B4F7C4100AFA63E /* KMVerificationExpiredViewController.xib */; };
+		BB88108F2B4F7C4100AFA63E /* KMVerificationExpiredViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = BB88108C2B4F7C4100AFA63E /* KMVerificationExpiredViewController.xib */; };
+		BB8810902B4F7C4100AFA63E /* KMVerificationExpiredViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = BB88108C2B4F7C4100AFA63E /* KMVerificationExpiredViewController.xib */; };
+		BB8810912B4F7C4100AFA63E /* KMVerificationExpiredViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = BB88108D2B4F7C4100AFA63E /* KMVerificationExpiredViewController.m */; };
+		BB8810922B4F7C4100AFA63E /* KMVerificationExpiredViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = BB88108D2B4F7C4100AFA63E /* KMVerificationExpiredViewController.m */; };
+		BB8810932B4F7C4100AFA63E /* KMVerificationExpiredViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = BB88108D2B4F7C4100AFA63E /* KMVerificationExpiredViewController.m */; };
+		BB8810972B4F7CD100AFA63E /* KMVerificationTrialViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = BB8810942B4F7CD100AFA63E /* KMVerificationTrialViewController.xib */; };
+		BB8810982B4F7CD100AFA63E /* KMVerificationTrialViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = BB8810942B4F7CD100AFA63E /* KMVerificationTrialViewController.xib */; };
+		BB8810992B4F7CD100AFA63E /* KMVerificationTrialViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = BB8810942B4F7CD100AFA63E /* KMVerificationTrialViewController.xib */; };
+		BB88109A2B4F7CD100AFA63E /* KMVerificationTrialViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = BB8810962B4F7CD100AFA63E /* KMVerificationTrialViewController.m */; };
+		BB88109B2B4F7CD100AFA63E /* KMVerificationTrialViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = BB8810962B4F7CD100AFA63E /* KMVerificationTrialViewController.m */; };
+		BB88109C2B4F7CD100AFA63E /* KMVerificationTrialViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = BB8810962B4F7CD100AFA63E /* KMVerificationTrialViewController.m */; };
+		BB8810A02B4F7D1000AFA63E /* KMVerificationActivateViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = BB88109D2B4F7D0F00AFA63E /* KMVerificationActivateViewController.m */; };
+		BB8810A12B4F7D1000AFA63E /* KMVerificationActivateViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = BB88109D2B4F7D0F00AFA63E /* KMVerificationActivateViewController.m */; };
+		BB8810A22B4F7D1000AFA63E /* KMVerificationActivateViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = BB88109D2B4F7D0F00AFA63E /* KMVerificationActivateViewController.m */; };
+		BB8810A32B4F7D1000AFA63E /* KMVerificationActivateViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = BB88109F2B4F7D0F00AFA63E /* KMVerificationActivateViewController.xib */; };
+		BB8810A42B4F7D1000AFA63E /* KMVerificationActivateViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = BB88109F2B4F7D0F00AFA63E /* KMVerificationActivateViewController.xib */; };
+		BB8810A52B4F7D1000AFA63E /* KMVerificationActivateViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = BB88109F2B4F7D0F00AFA63E /* KMVerificationActivateViewController.xib */; };
+		BB8810A92B4F7D7500AFA63E /* KMVerificationViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = BB8810A62B4F7D7500AFA63E /* KMVerificationViewController.m */; };
+		BB8810AA2B4F7D7500AFA63E /* KMVerificationViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = BB8810A62B4F7D7500AFA63E /* KMVerificationViewController.m */; };
+		BB8810AB2B4F7D7500AFA63E /* KMVerificationViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = BB8810A62B4F7D7500AFA63E /* KMVerificationViewController.m */; };
+		BB8810AC2B4F7D7500AFA63E /* KMVerificationViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = BB8810A82B4F7D7500AFA63E /* KMVerificationViewController.xib */; };
+		BB8810AD2B4F7D7500AFA63E /* KMVerificationViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = BB8810A82B4F7D7500AFA63E /* KMVerificationViewController.xib */; };
+		BB8810AE2B4F7D7500AFA63E /* KMVerificationViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = BB8810A82B4F7D7500AFA63E /* KMVerificationViewController.xib */; };
+		BB8810BB2B4F872500AFA63E /* KMVerificationWindowController.xib in Resources */ = {isa = PBXBuildFile; fileRef = BB8810B82B4F872400AFA63E /* KMVerificationWindowController.xib */; };
+		BB8810BC2B4F872500AFA63E /* KMVerificationWindowController.xib in Resources */ = {isa = PBXBuildFile; fileRef = BB8810B82B4F872400AFA63E /* KMVerificationWindowController.xib */; };
+		BB8810BD2B4F872500AFA63E /* KMVerificationWindowController.xib in Resources */ = {isa = PBXBuildFile; fileRef = BB8810B82B4F872400AFA63E /* KMVerificationWindowController.xib */; };
+		BB8810BE2B4F872500AFA63E /* KMVerificationWindowController.m in Sources */ = {isa = PBXBuildFile; fileRef = BB8810B92B4F872400AFA63E /* KMVerificationWindowController.m */; };
+		BB8810BF2B4F872500AFA63E /* KMVerificationWindowController.m in Sources */ = {isa = PBXBuildFile; fileRef = BB8810B92B4F872400AFA63E /* KMVerificationWindowController.m */; };
+		BB8810C02B4F872500AFA63E /* KMVerificationWindowController.m in Sources */ = {isa = PBXBuildFile; fileRef = BB8810B92B4F872400AFA63E /* KMVerificationWindowController.m */; };
 		BB88401E2A132C6B0062446B /* ObjectiveDropboxOfficial.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = BBB9B335299A5F35004F3235 /* ObjectiveDropboxOfficial.framework */; };
 		BB88401F2A132C6B0062446B /* ObjectiveDropboxOfficial.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = BBB9B335299A5F35004F3235 /* ObjectiveDropboxOfficial.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
 		BB88E43B294023CB002B3655 /* KMDocumentModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = BB88E43A294023CB002B3655 /* KMDocumentModel.swift */; };
@@ -5830,6 +5890,36 @@
 		BB86C1EC28F544F4005AD968 /* CPDFListView+Event.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = "CPDFListView+Event.m"; sourceTree = "<group>"; };
 		BB86C1F028F54535005AD968 /* CPDFListView+KeyEvent.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "CPDFListView+KeyEvent.h"; sourceTree = "<group>"; };
 		BB86C1F128F54535005AD968 /* CPDFListView+KeyEvent.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = "CPDFListView+KeyEvent.m"; sourceTree = "<group>"; };
+		BB88105E2B4F74DD00AFA63E /* KMRepeatTrialAlertController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = KMRepeatTrialAlertController.xib; sourceTree = "<group>"; };
+		BB88105F2B4F74DD00AFA63E /* KMRepeatTrialAlertController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = KMRepeatTrialAlertController.h; sourceTree = "<group>"; };
+		BB8810602B4F74DD00AFA63E /* KMRepeatTrialAlertController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = KMRepeatTrialAlertController.m; sourceTree = "<group>"; };
+		BB8810672B4F771D00AFA63E /* KMVerificationInfoViewController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = KMVerificationInfoViewController.xib; sourceTree = "<group>"; };
+		BB8810682B4F771D00AFA63E /* KMVerificationInfoViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = KMVerificationInfoViewController.m; sourceTree = "<group>"; };
+		BB8810692B4F771D00AFA63E /* KMVerificationInfoViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = KMVerificationInfoViewController.h; sourceTree = "<group>"; };
+		BB8810702B4F785200AFA63E /* KMUnlockAlertViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = KMUnlockAlertViewController.h; sourceTree = "<group>"; };
+		BB8810712B4F785200AFA63E /* KMUnlockAlertViewController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = KMUnlockAlertViewController.xib; sourceTree = "<group>"; };
+		BB8810722B4F785200AFA63E /* KMUnlockAlertViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = KMUnlockAlertViewController.m; sourceTree = "<group>"; };
+		BB8810792B4F7A1F00AFA63E /* KMActivityALertViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = KMActivityALertViewController.m; sourceTree = "<group>"; };
+		BB88107A2B4F7A1F00AFA63E /* KMActivityALertViewController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = KMActivityALertViewController.xib; sourceTree = "<group>"; };
+		BB88107B2B4F7A1F00AFA63E /* KMActivityALertViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = KMActivityALertViewController.h; sourceTree = "<group>"; };
+		BB8810822B4F7C2200AFA63E /* KMVerificationAlertViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = KMVerificationAlertViewController.h; sourceTree = "<group>"; };
+		BB8810832B4F7C2200AFA63E /* KMVerificationAlertViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = KMVerificationAlertViewController.m; sourceTree = "<group>"; };
+		BB8810842B4F7C2200AFA63E /* KMVerificationAlertViewController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = KMVerificationAlertViewController.xib; sourceTree = "<group>"; };
+		BB88108B2B4F7C4100AFA63E /* KMVerificationExpiredViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = KMVerificationExpiredViewController.h; sourceTree = "<group>"; };
+		BB88108C2B4F7C4100AFA63E /* KMVerificationExpiredViewController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = KMVerificationExpiredViewController.xib; sourceTree = "<group>"; };
+		BB88108D2B4F7C4100AFA63E /* KMVerificationExpiredViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = KMVerificationExpiredViewController.m; sourceTree = "<group>"; };
+		BB8810942B4F7CD100AFA63E /* KMVerificationTrialViewController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = KMVerificationTrialViewController.xib; sourceTree = "<group>"; };
+		BB8810952B4F7CD100AFA63E /* KMVerificationTrialViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = KMVerificationTrialViewController.h; sourceTree = "<group>"; };
+		BB8810962B4F7CD100AFA63E /* KMVerificationTrialViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = KMVerificationTrialViewController.m; sourceTree = "<group>"; };
+		BB88109D2B4F7D0F00AFA63E /* KMVerificationActivateViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = KMVerificationActivateViewController.m; sourceTree = "<group>"; };
+		BB88109E2B4F7D0F00AFA63E /* KMVerificationActivateViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = KMVerificationActivateViewController.h; sourceTree = "<group>"; };
+		BB88109F2B4F7D0F00AFA63E /* KMVerificationActivateViewController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = KMVerificationActivateViewController.xib; sourceTree = "<group>"; };
+		BB8810A62B4F7D7500AFA63E /* KMVerificationViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = KMVerificationViewController.m; sourceTree = "<group>"; };
+		BB8810A72B4F7D7500AFA63E /* KMVerificationViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = KMVerificationViewController.h; sourceTree = "<group>"; };
+		BB8810A82B4F7D7500AFA63E /* KMVerificationViewController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = KMVerificationViewController.xib; sourceTree = "<group>"; };
+		BB8810B82B4F872400AFA63E /* KMVerificationWindowController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = KMVerificationWindowController.xib; sourceTree = "<group>"; };
+		BB8810B92B4F872400AFA63E /* KMVerificationWindowController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = KMVerificationWindowController.m; sourceTree = "<group>"; };
+		BB8810BA2B4F872500AFA63E /* KMVerificationWindowController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = KMVerificationWindowController.h; sourceTree = "<group>"; };
 		BB88E43A294023CB002B3655 /* KMDocumentModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KMDocumentModel.swift; sourceTree = "<group>"; };
 		BB88E453294045B4002B3655 /* KMPDFConvertManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KMPDFConvertManager.swift; sourceTree = "<group>"; };
 		BB88E45729404752002B3655 /* KMPDFConvert.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KMPDFConvert.swift; sourceTree = "<group>"; };
@@ -9447,11 +9537,41 @@
 		BB183DD72B4EBDD300F99C7E /* Verification */ = {
 			isa = PBXGroup;
 			children = (
+				BB8810BA2B4F872500AFA63E /* KMVerificationWindowController.h */,
+				BB8810B92B4F872400AFA63E /* KMVerificationWindowController.m */,
+				BB8810B82B4F872400AFA63E /* KMVerificationWindowController.xib */,
 				BB183DD92B4EBE1B00F99C7E /* KMTrialSuccessController.swift */,
 				BB183DD82B4EBE1A00F99C7E /* KMTrialSuccessController.xib */,
 				BB183DE02B4EC0AF00F99C7E /* KMRepeatVerifyExpireController.h */,
 				BB183DE12B4EC0AF00F99C7E /* KMRepeatVerifyExpireController.m */,
 				BB183DE22B4EC0AF00F99C7E /* KMRepeatVerifyExpireController.xib */,
+				BB88105F2B4F74DD00AFA63E /* KMRepeatTrialAlertController.h */,
+				BB8810602B4F74DD00AFA63E /* KMRepeatTrialAlertController.m */,
+				BB88105E2B4F74DD00AFA63E /* KMRepeatTrialAlertController.xib */,
+				BB8810692B4F771D00AFA63E /* KMVerificationInfoViewController.h */,
+				BB8810682B4F771D00AFA63E /* KMVerificationInfoViewController.m */,
+				BB8810672B4F771D00AFA63E /* KMVerificationInfoViewController.xib */,
+				BB8810702B4F785200AFA63E /* KMUnlockAlertViewController.h */,
+				BB8810722B4F785200AFA63E /* KMUnlockAlertViewController.m */,
+				BB8810712B4F785200AFA63E /* KMUnlockAlertViewController.xib */,
+				BB88107B2B4F7A1F00AFA63E /* KMActivityALertViewController.h */,
+				BB8810792B4F7A1F00AFA63E /* KMActivityALertViewController.m */,
+				BB88107A2B4F7A1F00AFA63E /* KMActivityALertViewController.xib */,
+				BB8810822B4F7C2200AFA63E /* KMVerificationAlertViewController.h */,
+				BB8810832B4F7C2200AFA63E /* KMVerificationAlertViewController.m */,
+				BB8810842B4F7C2200AFA63E /* KMVerificationAlertViewController.xib */,
+				BB88108B2B4F7C4100AFA63E /* KMVerificationExpiredViewController.h */,
+				BB88108D2B4F7C4100AFA63E /* KMVerificationExpiredViewController.m */,
+				BB88108C2B4F7C4100AFA63E /* KMVerificationExpiredViewController.xib */,
+				BB8810952B4F7CD100AFA63E /* KMVerificationTrialViewController.h */,
+				BB8810962B4F7CD100AFA63E /* KMVerificationTrialViewController.m */,
+				BB8810942B4F7CD100AFA63E /* KMVerificationTrialViewController.xib */,
+				BB88109E2B4F7D0F00AFA63E /* KMVerificationActivateViewController.h */,
+				BB88109D2B4F7D0F00AFA63E /* KMVerificationActivateViewController.m */,
+				BB88109F2B4F7D0F00AFA63E /* KMVerificationActivateViewController.xib */,
+				BB8810A72B4F7D7500AFA63E /* KMVerificationViewController.h */,
+				BB8810A62B4F7D7500AFA63E /* KMVerificationViewController.m */,
+				BB8810A82B4F7D7500AFA63E /* KMVerificationViewController.xib */,
 			);
 			path = Verification;
 			sourceTree = "<group>";
@@ -11859,6 +11979,7 @@
 				9FB220FA2B186C9800A5B208 /* KMAnnotationGeneralViewController.xib in Resources */,
 				BB49ED11293F462E00C82CA2 /* KMConvertImageWindowController.xib in Resources */,
 				AD1D481C2AFB6B96007AC1F0 /* KMMergeWindowController.xib in Resources */,
+				BB8810BB2B4F872500AFA63E /* KMVerificationWindowController.xib in Resources */,
 				896933D429AEEE3D0055327F /* PageSheet.xib in Resources */,
 				9FBC48BB299B44C600CA39D7 /* KMSecondaryViewController.xib in Resources */,
 				9FBA0EF128FFC716001117AF /* KMHomeFastToolViewController.xib in Resources */,
@@ -11928,6 +12049,7 @@
 				BBFDFAA22AF3815C00E08AA2 /* KMTextHintWindowController.xib in Resources */,
 				AD1CA4032A06040B0070541F /* KMAnnotationScreenCollectionView.xib in Resources */,
 				BB8F455A295AA1270037EA22 /* KMHeaderFooterPropertyInfoController.xib in Resources */,
+				BB8810AC2B4F7D7500AFA63E /* KMVerificationViewController.xib in Resources */,
 				BBB376A42B10A7FD009539CC /* a_4b.png in Resources */,
 				BB853C952AF8DCC7009C20C1 /* KMBatchOperateRemovePasswordViewController.xib in Resources */,
 				BB52372A29C313CA00663BD7 /* KMAnnotationPropertyBaseController.xib in Resources */,
@@ -11969,6 +12091,7 @@
 				9FA607E128FD4C9F00B46586 /* KMHomePopViewController.xib in Resources */,
 				9F0CB4B82977BC1000007028 /* KMPropertiesPanelPreviewSubVC.xib in Resources */,
 				ADE86A842B0222B300414DFA /* KMSecurityView.xib in Resources */,
+				BB8810732B4F785200AFA63E /* KMUnlockAlertViewController.xib in Resources */,
 				9FDD0F9C2952FF4D000C4DAD /* comp-light.json in Resources */,
 				F3B7DFA42949C8E300333201 /* CPDFListView.xcassets in Resources */,
 				9F221ED229A85D3700978A59 /* KMDesignBase.xib in Resources */,
@@ -11985,6 +12108,7 @@
 				BB99ACD2292E2AEF0048AFD9 /* KMMergeCollectionViewItem.xib in Resources */,
 				9FF94F1429A7476000B1EF69 /* KMDesignPropertySelector.xib in Resources */,
 				BBC348462956A638008D2CD1 /* KMEditBackgroundController.xib in Resources */,
+				BB8810882B4F7C2200AFA63E /* KMVerificationAlertViewController.xib in Resources */,
 				BBA2109429ACC10F00E6B346 /* signlist_add.pdf in Resources */,
 				BBFDFAAA2AF389B700E08AA2 /* PasswordWindowController.xib in Resources */,
 				BB1969D12B2833FF00922736 /* KMProgressWindowController.xib in Resources */,
@@ -12007,6 +12131,7 @@
 				BBEC00B2295C2AF300A26C98 /* KMBatesPreviewController.xib in Resources */,
 				AD3AAD562B0D87E500DE5FE7 /* KMCompareThumbItem.xib in Resources */,
 				9FD0FA3429CD947000F2AB0D /* KMOpacityPanel.xib in Resources */,
+				BB8810A32B4F7D1000AFA63E /* KMVerificationActivateViewController.xib in Resources */,
 				BB10FAE92AFE03CD00F18D65 /* KMPDFEditPageRangeWindowController.xib in Resources */,
 				BB4BD9CF2909026500A66A65 /* KMRightSideViewController.xib in Resources */,
 				BB99ACC5292DE22E0048AFD9 /* KMMergeViewController.xib in Resources */,
@@ -12038,6 +12163,7 @@
 				9F3D818A29A0A9A70087B5AD /* KMDesignButton.xib in Resources */,
 				9F512CD22B469A7700EC0BC3 /* KMPageDisplayThemeCollectionViewItem.xib in Resources */,
 				9FDD0F9F2952FF4D000C4DAD /* global.json in Resources */,
+				BB8810972B4F7CD100AFA63E /* KMVerificationTrialViewController.xib in Resources */,
 				ADE614B129779C6D00F62ED7 /* KMImageTitleButton.xib in Resources */,
 				BBB3769B2B10A7FD009539CC /* a_2a.png in Resources */,
 				BB1A916E2AFB7871005E5FD8 /* KMConvertWindowController.xib in Resources */,
@@ -12074,6 +12200,7 @@
 				89316825296D73CC0073EA59 /* KMSignatureAnnotationViewController.xib in Resources */,
 				9FBA0EE928FFC2FE001117AF /* Image.xcassets in Resources */,
 				BBA19F3229ADAC81001A285A /* signPicture_hover.pdf in Resources */,
+				BB88107F2B4F7A1F00AFA63E /* KMActivityALertViewController.xib in Resources */,
 				BB2EDF73296ECE17003BCF58 /* KMPageEditThumbnailItem.xib in Resources */,
 				AD3AAD932B1034C000DE5FE7 /* KMHeaderFooterView.xib in Resources */,
 				9FD0FA4E29D43D6800F2AB0D /* KMDeviceBrowserWindowController.xib in Resources */,
@@ -12096,6 +12223,7 @@
 				BB69C95F299116FD0001A9B1 /* plaid.pdf in Resources */,
 				89D2D2FE294C806000BFF5FE /* KMPDFThumbnailItem.xib in Resources */,
 				BBF62C6C2B033B5B007B7E86 /* KMPDFEditExtractWindow.xib in Resources */,
+				BB88106A2B4F771D00AFA63E /* KMVerificationInfoViewController.xib in Resources */,
 				BB6DD80F29347F77001F0544 /* KMSecureEncryptWindowController.xib in Resources */,
 				ADE86AC32B034C7100414DFA /* KMBackgroundWindowController.xib in Resources */,
 				9FF816E12AFA5BA80087EFC5 /* KMAnnotationTableViewController.xib in Resources */,
@@ -12142,6 +12270,7 @@
 				AD0FA4FE29A8DD8700EDEB50 /* KMRegisterSuccessView.xib in Resources */,
 				9F0CB49229683DEE00007028 /* KMPropertiesPanelLineSubVC.xib in Resources */,
 				BBE9D09B2AF0CEEB002E83CE /* KMBatchOperateCompressViewController.xib in Resources */,
+				BB88108E2B4F7C4100AFA63E /* KMVerificationExpiredViewController.xib in Resources */,
 				BB4F7E992B0C858D0077EC8C /* KMNoteTypeCollectionViewItem.xib in Resources */,
 				BBF811E42B0717970074874F /* KMExtractImageWindowController.xib in Resources */,
 				AD3AAD1E2B0B5B4400DE5FE7 /* KMCompareCoveringWindowController.xib in Resources */,
@@ -12222,6 +12351,7 @@
 				9F0CB5452986953A00007028 /* KMURLToPDFWindowController.xib in Resources */,
 				9FBA0F0129015A82001117AF /* KMFastToolCollectionViewItem.xib in Resources */,
 				ADAFDA4C2AEA7F2700F084BC /* KMAdvertisementShowView.xib in Resources */,
+				BB8810612B4F74DD00AFA63E /* KMRepeatTrialAlertController.xib in Resources */,
 				ADE787A52AA5A833002EC85A /* KMAccountExceptionWindowController.xib in Resources */,
 				BBFBE6C528DD7B98008B2335 /* Main.storyboard in Resources */,
 				9F0201752A1B488C00C9B673 /* KMAITranslationVC.xib in Resources */,
@@ -12278,6 +12408,7 @@
 				9FDD0F9A2952FF4D000C4DAD /* alias-light.json in Resources */,
 				BB65A0512AF8B64B003A27A0 /* DisplayPreferences.xib in Resources */,
 				BB183DE72B4EC0AF00F99C7E /* KMRepeatVerifyExpireController.xib in Resources */,
+				BB8810AD2B4F7D7500AFA63E /* KMVerificationViewController.xib in Resources */,
 				ADD1B6F92946C0CA00C3FFF7 /* KMPrintChoosePageSizeMultipageView.xib in Resources */,
 				BB1A916F2AFB7871005E5FD8 /* KMConvertWindowController.xib in Resources */,
 				AD88109B29A78AEC00178CA1 /* KMVerificationCodeView.xib in Resources */,
@@ -12448,6 +12579,7 @@
 				BB3D970F2B2FEAF9007094C8 /* KMPDFRedactViewController.xib in Resources */,
 				BB69C960299116FD0001A9B1 /* plaid.pdf in Resources */,
 				ADE86AC42B034C7100414DFA /* KMBackgroundWindowController.xib in Resources */,
+				BB8810622B4F74DD00AFA63E /* KMRepeatTrialAlertController.xib in Resources */,
 				AD0FA4FF29A8DD8700EDEB50 /* KMRegisterSuccessView.xib in Resources */,
 				BBFBE74D28DD7DE8008B2335 /* Assets.xcassets in Resources */,
 				8997010A28F4082C009AF911 /* KMFromViewController.xib in Resources */,
@@ -12457,6 +12589,7 @@
 				AD3AAD282B0B6FB100DE5FE7 /* KMCompareContentView.xib in Resources */,
 				BBC4F9EF2AEB58470098A1A8 /* KMAlertWindowController.xib in Resources */,
 				ADE86A852B0222B300414DFA /* KMSecurityView.xib in Resources */,
+				BB8810892B4F7C2200AFA63E /* KMVerificationAlertViewController.xib in Resources */,
 				9F0CB48B29683DC400007028 /* KMPropertiesPanelPresetColorSubVC.xib in Resources */,
 				89D2D2FF294C806000BFF5FE /* KMPDFThumbnailItem.xib in Resources */,
 				BBA9223C2B4E97540061057A /* KMPurchaseLimitWindowController.xib in Resources */,
@@ -12465,6 +12598,7 @@
 				AD58F4062B14954B00299EE0 /* KMCompareTextHeaderView.xib in Resources */,
 				9F8539DB294318D600DF644E /* TabsImage.xcassets in Resources */,
 				BB52372B29C313CA00663BD7 /* KMAnnotationPropertyBaseController.xib in Resources */,
+				BB88106B2B4F771D00AFA63E /* KMVerificationInfoViewController.xib in Resources */,
 				ADDF833F2B391A5C00A81A4E /* KMPDFDigitalSignViewController.xib in Resources */,
 				BBEC00DD295C39FD00A26C98 /* KMBatesPropertyInfoController.xib in Resources */,
 				BBA8B7B4293635D80097D183 /* KMPasswordInputWindow.xib in Resources */,
@@ -12514,6 +12648,7 @@
 				9F0CB4B92977BC1000007028 /* KMPropertiesPanelPreviewSubVC.xib in Resources */,
 				BBF62C752B0347D1007B7E86 /* SplitWindowController.xib in Resources */,
 				BBC8A7762B0640C200FA9377 /* KMBotaSearchViewController.xib in Resources */,
+				BB8810BC2B4F872500AFA63E /* KMVerificationWindowController.xib in Resources */,
 				BB96A0B52AFCD56B00559E24 /* KMToolCompareWindowController.xib in Resources */,
 				9F8539FD2947137500DF644E /* throbber_waiting.png in Resources */,
 				9F8539E42947126000DF644E /* KMChromiumToolbar.xib in Resources */,
@@ -12523,6 +12658,7 @@
 				BB986AE82AD5376100ADF172 /* WelcomeWindowController.xib in Resources */,
 				ADBC376229CC637900D93208 /* KMReadModelView.xib in Resources */,
 				9F1F82D6292F6D510092C4B4 /* KMPDFInsertPreviewViewController.xib in Resources */,
+				BB8810742B4F785200AFA63E /* KMUnlockAlertViewController.xib in Resources */,
 				BB1BFF6E2AEA030F003EB179 /* KMBatchOperateSplitViewController.xib in Resources */,
 				BB003032298D315E002DD1A0 /* KMPreferenceMarkupController.xib in Resources */,
 				BB89721C294AED6C0045787C /* KMWatermarkAdjectivePreViewBaseController.xib in Resources */,
@@ -12549,10 +12685,13 @@
 				AD1D48532AFB8510007AC1F0 /* KMMergeTableViewCell.xib in Resources */,
 				ADBC2CFF299CA6C7006280C8 /* KMPrintDuplexPrintingSetView.xib in Resources */,
 				89E4E7392964148E002DBA6F /* KMAnnotationPropertiesViewController.xib in Resources */,
+				BB8810A42B4F7D1000AFA63E /* KMVerificationActivateViewController.xib in Resources */,
 				9F56648B2988B16F00020985 /* KMTextfieldVC.xib in Resources */,
 				BB9695B729BDB03E00FD68D3 /* InfoWindow.xib in Resources */,
+				BB88108F2B4F7C4100AFA63E /* KMVerificationExpiredViewController.xib in Resources */,
 				9FE0BBF42B0F2FB000CD1CAC /* KMAnnotationLineWindowController.xib in Resources */,
 				ADD1B6D029431D7100C3FFF7 /* KMPrintPreviewView.xib in Resources */,
+				BB8810982B4F7CD100AFA63E /* KMVerificationTrialViewController.xib in Resources */,
 				BBC821E42B0D9F72004B7E8E /* KMStampCreaterWindowController.xib in Resources */,
 				BB3AAB9429878CE000992A5A /* KMWatermarkAdjectivePropertyMainController.xib in Resources */,
 				AD3AAD4E2B0B7B9300DE5FE7 /* KMCompareTextView.xib in Resources */,
@@ -12571,6 +12710,7 @@
 				9F853A002947137500DF644E /* throbber.png in Resources */,
 				ADDF83692B391A5C00A81A4E /* DSignatureSaveFolderViewController.xib in Resources */,
 				AD3AAD7A2B0DCEB600DE5FE7 /* KMCompareSaveView.xib in Resources */,
+				BB8810802B4F7A1F00AFA63E /* KMActivityALertViewController.xib in Resources */,
 				ADDF83542B391A5C00A81A4E /* DSignatureFileListViewController.xib in Resources */,
 				BBC348372955A118008D2CD1 /* KMCreateBackgroundController.xib in Resources */,
 				ADC31FAD2A0E0C3900ED44A2 /* KMEditPropertyAlignmentView.xib in Resources */,
@@ -12746,6 +12886,7 @@
 				8997012428F41AB8009AF911 /* KMLeftSideViewController.xib in Resources */,
 				ADAFDA872AEB804B00F084BC /* KMQucikToolCollectionViewItem.xib in Resources */,
 				9FBA0F0329015A82001117AF /* KMFastToolCollectionViewItem.xib in Resources */,
+				BB8810BD2B4F872500AFA63E /* KMVerificationWindowController.xib in Resources */,
 				BB853CB02AF8FA67009C20C1 /* KMHeaderFooterManagerWindowController.xib in Resources */,
 				ADBC372629CA923E00D93208 /* KMComparative.plist in Resources */,
 				9FDD0FA12952FF4D000C4DAD /* global.json in Resources */,
@@ -12815,6 +12956,7 @@
 				ADF9ED3529A850D200C4A943 /* KMAccountInfoView.xib in Resources */,
 				AD88108929A719E500178CA1 /* KMRegisterView.xib in Resources */,
 				9F0CB4842967F64D00007028 /* KMPropertiesPanelReadOnlySubVC.xib in Resources */,
+				BB8810AE2B4F7D7500AFA63E /* KMVerificationViewController.xib in Resources */,
 				9FDD0F9B2952FF4D000C4DAD /* alias-light.json in Resources */,
 				AD867F9A29D955D200F00440 /* KMBOTAOutlineCellView.xib in Resources */,
 				BB853C972AF8DCC7009C20C1 /* KMBatchOperateRemovePasswordViewController.xib in Resources */,
@@ -12856,6 +12998,7 @@
 				ADDF83522B391A5C00A81A4E /* CDSignatureCertificateCustomViewController.xib in Resources */,
 				9F0CB5472986953A00007028 /* KMURLToPDFWindowController.xib in Resources */,
 				BB4F7E7F2B0C45DE0077EC8C /* KMNoteOutlineFilterViewController.xib in Resources */,
+				BB8810752B4F785200AFA63E /* KMUnlockAlertViewController.xib in Resources */,
 				AD0FA50829A8E61B00EDEB50 /* KMLightMemberAlertView.xib in Resources */,
 				BB03D6922B01C7AB008C9976 /* KMPDFEditInsertBlankPageWindow.xib in Resources */,
 				9FB220DC2B0F4ED400A5B208 /* KMAnnotationSelectLinkViewController.xib in Resources */,
@@ -12872,6 +13015,7 @@
 				9F0201932A1DDAA500C9B673 /* KMAITranslationWindowController.xib in Resources */,
 				9F72D20D2994BDAF00DCACF1 /* KMNotificationVC.xib in Resources */,
 				AD1D48272AFB6BCB007AC1F0 /* KMMergeView.xib in Resources */,
+				BB88108A2B4F7C2200AFA63E /* KMVerificationAlertViewController.xib in Resources */,
 				ADB5E5172A371131007110A8 /* KMSubscribeWaterMarkWindowController.xib in Resources */,
 				AD58F4142B1DAAB200299EE0 /* KMPrintDefaultView.xib in Resources */,
 				AD3AAD7B2B0DCEB600DE5FE7 /* KMCompareSaveView.xib in Resources */,
@@ -12894,6 +13038,7 @@
 				BBA8B7B5293635D80097D183 /* KMPasswordInputWindow.xib in Resources */,
 				89752DB22936F505003FF08E /* KMCustomButtonPopMenuViewController.xib in Resources */,
 				BB9DEE862A14A01D00351CC4 /* PDF-Master-DMG-Info.plist in Resources */,
+				BB8810A52B4F7D1000AFA63E /* KMVerificationActivateViewController.xib in Resources */,
 				BB8F455C295AA1270037EA22 /* KMHeaderFooterPropertyInfoController.xib in Resources */,
 				BB6347BA2AF224E200F5438E /* KMConvertCollectionViewHeader.xib in Resources */,
 				9FD0FA5029D43D6800F2AB0D /* KMDeviceBrowserWindowController.xib in Resources */,
@@ -12925,6 +13070,7 @@
 				ADBC2D17299CCD10006280C8 /* KMTextfieldButton.xib in Resources */,
 				9F512CD42B469A7700EC0BC3 /* KMPageDisplayThemeCollectionViewItem.xib in Resources */,
 				BB1BFF6F2AEA030F003EB179 /* KMBatchOperateSplitViewController.xib in Resources */,
+				BB8810992B4F7CD100AFA63E /* KMVerificationTrialViewController.xib in Resources */,
 				BBC348382955A118008D2CD1 /* KMCreateBackgroundController.xib in Resources */,
 				BB6DD81129347F77001F0544 /* KMSecureEncryptWindowController.xib in Resources */,
 				BB49ECE2293EED6100C82CA2 /* KMConvertWordWindowController.xib in Resources */,
@@ -12961,6 +13107,7 @@
 				BBFE6E842930EBD400142C01 /* KMCompressWindowController.xib in Resources */,
 				BB5F8A1E29BB15AD00365ADB /* KMEmailSubWindowController.xib in Resources */,
 				AD867FB929DFBB3200F00440 /* KMAnnotationOutlineCellView.xib in Resources */,
+				BB8810812B4F7A1F00AFA63E /* KMActivityALertViewController.xib in Resources */,
 				ADE86A982B0226BB00414DFA /* KMRemovePasswordView.xib in Resources */,
 				ADF1569E29A63CBF001D1018 /* KMLightMember.xcassets in Resources */,
 				BB1BFF772AEA0B38003EB179 /* KMBatchOperateLeftViewController.xib in Resources */,
@@ -12983,6 +13130,7 @@
 				BB6BA4CA2B0B4A4200462CAE /* KMLeftSideEmptyFileViewController.xib in Resources */,
 				BB2F615D2966B69D001CB369 /* KMWatermarkPropertyHomeController.xib in Resources */,
 				ADD1B6C12942DD3D00C3FFF7 /* KMPrintChooseView.xib in Resources */,
+				BB88106C2B4F771D00AFA63E /* KMVerificationInfoViewController.xib in Resources */,
 				9F1F82C1292E01860092C4B4 /* KMCloudEmptyCollectionViewItem.xib in Resources */,
 				9F00CF562A38657400AC462E /* GoogleService-Info.plist in Resources */,
 				9FDD0F69294AB645000C4DAD /* KMMainViewController.xib in Resources */,
@@ -13029,6 +13177,7 @@
 				ADDF83492B391A5C00A81A4E /* DSignatureCreateInfoViewController.xib in Resources */,
 				BB4F7E872B0C4E820077EC8C /* KMNoteFilterCollevtionViewItem.xib in Resources */,
 				BB5BE4F32B060EB500D51BF2 /* KMLanguageViewController.xib in Resources */,
+				BB8810902B4F7C4100AFA63E /* KMVerificationExpiredViewController.xib in Resources */,
 				AD1CA4052A06040B0070541F /* KMAnnotationScreenCollectionView.xib in Resources */,
 				BB65A0762AF8DE4F003A27A0 /* SyncPreferences.xib in Resources */,
 				BB7F7BFC29AA469F00A3E4E7 /* KMSigntureViewItem.xib in Resources */,
@@ -13109,6 +13258,7 @@
 				ADB2D6F4294741720029D2B3 /* KMPrintPaperSetView.xib in Resources */,
 				ADAFDA4E2AEA7F2700F084BC /* KMAdvertisementShowView.xib in Resources */,
 				BB65A0842AF8FEA1003A27A0 /* KMBatchOperateRemoveHeaderFooterViewController.xib in Resources */,
+				BB8810632B4F74DD00AFA63E /* KMRepeatTrialAlertController.xib in Resources */,
 				BB49ED13293F462E00C82CA2 /* KMConvertImageWindowController.xib in Resources */,
 				ADE86A7D2B0221E100414DFA /* KMSecurityWindowController.xib in Resources */,
 				9F00CCBB2A2F1E0F00AC462E /* dsa_priv.pem in Resources */,
@@ -13168,6 +13318,7 @@
 			isa = PBXSourcesBuildPhase;
 			buildActionMask = 2147483647;
 			files = (
+				BB88109A2B4F7CD100AFA63E /* KMVerificationTrialViewController.m in Sources */,
 				BB147017299DC0D100784A6A /* OIDGrantTypes.m in Sources */,
 				BB8F453F295A98960037EA22 /* KMHeaderFooterPropertyController.swift in Sources */,
 				ADBC373C29CA9AE100D93208 /* KMComparativeManager.swift in Sources */,
@@ -13185,6 +13336,7 @@
 				BB4F7E952B0C857D0077EC8C /* KMNoteTypeCollectionViewItem.swift in Sources */,
 				9F512CC72B4640AB00EC0BC3 /* KMPageDisplayCustomThemesCollectionViewItem.swift in Sources */,
 				BB8F4582295B0F900037EA22 /* KMHeaderFooterMarginInfoView.swift in Sources */,
+				BB8810642B4F74DD00AFA63E /* KMRepeatTrialAlertController.m in Sources */,
 				9FDD0FAA29534FCC000C4DAD /* KMAliasLight.swift in Sources */,
 				AD1D48082AFB18DA007AC1F0 /* KMCompressWIndowControllerNew.swift in Sources */,
 				BB147029299DC0D100784A6A /* OIDAuthorizationService.m in Sources */,
@@ -13226,6 +13378,7 @@
 				BB65A0472AF893DD003A27A0 /* KMGeneralPreferences.swift in Sources */,
 				9FBA0EFE29015A82001117AF /* KMFastToolCollectionViewItem.swift in Sources */,
 				BBA8B7A32935CD740097D183 /* KMRemovePasswordAlertWindowController.swift in Sources */,
+				BB8810912B4F7C4100AFA63E /* KMVerificationExpiredViewController.m in Sources */,
 				BB853C6F2AF879C1009C20C1 /* KMBatchRemoveWatermarkOperation.swift in Sources */,
 				ADDF833B2B391A5C00A81A4E /* CPDFSignatureWidgetAnnotation+PDFListView.m in Sources */,
 				BB6347B42AF224D600F5438E /* KMConvertCollectionViewHeader.swift in Sources */,
@@ -13406,6 +13559,7 @@
 				BBB5C80729F4CEE40054F261 /* KMLinkAnnotationPropertyEmptyController.swift in Sources */,
 				8997010628F4082C009AF911 /* KMFromViewController.swift in Sources */,
 				BBD1F78B296FACA300343885 /* KMPageEditExtractSettingView.swift in Sources */,
+				BB8810762B4F785200AFA63E /* KMUnlockAlertViewController.m in Sources */,
 				ADBC375029CAE27900D93208 /* KMComparativeOutlineRowView.swift in Sources */,
 				BBC8A7602B05C87600FA9377 /* KMBotaTableView.swift in Sources */,
 				9FCFEC9C2AD152FA00EAD2CB /* CustomAlertView.swift in Sources */,
@@ -13673,6 +13827,7 @@
 				ADCFFC0229C004AD007D3657 /* KMBookMarkTableRowView.swift in Sources */,
 				ADF6B86C2A480C5F0090CB78 /* KMComparativeView.swift in Sources */,
 				9FAAA339290F72CC0046FFCE /* KMHistoryFileCollectionView.swift in Sources */,
+				BB8810852B4F7C2200AFA63E /* KMVerificationAlertViewController.m in Sources */,
 				BB93CDE92AE7B6E100B29C57 /* KMToolbarView.swift in Sources */,
 				BB2F18462A0C7E250003F65E /* KMConvertBaseView.swift in Sources */,
 				BB99ACCA292DEE6E0048AFD9 /* KMMergeTitleBar.swift in Sources */,
@@ -13810,6 +13965,7 @@
 				9FD0D2B32AD5265A00DA3FF8 /* CPDFListAnnotationNoteWindowController.swift in Sources */,
 				BB74DA7F2AC42959006EDFE7 /* NSButton+KMExtension.swift in Sources */,
 				BBF38A62294F53FD0086D025 /* KMWatermarkFileView.swift in Sources */,
+				BB88107C2B4F7A1F00AFA63E /* KMActivityALertViewController.m in Sources */,
 				BBC3482E29559E12008D2CD1 /* KMBackgroundModel.swift in Sources */,
 				BBCE57182A72723600508EFC /* NSResponder+KMExtension.swift in Sources */,
 				ADE3C19F29A3894900793B13 /* KMSearchTableRowView.swift in Sources */,
@@ -13916,6 +14072,7 @@
 				BBFD2B122AEFAAF70016C456 /* KMBatchOperateBaseViewController.swift in Sources */,
 				BB6719E52AD28527003D44D5 /* CPDFLineAnnotation+PDFListView.swift in Sources */,
 				9FBA0EF528FFC8A0001117AF /* KMCollectionView.swift in Sources */,
+				BB8810A02B4F7D1000AFA63E /* KMVerificationActivateViewController.m in Sources */,
 				9F0CB4672967E5CB00007028 /* KMPropertiesPanelSubViewController.swift in Sources */,
 				8942F7FF29260EC700389627 /* KMLeftMethodMode.swift in Sources */,
 				BB1A916A2AFB7868005E5FD8 /* KMConvertWindowController.swift in Sources */,
@@ -13998,6 +14155,7 @@
 				F35B484B29A4903300756255 /* NSPointerArray+PDFListView.m in Sources */,
 				BBC28F462B0F352000D73206 /* KMImageToolTipContext.swift in Sources */,
 				BB90E4EE2AF3546500B04B9F /* NSUserDefaultsController+KMExtension.swift in Sources */,
+				BB88106D2B4F771D00AFA63E /* KMVerificationInfoViewController.m in Sources */,
 				BBB14A532978DD5400936EDB /* KMRedactTools.swift in Sources */,
 				BB5F8A1129BB04F000365ADB /* GBDeviceInfo_Common.m in Sources */,
 				BBAFC83C2985194800D0648E /* KMPDFEditAppendWindow.m in Sources */,
@@ -14108,6 +14266,7 @@
 				BB6719E92AD2A57C003D44D5 /* CPDFLinkAnnotation+PDFListView.swift in Sources */,
 				AD53B6FE29AC5FCD00D61E81 /* KMLightMemberToken.swift in Sources */,
 				BB0542152965705D00F2665C /* KMCropTipView.swift in Sources */,
+				BB8810BE2B4F872500AFA63E /* KMVerificationWindowController.m in Sources */,
 				ADDF83322B391A5C00A81A4E /* CPDFAnnotation+PDFListView.m in Sources */,
 				ADA9102E2A272CEA003352F0 /* KMImageOptimization.swift in Sources */,
 				BBC348532958465C008D2CD1 /* KMBackgroundFilePropertyInfoController.swift in Sources */,
@@ -14123,6 +14282,7 @@
 				BB853C862AF8BC12009C20C1 /* KMAddPasswordOperationQueue.swift in Sources */,
 				F34BF93529530708002C25A2 /* NSImage+PDFListView.m in Sources */,
 				BBAC26A42AFE134300563A08 /* KMToolbarItemPopViewController.swift in Sources */,
+				BB8810A92B4F7D7500AFA63E /* KMVerificationViewController.m in Sources */,
 				ADD1B70A29471FA500C3FFF7 /* KMPrintChoosePresenter.swift in Sources */,
 				BB1BFF692AEA02F8003EB179 /* KMBatchOperateSplitViewController.swift in Sources */,
 				F3599173292B62F5000D25DE /* CStringConstants.m in Sources */,
@@ -14226,6 +14386,7 @@
 				9FBA0EFF29015A82001117AF /* KMFastToolCollectionViewItem.swift in Sources */,
 				BB003036298D356E002DD1A0 /* KMPreferenceMarkupColorView.swift in Sources */,
 				ADDF838A2B391A5D00A81A4E /* DSignatureFileListCellView.swift in Sources */,
+				BB8810BF2B4F872500AFA63E /* KMVerificationWindowController.m in Sources */,
 				ADE614AD29779C5200F62ED7 /* KMImageTitleButton.swift in Sources */,
 				9FF94F0A29A62B5000B1EF69 /* KMDesignSelect.swift in Sources */,
 				BB146FBE299DC0D100784A6A /* GTMGatherInputStream.m in Sources */,
@@ -14274,6 +14435,7 @@
 				BB4BD9CD2909026500A66A65 /* KMRightSideViewController.swift in Sources */,
 				BB1A916B2AFB7868005E5FD8 /* KMConvertWindowController.swift in Sources */,
 				BB276A532B03776000AB5578 /* KMConvertOperationQueue.swift in Sources */,
+				BB8810652B4F74DD00AFA63E /* KMRepeatTrialAlertController.m in Sources */,
 				BB162E8F294FFC0C0088E9D1 /* KMWatermarkPDFView.swift in Sources */,
 				AD9527C7295295110039D2BC /* KMPrintPrinterModel.swift in Sources */,
 				BBA388142AEF9A42004FE93F /* NSWindow+KMExtension.swift in Sources */,
@@ -14330,6 +14492,7 @@
 				9FD0D2B42AD5265A00DA3FF8 /* CPDFListAnnotationNoteWindowController.swift in Sources */,
 				9F3D819429A33A290087B5AD /* KMDesignDropdown.swift in Sources */,
 				9F0CB4802967F64D00007028 /* KMPropertiesPanelReadOnlySubVC.swift in Sources */,
+				BB8810862B4F7C2200AFA63E /* KMVerificationAlertViewController.m in Sources */,
 				BB2EDF77296ECE17003BCF58 /* KMPageEditInsertPageSizeItemView.swift in Sources */,
 				9F1F82DB292F84D60092C4B4 /* KMHomeInsertActionViewController.swift in Sources */,
 				BB35732E2AF50066004CDA92 /* KMBatchOperateConvertViewController.swift in Sources */,
@@ -14435,6 +14598,7 @@
 				BBCE57152A72713A00508EFC /* NSViewController+KMExtension.swift in Sources */,
 				ADD1B6AC2941E97F00C3FFF7 /* KMPrintWindowController.swift in Sources */,
 				9FDD0FAF29534FDC000C4DAD /* KMCompLight.swift in Sources */,
+				BB8810922B4F7C4100AFA63E /* KMVerificationExpiredViewController.m in Sources */,
 				AD1CA4122A061CCD0070541F /* KMAnnotationScreenColorViewItem.swift in Sources */,
 				BB2A98532B270B3300647AF3 /* KMBatchAddBackgroundOperation.swift in Sources */,
 				AD867FC229DFC39400F00440 /* KMBOTAAnnotationItem.swift in Sources */,
@@ -14459,6 +14623,7 @@
 				BBEFD0192AF9BD24003FABD8 /* KMDataVersionManager.swift in Sources */,
 				9FA607DA28F8227500B46586 /* KMBox.swift in Sources */,
 				BB146FD3299DC0D100784A6A /* GTLRDateTime.m in Sources */,
+				BB8810A12B4F7D1000AFA63E /* KMVerificationActivateViewController.m in Sources */,
 				AD9527BF295294E20039D2BC /* KMPrintPageModel.swift in Sources */,
 				BB8F457B295AFB330037EA22 /* KMHeaderFooterFontInfoView.swift in Sources */,
 				BBB5C80829F4CEE40054F261 /* KMLinkAnnotationPropertyEmptyController.swift in Sources */,
@@ -14656,6 +14821,7 @@
 				9FAAA33F290FECA70046FFCE /* NSImage+QuickLook.swift in Sources */,
 				ADE3C1E529A5ABC200793B13 /* KMLoginWindowController.swift in Sources */,
 				9F0CB4D62986551600007028 /* KMDesignToken+Spacing.swift in Sources */,
+				BB88106E2B4F771D00AFA63E /* KMVerificationInfoViewController.m in Sources */,
 				BB4A948E2B04726A00940F8B /* KMOCTool.m in Sources */,
 				F3732324292DFFFE0013862C /* CPDFListView+Extension.m in Sources */,
 				ADB5E5132A371131007110A8 /* KMSubscribeWaterMarkWindowController.swift in Sources */,
@@ -14819,6 +14985,7 @@
 				9F0CB53A2986570600007028 /* KMDesignToken+BoxShadow.swift in Sources */,
 				9F02017A2A1B5C0300C9B673 /* KMAIServerConfig.swift in Sources */,
 				9F0CB4B62977BC1000007028 /* KMPropertiesPanelPreviewSubVC.swift in Sources */,
+				BB88109B2B4F7CD100AFA63E /* KMVerificationTrialViewController.m in Sources */,
 				9F1FE4E229406E4700E952CA /* GTMNSAnimation+Duration.m in Sources */,
 				BB49ED22293F527700C82CA2 /* KMConvertExcelSettingView.swift in Sources */,
 				BB146FF1299DC0D100784A6A /* GTLRUploadParameters.m in Sources */,
@@ -14867,6 +15034,7 @@
 				9F221ED029A85D3700978A59 /* KMDesignBase.swift in Sources */,
 				BB74DA802AC42959006EDFE7 /* NSButton+KMExtension.swift in Sources */,
 				ADDF83392B391A5C00A81A4E /* CPDFSignatureAnnotation+PDFListView.m in Sources */,
+				BB8810AA2B4F7D7500AFA63E /* KMVerificationViewController.m in Sources */,
 				BB897221294AF9080045787C /* KMWatermarkAdjectiveTopBarView.swift in Sources */,
 				9F72D2092994BDAF00DCACF1 /* KMNotificationVC.swift in Sources */,
 				BB4DD04C299B296500E80DF6 /* KMCloudPathControl.swift in Sources */,
@@ -14911,6 +15079,7 @@
 				BB8F4573295ACE380037EA22 /* KMHeaderFooterAdjectiveListCell.swift in Sources */,
 				BBD54ED52A1CBD720012A230 /* NSView+KMExtension.swift in Sources */,
 				BB003010298CA383002DD1A0 /* KMPreferenceSegementControl.swift in Sources */,
+				BB8810772B4F785200AFA63E /* KMUnlockAlertViewController.m in Sources */,
 				89D2D2C229495D2100BFF5FE /* KMFormModel.swift in Sources */,
 				BB6DD815293486FA001F0544 /* KMSecureEncryptPasswordCellView.swift in Sources */,
 				BBA19F4029ADE40A001A285A /* KMCellEmptyView.m in Sources */,
@@ -14921,6 +15090,7 @@
 				AD88109729A78ADC00178CA1 /* KMVerificationCodeView.swift in Sources */,
 				BBC347FE295448DE008D2CD1 /* KMWatermarkTemplateModel.swift in Sources */,
 				9FB220F82B186C9800A5B208 /* KMAnnotationGeneralViewController.swift in Sources */,
+				BB88107D2B4F7A1F00AFA63E /* KMActivityALertViewController.m in Sources */,
 				BB6B436C2A04935000E02B54 /* KMPDFThumbViewBaseController.swift in Sources */,
 				ADE3C1FA29A5C42300793B13 /* KMLightMemberUserInfo.swift in Sources */,
 				BB6DD81D29348F31001F0544 /* KMSecureTextFiled.swift in Sources */,
@@ -15249,6 +15419,7 @@
 				ADB5E5142A371131007110A8 /* KMSubscribeWaterMarkWindowController.swift in Sources */,
 				ADE86ACA2B034CB200414DFA /* KMAddBackgroundView.swift in Sources */,
 				BBC8A7732B06408600FA9377 /* KMBotaSearchViewController.swift in Sources */,
+				BB8810662B4F74DD00AFA63E /* KMRepeatTrialAlertController.m in Sources */,
 				9F1FE51329407B4000E952CA /* KMFileSearchView.swift in Sources */,
 				BBEC00B1295C2AF300A26C98 /* KMBatesPreviewController.swift in Sources */,
 				BB897260294C5DDA0045787C /* KMWatermarkPropertyInfoController.swift in Sources */,
@@ -15352,6 +15523,7 @@
 				BB6B4C0A292F53CE0071CA06 /* KMMergeFileModel.swift in Sources */,
 				9F0CB4B72977BC1000007028 /* KMPropertiesPanelPreviewSubVC.swift in Sources */,
 				BB3A81B72AC2C0F4006FC66C /* NSObject+KMExtension.swift in Sources */,
+				BB88106F2B4F771D00AFA63E /* KMVerificationInfoViewController.m in Sources */,
 				BB9E2F752A495BCD000DC68D /* KMConvertSettingLimitTipView.swift in Sources */,
 				9FCFEC8A2AD0EF9900EAD2CB /* KMPopMenuButton.swift in Sources */,
 				BB6DD80E29347F77001F0544 /* KMSecureEncryptWindowController.swift in Sources */,
@@ -15423,6 +15595,7 @@
 				BBEB93F12AD6C72C00739573 /* KMPDFMergePageRangeTabelViewCell.swift in Sources */,
 				8942F80129260EC700389627 /* KMLeftMethodMode.swift in Sources */,
 				BB14703A299DC0D200784A6A /* OIDAuthorizationResponse.m in Sources */,
+				BB8810932B4F7C4100AFA63E /* KMVerificationExpiredViewController.m in Sources */,
 				AD3AAD7F2B0DFFB100DE5FE7 /* KMAngleIndicateView.swift in Sources */,
 				BBB9B324299A5D6D004F3235 /* KMServicesCloudFile.m in Sources */,
 				AD0257412A8601CD00EAD5D5 /* KMAppleLoginManager.swift in Sources */,
@@ -15483,6 +15656,7 @@
 				9FD0D2B12AD51BCC00DA3FF8 /* CPDFListEditAnnotationViewController.swift in Sources */,
 				ADDF836D2B391A5C00A81A4E /* DSignatureSaveTypeViewController.swift in Sources */,
 				BB853C9B2AF8E39D009C20C1 /* KMRemovePasswordOperationQueue.swift in Sources */,
+				BB8810AB2B4F7D7500AFA63E /* KMVerificationViewController.m in Sources */,
 				BBE78F1D2B36F69F0071AC1A /* KMLeftSideViewController+Note.swift in Sources */,
 				BBCE571A2A72723600508EFC /* NSResponder+KMExtension.swift in Sources */,
 				BB146FDA299DC0D100784A6A /* GTLRFramework.m in Sources */,
@@ -15512,6 +15686,7 @@
 				AD3A3589294C11ED00D72802 /* KMPrintPreviewPresenter.swift in Sources */,
 				AD1CA4322A0640F20070541F /* KMAnnotationScreenHeadView.swift in Sources */,
 				BB49ED1B293F4D4E00C82CA2 /* KMConvertCSVSettingView.swift in Sources */,
+				BB8810782B4F785200AFA63E /* KMUnlockAlertViewController.m in Sources */,
 				89752E1B2941FD48003FF08E /* KMSearchCellView.swift in Sources */,
 				BB146FC8299DC0D100784A6A /* GTMSessionFetcherService.m in Sources */,
 				ADE86AD82B05A52B00414DFA /* KMCompareFilesConfig.swift in Sources */,
@@ -15565,6 +15740,7 @@
 				BB1331502AD78DC0008F6791 /* KMPDFMergeSizeTabelViewCell.swift in Sources */,
 				ADDDCE232B43A32A005B4AB5 /* AppSandboxFileAccessPersist.m in Sources */,
 				AD199DFA2B26A36500D56FEE /* KMPrintPosterPreviewView.swift in Sources */,
+				BB88109C2B4F7CD100AFA63E /* KMVerificationTrialViewController.m in Sources */,
 				BB2EDF6C296ECE17003BCF58 /* KMPageEditInsertTypeItemView.swift in Sources */,
 				BBD7FE052A1323A400F96075 /* KMEditImagePropertyViewController.swift in Sources */,
 				BBBB6CD02AD13E210035AA66 /* CPDFButtonWidgetAnnotation+PDFListView.swift in Sources */,
@@ -15683,6 +15859,7 @@
 				9F221ED129A85D3700978A59 /* KMDesignBase.swift in Sources */,
 				ADB5E51B2A3711CB007110A8 /* KMSubscribeWaterMarkView.swift in Sources */,
 				BBBE209D2B21E5F100509C4E /* KMAlertTool.swift in Sources */,
+				BB88107E2B4F7A1F00AFA63E /* KMActivityALertViewController.m in Sources */,
 				89D9896028FD21E6003A3E87 /* KMAnnotationCollectionView.swift in Sources */,
 				9F53D5552AD683A700CCF9D8 /* KMAnnotationPropertyBaseController.swift in Sources */,
 				BB4DD049299B294000E80DF6 /* KMCloudFileEmptyView.swift in Sources */,
@@ -15764,6 +15941,7 @@
 				9F1FE4B029406E4700E952CA /* CTPresentationModeController.m in Sources */,
 				BBA922242B4E7D340061057A /* HyperLinkButton.swift in Sources */,
 				BBD1F791296FE6A500343885 /* KMPageEditSplitWindowController.swift in Sources */,
+				BB8810A22B4F7D1000AFA63E /* KMVerificationActivateViewController.m in Sources */,
 				BBE78F212B3875B50071AC1A /* KMLeftSideViewController+Search.swift in Sources */,
 				ADD1B6EA2946C02600C3FFF7 /* KMPrintChoosePageSizeMultipageView.swift in Sources */,
 				BBF2455F2AE78FF900037D08 /* KMBatchWindow.swift in Sources */,
@@ -16015,6 +16193,7 @@
 				9F8539CD29430BF300DF644E /* KMBrowserWindowController.swift in Sources */,
 				BB8F4567295AA3ED0037EA22 /* KMHeaderFooterManager.swift in Sources */,
 				9F705F78291A3A84005199AD /* KMHistoryFileDeleteWindowController.swift in Sources */,
+				BB8810872B4F7C2200AFA63E /* KMVerificationAlertViewController.m in Sources */,
 				AD2D74B729F0D39500EDC5E4 /* KMCancellationSuccessView.swift in Sources */,
 				BBF19E912B0B304C007154C8 /* KMStampCreaterWindowController.swift in Sources */,
 				ADE3C1FF29A5C44700793B13 /* KMLightMemberManager.swift in Sources */,
@@ -16128,6 +16307,7 @@
 				9FD0D2B52AD5265A00DA3FF8 /* CPDFListAnnotationNoteWindowController.swift in Sources */,
 				F359916B29261F0E000D25DE /* CPDFListView+Tool.m in Sources */,
 				89752DEC293875FC003FF08E /* KMMainToolbarController.swift in Sources */,
+				BB8810C02B4F872500AFA63E /* KMVerificationWindowController.m in Sources */,
 				BB183DDF2B4EBE1B00F99C7E /* KMTrialSuccessController.swift in Sources */,
 				AD0E8ABB2A31BDDD00DBFD3C /* KMProduct.swift in Sources */,
 				BBC2BCC8295DA8F30036B983 /* KMCropPreviewController.swift in Sources */,

+ 2 - 2
PDF Office/PDF Master/Class/PDFTools/Redact/View/KMCustomButton.swift

@@ -7,9 +7,9 @@
 
 import Cocoa
 
-class KMCustomButton: NSButton {
+@objcMembers class KMCustomButton: NSButton {
     
-    var mouseMoveCallback: ((_ mouseEntered: Bool)->Void)?
+    @objc var mouseMoveCallback: ((_ mouseEntered: Bool)->Void)?
 
     override func draw(_ dirtyRect: NSRect) {
         super.draw(dirtyRect)

+ 21 - 0
PDF Office/PDF Master/Class/Purchase/DMG/Verification/KMActivityALertViewController.h

@@ -0,0 +1,21 @@
+//
+//  KMActivityALertViewController.h
+//  PDF Reader Pro Edition
+//
+//  Created by Niehaoyu on 2023/4/4.
+//
+
+#import <Cocoa/Cocoa.h>
+
+NS_ASSUME_NONNULL_BEGIN
+
+@interface KMActivityALertViewController : NSViewController
+
+@property (nonatomic,retain) NSString *alertTitle;
+@property (nonatomic,retain) NSString *alertMessage;
+
+@property (nonatomic,copy) void (^callback) (void);
+
+@end
+
+NS_ASSUME_NONNULL_END

+ 97 - 0
PDF Office/PDF Master/Class/Purchase/DMG/Verification/KMActivityALertViewController.m

@@ -0,0 +1,97 @@
+//
+//  KMActivityALertViewController.m
+//  PDF Reader Pro Edition
+//
+//  Created by Niehaoyu on 2023/4/4.
+//
+
+#import "KMActivityALertViewController.h"
+#import "PDF_Master-Bridging-Header.h"
+#if VERSION_DMG
+#import <PDF_Master-Swift.h>
+#else
+#import <PDF_Master-Swift.h>
+#endif
+
+@interface KMActivityALertViewController ()
+
+@property (nonatomic,assign) IBOutlet NSTextField *label;
+@property (nonatomic,assign) IBOutlet NSTextField *sublabel;
+
+@property (nonatomic,assign) IBOutlet KMCustomButton *continueButton;
+
+@property (nonatomic, retain) CALayer *continueButtonLayer;
+
+@end
+
+@implementation KMActivityALertViewController
+#pragma mark Init Methods
+
+- (instancetype)init {
+    if (self = [super initWithNibName:@"KMActivityALertViewController" bundle:nil]) {
+        
+    }
+    return self;
+}
+
+- (void)dealloc {
+    
+}
+
+#pragma mark Setter Methods
+
+- (void)setAlertTitle:(NSString *)alertTitle {
+    _alertTitle = alertTitle;
+    
+    self.label.stringValue = alertTitle ? : @"";
+}
+
+- (void)setAlertMessage:(NSString *)alertMessage {
+    _alertMessage = alertMessage;
+    
+    self.sublabel.stringValue = alertMessage ? : @"";
+}
+
+#pragma mark View Methods
+
+- (void)loadView {
+    [super loadView];
+    // Do view setup here.
+    
+    self.continueButton.wantsLayer = YES;
+    self.continueButton.layer.masksToBounds = YES;
+    self.continueButton.layer.cornerRadius = 1.0;
+    
+    self.label.stringValue = self.alertTitle ? : @"";
+    self.sublabel.stringValue = self.alertMessage ? : @"";
+    
+    self.continueButton.title = NSLocalizedString(@"Continue", nil);
+    [self.continueButton setTitleColor:[NSColor whiteColor]];
+    
+    self.continueButtonLayer = [CALayer layer];
+    [self.continueButton.layer addSublayer:self.continueButtonLayer];
+    self.continueButtonLayer.frame = CGRectMake(0, 0, CGRectGetWidth(_continueButton.bounds), CGRectGetHeight(_continueButton.bounds));
+    self.continueButtonLayer.backgroundColor = [KMAppearance KMColor_Status_Sel].CGColor;
+    self.continueButtonLayer.cornerRadius = 0;
+    self.continueButtonLayer.hidden = YES;
+    __block KMActivityALertViewController *blockSelf = self;
+    self.continueButton.mouseMoveCallback = ^(BOOL mouseEntered) {
+        if (mouseEntered)
+            blockSelf.continueButtonLayer.hidden = NO;
+        else
+            blockSelf.continueButtonLayer.hidden = YES;
+    };
+    
+    [self.label setTextColor:[KMAppearance KMColor_Layout_H0]];
+    [self.sublabel setTextColor:[KMAppearance KM_242424_Color75]];
+}
+
+#pragma mark - IBAction
+
+- (IBAction)continueButtonAction:(id)sender {
+    if (self.callback) {
+        self.callback();
+    }
+}
+
+@end

+ 99 - 0
PDF Office/PDF Master/Class/Purchase/DMG/Verification/KMActivityALertViewController.xib

@@ -0,0 +1,99 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="22505" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" customObjectInstantitationMethod="direct">
+    <dependencies>
+        <deployment identifier="macosx"/>
+        <plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="22505"/>
+        <capability name="Named colors" minToolsVersion="9.0"/>
+        <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
+    </dependencies>
+    <objects>
+        <customObject id="-2" userLabel="File's Owner" customClass="KMActivityALertViewController">
+            <connections>
+                <outlet property="continueButton" destination="lqs-Fp-4oP" id="teY-Xb-EBr"/>
+                <outlet property="label" destination="Msy-3S-d2h" id="Yet-dI-Ig1"/>
+                <outlet property="sublabel" destination="pm5-8h-PY3" id="D6n-1K-iBm"/>
+                <outlet property="view" destination="Hz6-mo-xeY" id="0bl-1N-x8E"/>
+            </connections>
+        </customObject>
+        <customObject id="-1" userLabel="First Responder" customClass="FirstResponder"/>
+        <customObject id="-3" userLabel="Application" customClass="NSObject"/>
+        <customView id="Hz6-mo-xeY">
+            <rect key="frame" x="0.0" y="0.0" width="268" height="250"/>
+            <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
+            <subviews>
+                <imageView horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="GJM-ad-Iuh">
+                    <rect key="frame" x="105" y="153" width="58" height="58"/>
+                    <constraints>
+                        <constraint firstAttribute="height" constant="58" id="qVG-lf-Kcz"/>
+                        <constraint firstAttribute="width" constant="58" id="xUq-xQ-XGD"/>
+                    </constraints>
+                    <imageCell key="cell" refusesFirstResponder="YES" alignment="left" imageScaling="proportionallyDown" image="img_licensecode_successful" id="OEs-hE-8zW"/>
+                </imageView>
+                <textField focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="Msy-3S-d2h">
+                    <rect key="frame" x="61" y="114" width="147" height="16"/>
+                    <textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Successful activation!" id="pLA-3Y-Hza">
+                        <font key="font" metaFont="systemBold"/>
+                        <color key="textColor" red="0.20000000000000001" green="0.20000000000000001" blue="0.20000000000000001" alpha="1" colorSpace="calibratedRGB"/>
+                        <color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
+                    </textFieldCell>
+                </textField>
+                <box boxType="custom" borderWidth="0.0" cornerRadius="1" title="Box" translatesAutoresizingMaskIntoConstraints="NO" id="Qwn-MB-Wut">
+                    <rect key="frame" x="20" y="28" width="228" height="32"/>
+                    <view key="contentView" id="tbv-lG-pd0">
+                        <rect key="frame" x="0.0" y="0.0" width="228" height="32"/>
+                        <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
+                    </view>
+                    <color key="fillColor" name="KMColor_Interactive_M0"/>
+                </box>
+                <button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="lqs-Fp-4oP" customClass="KMCustomButton">
+                    <rect key="frame" x="20" y="28" width="228" height="32"/>
+                    <buttonCell key="cell" type="bevel" title="Continue" bezelStyle="rounded" alignment="center" imageScaling="proportionallyDown" inset="2" id="zO3-3L-eF8">
+                        <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
+                        <font key="font" metaFont="system"/>
+                        <string key="keyEquivalent" base64-UTF8="YES">
+DQ
+</string>
+                    </buttonCell>
+                    <constraints>
+                        <constraint firstAttribute="height" constant="32" id="DwQ-RZ-sV8"/>
+                    </constraints>
+                    <connections>
+                        <action selector="continueButtonAction:" target="-2" id="L6W-4A-uyB"/>
+                    </connections>
+                </button>
+                <textField focusRingType="none" verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" translatesAutoresizingMaskIntoConstraints="NO" id="pm5-8h-PY3">
+                    <rect key="frame" x="18" y="76" width="232" height="28"/>
+                    <textFieldCell key="cell" sendsActionOnEndEditing="YES" alignment="center" title="Enjoy all features to annotate and edit PDF for the next 7 days." id="7oP-2g-O2A">
+                        <font key="font" metaFont="smallSystem"/>
+                        <color key="textColor" red="0.59999999999999998" green="0.59999999999999998" blue="0.59999999999999998" alpha="1" colorSpace="calibratedRGB"/>
+                        <color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
+                    </textFieldCell>
+                </textField>
+            </subviews>
+            <constraints>
+                <constraint firstItem="lqs-Fp-4oP" firstAttribute="trailing" secondItem="Qwn-MB-Wut" secondAttribute="trailing" id="34f-En-ifc"/>
+                <constraint firstAttribute="trailing" secondItem="lqs-Fp-4oP" secondAttribute="trailing" constant="20" id="BfC-Y8-T4b"/>
+                <constraint firstItem="lqs-Fp-4oP" firstAttribute="bottom" secondItem="Qwn-MB-Wut" secondAttribute="bottom" id="HQa-S1-F4r"/>
+                <constraint firstItem="Msy-3S-d2h" firstAttribute="centerX" secondItem="Hz6-mo-xeY" secondAttribute="centerX" id="IeQ-14-DnA"/>
+                <constraint firstItem="lqs-Fp-4oP" firstAttribute="top" secondItem="pm5-8h-PY3" secondAttribute="bottom" constant="16" id="OUT-cN-oDM"/>
+                <constraint firstItem="GJM-ad-Iuh" firstAttribute="top" secondItem="Hz6-mo-xeY" secondAttribute="top" constant="39" id="PPB-Xq-onL"/>
+                <constraint firstItem="lqs-Fp-4oP" firstAttribute="top" secondItem="Qwn-MB-Wut" secondAttribute="top" id="QKz-IF-5gd"/>
+                <constraint firstItem="pm5-8h-PY3" firstAttribute="leading" secondItem="Hz6-mo-xeY" secondAttribute="leading" constant="20" id="YTB-Ci-avl"/>
+                <constraint firstItem="Msy-3S-d2h" firstAttribute="top" secondItem="GJM-ad-Iuh" secondAttribute="bottom" constant="23" id="deA-aA-meK"/>
+                <constraint firstItem="pm5-8h-PY3" firstAttribute="centerX" secondItem="Hz6-mo-xeY" secondAttribute="centerX" id="fha-zz-EQE"/>
+                <constraint firstItem="pm5-8h-PY3" firstAttribute="top" secondItem="Msy-3S-d2h" secondAttribute="bottom" constant="10" id="gaA-0s-Myj"/>
+                <constraint firstItem="lqs-Fp-4oP" firstAttribute="leading" secondItem="Qwn-MB-Wut" secondAttribute="leading" id="h2d-tH-hkg"/>
+                <constraint firstItem="GJM-ad-Iuh" firstAttribute="centerX" secondItem="Hz6-mo-xeY" secondAttribute="centerX" id="s9o-fw-8yG"/>
+                <constraint firstAttribute="trailing" secondItem="pm5-8h-PY3" secondAttribute="trailing" constant="20" id="xTH-rA-N0U"/>
+                <constraint firstItem="lqs-Fp-4oP" firstAttribute="leading" secondItem="Hz6-mo-xeY" secondAttribute="leading" constant="20" id="zUa-Hl-EjO"/>
+            </constraints>
+            <point key="canvasLocation" x="79" y="117"/>
+        </customView>
+    </objects>
+    <resources>
+        <image name="img_licensecode_successful" width="64" height="64"/>
+        <namedColor name="KMColor_Interactive_M0">
+            <color red="0.15294117647058825" green="0.23529411764705882" blue="0.3843137254901961" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
+        </namedColor>
+    </resources>
+</document>

+ 20 - 0
PDF Office/PDF Master/Class/Purchase/DMG/Verification/KMRepeatTrialAlertController.h

@@ -0,0 +1,20 @@
+//
+//  KMRepeatTrialAlertController.h
+//  PDF Reader Pro Edition
+//
+//  Created by Niehaoyu on 2023/9/13.
+//
+
+#import <Cocoa/Cocoa.h>
+
+NS_ASSUME_NONNULL_BEGIN
+
+@interface KMRepeatTrialAlertController : NSViewController
+
+@property (nonatomic, copy) void (^callback) (NSInteger clickIndex, KMRepeatTrialAlertController *tRController);
+
+- (void)updateViewColor;
+
+@end
+
+NS_ASSUME_NONNULL_END

+ 226 - 0
PDF Office/PDF Master/Class/Purchase/DMG/Verification/KMRepeatTrialAlertController.m

@@ -0,0 +1,226 @@
+//
+//  KMRepeatTrialAlertController.m
+//  PDF Reader Pro Edition
+//
+//  Created by Niehaoyu on 2023/9/13.
+//
+
+#import "KMRepeatTrialAlertController.h"
+#import "PDF_Master-Bridging-Header.h"
+#if VERSION_DMG
+#import <PDF_Master-Swift.h>
+#else
+#import <PDF_Master-Swift.h>
+#endif
+
+@interface KMRepeatTrialAlertController ()
+
+@property (assign) IBOutlet NSView *contendView;
+@property (assign) IBOutlet NSImageView *iconImg;
+@property (assign) IBOutlet NSTextField *titleLbl;
+
+@property (assign) IBOutlet NSView *infoContendView;
+@property (assign) IBOutlet NSTextField *infoTitleLabel;
+@property (assign) IBOutlet NSTextField *infoSubTitleLabel;
+
+@property (assign) IBOutlet NSTextField *featureLbl;
+@property (assign) IBOutlet NSView *nTipView;
+@property (assign) IBOutlet NSTextField *nTipLabel;
+@property (assign) IBOutlet NSTextField *nInfoLabel;
+@property (assign) IBOutlet NSTextField *featureInfoLabel1;
+@property (assign) IBOutlet NSTextField *featureInfoLabel2;
+@property (assign) IBOutlet NSTextField *featureInfoLabel3;
+@property (assign) IBOutlet NSTextField *featureInfoLabel4;
+@property (assign) IBOutlet NSTextField *featureInfoLabel5;
+
+@property (assign) IBOutlet NSBox *freeTrialBox;
+@property (assign) IBOutlet KMButton *freeTrialButton;
+@property (assign) IBOutlet HyperLinkButton *learnMoreButton;
+@property (assign) IBOutlet HyperLinkButton *enterLicenseButton;
+
+@end
+
+@implementation KMRepeatTrialAlertController
+
+- (instancetype)init {
+    if (self = [super initWithNibName:@"KMRepeatTrialAlertController" bundle:nil]) {
+        
+    }
+    return self;
+}
+
+- (void)dealloc {
+    [NSDistributedNotificationCenter.defaultCenter removeObserver:self];
+}
+
+#pragma mark Setter Methods
+
+- (void)loadView {
+    [super loadView];
+    
+}
+    
+- (void)viewDidLoad {
+    [super viewDidLoad];
+    // Do view setup here.
+    
+    self.contendView.wantsLayer = YES;
+   
+    [self refreshUI];
+}
+
+- (void)refreshUI {
+    
+    __weak typeof(self) weakSelf = self;
+//
+    self.titleLbl.stringValue = NSLocalizedString(@"Unlock All Features for Free", nil);
+    self.infoTitleLabel.stringValue = [@"👋🏻 " stringByAppendingString:NSLocalizedString(@"7-day Free Trial", nil)];
+    self.infoSubTitleLabel.stringValue = NSLocalizedString(@"PDF Reader Pro offers a 7-day free trial of the full functions.", nil);
+    self.featureLbl.stringValue = NSLocalizedString(@"Key Features", nil);
+    self.nTipLabel.stringValue = NSLocalizedString(@"New", nil);
+    self.nInfoLabel.stringValue = NSLocalizedString(@"Digital signature", nil);
+    self.featureInfoLabel1.stringValue = NSLocalizedString(@"Edit PDF", nil);
+    self.featureInfoLabel2.stringValue = NSLocalizedString(@"Organize pages", nil);
+    self.featureInfoLabel3.stringValue = NSLocalizedString(@"Convert PDF", nil);
+    self.featureInfoLabel4.stringValue = NSLocalizedString(@"Create & fill form", nil);
+    self.featureInfoLabel5.stringValue = NSLocalizedString(@"OCR", nil);
+    self.freeTrialButton.title = NSLocalizedString(@"Free Trial", nil);
+    self.learnMoreButton.title = NSLocalizedString(@"Buy Now", nil);
+    self.enterLicenseButton.title = NSLocalizedString(@"Enter License", nil);
+    
+    self.nInfoLabel.toolTip = NSLocalizedString(@"Digital signature", nil);
+    self.featureInfoLabel1.toolTip = NSLocalizedString(@"Edit PDF", nil);
+    self.featureInfoLabel2.toolTip = NSLocalizedString(@"Organize pages", nil);
+    self.featureInfoLabel3.toolTip = NSLocalizedString(@"Convert PDF", nil);
+    self.featureInfoLabel4.toolTip = NSLocalizedString(@"Create & fill form", nil);
+    self.featureInfoLabel5.toolTip = NSLocalizedString(@"OCR", nil);
+    
+    self.titleLbl.font = [NSFont UbuntuBoldFontWithSize:20];
+    self.infoTitleLabel.font = [NSFont UbuntuBoldFontWithSize:26];
+    self.infoSubTitleLabel.font = [NSFont SFProTextRegularFont:14];
+    self.featureLbl.font = [NSFont SFProTextSemiboldFont:16.];
+    self.nTipLabel.font = [NSFont SFProTextRegularFont:11];
+    self.nInfoLabel.font = self.featureInfoLabel1.font = self.featureInfoLabel2.font = self.featureInfoLabel3.font = self.featureInfoLabel4.font = self.featureInfoLabel5.font = [NSFont SFProTextRegularFont:14.];
+    
+    self.titleLbl.textColor = [NSColor colorWithRed:68/255. green:66/255. blue:67/255. alpha:1];
+    
+    self.infoSubTitleLabel.textColor = [KMAppearance KMColor_Layout_H0];
+    self.featureLbl.textColor = [KMAppearance KMColor_Layout_H0];
+    
+    self.nInfoLabel.textColor = [KMAppearance KMColor_Layout_H0];
+    self.featureInfoLabel1.textColor = [KMAppearance KMColor_Layout_H0];
+    self.featureInfoLabel2.textColor = [KMAppearance KMColor_Layout_H0];
+    self.featureInfoLabel3.textColor = [KMAppearance KMColor_Layout_H0];
+    self.featureInfoLabel4.textColor = [KMAppearance KMColor_Layout_H0];
+    self.featureInfoLabel5.textColor = [KMAppearance KMColor_Layout_H0];
+    
+    self.infoContendView.wantsLayer = YES;
+    self.infoContendView.layer.cornerRadius = 8;
+    self.infoContendView.layer.masksToBounds = YES;
+    
+    self.nTipView.wantsLayer = YES;
+    self.nTipView.layer.cornerRadius = 4;
+    self.nTipView.layer.masksToBounds = YES;
+    self.nTipView.layer.backgroundColor = [NSColor colorWithRed:0 green:207/255. blue:133/255. alpha:1.].CGColor;
+    
+    self.freeTrialBox.wantsLayer = YES;
+    self.freeTrialBox.cornerRadius = CGRectGetHeight(self.freeTrialBox.frame)/2.;
+    self.freeTrialButton.mouseMoveCallback = ^(BOOL mouseEntered) {
+        if ([KMAppearance isDarkMode]) {
+            if (mouseEntered) {
+                weakSelf.freeTrialBox.fillColor = [NSColor whiteColor];
+            } else {
+                weakSelf.freeTrialBox.fillColor = [NSColor colorWithRed:181/255. green:177/255. blue:239/255. alpha:1.];
+            }
+        } else {
+            if (mouseEntered) {
+                weakSelf.freeTrialBox.fillColor = [NSColor colorWithRed:0 green:207/255. blue:133/255. alpha:1.];
+            } else {
+                weakSelf.freeTrialBox.fillColor = [NSColor colorWithRed:39/255. green:60/255. blue:98/255. alpha:1.];
+            }
+        }
+    };
+    
+    self.learnMoreButton.mouseMoveCallback = ^(BOOL mouseEntered) {
+        if ([KMAppearance isDarkMode]) {
+            if (mouseEntered) {
+                [weakSelf.learnMoreButton setTitleColor:[NSColor whiteColor]];
+            } else {
+                [weakSelf.learnMoreButton setTitleColor:[NSColor colorWithRed:181/255. green:177/255. blue:239/255. alpha:1.]];
+            }
+        } else {
+            if (mouseEntered) {
+                [weakSelf.learnMoreButton setTitleColor:[NSColor colorWithRed:8/255. green:124/255. blue:255/255. alpha:1.]];
+            } else {
+                [weakSelf.learnMoreButton setTitleColor:[NSColor colorWithRed:39/255. green:60/255. blue:98/255. alpha:1.]];
+            }
+        }
+    };
+    
+    self.enterLicenseButton.mouseMoveCallback = ^(BOOL mouseEntered) {
+        if ([KMAppearance isDarkMode]) {
+            if (mouseEntered) {
+                [weakSelf.enterLicenseButton setTitleColor:[NSColor whiteColor]];
+            } else {
+                [weakSelf.enterLicenseButton setTitleColor:[NSColor colorWithRed:181/255. green:177/255. blue:239/255. alpha:1.]];
+            }
+        } else {
+            if (mouseEntered) {
+                [weakSelf.enterLicenseButton setTitleColor:[NSColor colorWithRed:8/255. green:124/255. blue:255/255. alpha:1.]];
+            } else {
+                [weakSelf.enterLicenseButton setTitleColor:[NSColor colorWithRed:39/255. green:60/255. blue:98/255. alpha:1.]];
+            }
+        }
+    };
+      
+    [NSDistributedNotificationCenter.defaultCenter addObserver:self selector:@selector(themeChanged:) name:@"AppleInterfaceThemeChangedNotification" object: nil];
+    [self updateViewColor];
+}
+
+- (void)updateViewColor {
+    if ([KMAppearance isDarkMode]) {
+        self.infoContendView.layer.backgroundColor = [NSColor colorWithRed:24/255. green:22/255. blue:31/255. alpha:0.9].CGColor;
+        self.freeTrialBox.fillColor = [NSColor colorWithRed:181/255. green:177/255. blue:239/255. alpha:1.];
+        self.nTipLabel.textColor = [NSColor colorWithRed:47/255. green:45/255. blue:54/255. alpha:1.];   
+        [self.freeTrialButton setTitleColor:[NSColor colorWithRed:7/255. green:1/255. blue:34/255. alpha:1.]];
+        [self.learnMoreButton setTitleColor:[NSColor colorWithRed:181/255. green:177/255. blue:239/255. alpha:1.]];
+        [self.enterLicenseButton setTitleColor:[NSColor colorWithRed:181/255. green:177/255. blue:239/255. alpha:1.]];
+        
+    } else {
+        self.infoContendView.layer.backgroundColor = [NSColor colorWithRed:248/255. green:249/255. blue:1 alpha:1].CGColor;
+        self.freeTrialBox.fillColor = [NSColor colorWithRed:39/255. green:60/255. blue:98/255. alpha:1.];
+        self.nTipLabel.textColor = [NSColor whiteColor];
+        [self.freeTrialButton setTitleColor:[NSColor whiteColor]];
+        [self.learnMoreButton setTitleColor:[NSColor colorWithRed:39/255. green:60/255. blue:98/255. alpha:1.]];
+        [self.enterLicenseButton setTitleColor:[NSColor colorWithRed:39/255. green:60/255. blue:98/255. alpha:1.]];
+
+    }
+
+}
+
+- (IBAction)btnAction:(id)sender {
+    if ([sender isEqual:self.freeTrialButton]) {
+        if (self.callback) {
+            self.callback(0, self);
+        }
+//        [[FMTrackEventManager manager] trackOnceEvent:@"PUW" withProperties:@{@"PUW_Btn":@"Btn_PUW_DigitalSignTrial_Start"}];
+    } else if ([sender isEqual:self.learnMoreButton]) {
+        if (self.callback) {
+            self.callback(1, self);
+        }
+//        [[FMTrackEventManager manager] trackOnceEvent:@"PUW" withProperties:@{@"PUW_Btn":@"Btn_PUW_DigitalSignTrial_LearnMore"}];
+    } else if ([sender isEqual:self.enterLicenseButton]) {
+        if (self.callback) {
+            self.callback(2, self);
+        }
+    }
+}
+
+#pragma mark - NSNotification
+- (void)themeChanged:(NSNotification *)notification {
+    dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.3 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
+        [self updateViewColor];
+    });
+}
+
+@end

+ 349 - 0
PDF Office/PDF Master/Class/Purchase/DMG/Verification/KMRepeatTrialAlertController.xib

@@ -0,0 +1,349 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="22155" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" customObjectInstantitationMethod="direct">
+    <dependencies>
+        <deployment identifier="macosx"/>
+        <plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="22155"/>
+        <capability name="Named colors" minToolsVersion="9.0"/>
+        <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
+    </dependencies>
+    <objects>
+        <customObject id="-2" userLabel="File's Owner" customClass="KMRepeatTrialAlertController">
+            <connections>
+                <outlet property="contendView" destination="lAi-j1-Nbw" id="Xu6-2C-8X2"/>
+                <outlet property="enterLicenseButton" destination="6d0-Nl-EFt" id="ZDw-kO-anc"/>
+                <outlet property="featureInfoLabel1" destination="QIA-ZA-yi2" id="HNg-3Q-jZm"/>
+                <outlet property="featureInfoLabel2" destination="btW-U6-1pE" id="wGa-nU-Ua4"/>
+                <outlet property="featureInfoLabel3" destination="UiT-Ik-Lho" id="pYM-wg-DI6"/>
+                <outlet property="featureInfoLabel4" destination="A8Z-Pp-Y8g" id="Lqu-Bp-6Bj"/>
+                <outlet property="featureInfoLabel5" destination="5Hk-IA-uc2" id="b4P-bI-dBP"/>
+                <outlet property="featureLbl" destination="Uyq-i5-BUj" id="fXU-AI-ai9"/>
+                <outlet property="freeTrialBox" destination="T7S-XM-Lyn" id="2Qb-wY-fQz"/>
+                <outlet property="freeTrialButton" destination="V0Q-QP-jTl" id="53D-fK-Zs5"/>
+                <outlet property="iconImg" destination="AgB-tY-IHT" id="Gog-1N-uFb"/>
+                <outlet property="infoContendView" destination="GZh-6N-Wcg" id="pS7-Jb-pnb"/>
+                <outlet property="infoSubTitleLabel" destination="3Y7-Ii-hFI" id="NKg-pq-sXA"/>
+                <outlet property="infoTitleLabel" destination="cD3-Xq-onD" id="Kz7-p8-R64"/>
+                <outlet property="learnMoreButton" destination="XMR-Of-K3s" id="Ah2-v1-ENk"/>
+                <outlet property="nInfoLabel" destination="2vx-cW-mLd" id="fqL-Rx-Erx"/>
+                <outlet property="nTipLabel" destination="2vB-fL-ilE" id="ZrX-Gj-jMy"/>
+                <outlet property="nTipView" destination="g5o-74-NAS" id="ING-y4-VkR"/>
+                <outlet property="titleLbl" destination="wqb-Ui-4zh" id="kom-22-g75"/>
+                <outlet property="view" destination="Hz6-mo-xeY" id="0bl-1N-x8E"/>
+            </connections>
+        </customObject>
+        <customObject id="-1" userLabel="First Responder" customClass="FirstResponder"/>
+        <customObject id="-3" userLabel="Application" customClass="NSObject"/>
+        <customView id="Hz6-mo-xeY">
+            <rect key="frame" x="0.0" y="0.0" width="850" height="464"/>
+            <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
+            <subviews>
+                <customView translatesAutoresizingMaskIntoConstraints="NO" id="lAi-j1-Nbw">
+                    <rect key="frame" x="0.0" y="0.0" width="850" height="464"/>
+                    <subviews>
+                        <imageView horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="AgB-tY-IHT">
+                            <rect key="frame" x="0.0" y="0.0" width="850" height="464"/>
+                            <imageCell key="cell" refusesFirstResponder="YES" alignment="left" imageScaling="proportionallyDown" image="repeatTrialAlert_icon" id="hK3-l1-Og1"/>
+                        </imageView>
+                        <textField focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="wqb-Ui-4zh">
+                            <rect key="frame" x="30" y="352" width="274" height="48"/>
+                            <constraints>
+                                <constraint firstAttribute="width" constant="270" id="1LP-eM-BP9"/>
+                            </constraints>
+                            <textFieldCell key="cell" alignment="left" id="OSp-Mi-yAe">
+                                <font key="font" metaFont="systemBold" size="20"/>
+                                <string key="title">Unlock PDF Reader Pro 
+All Features Now.</string>
+                                <color key="textColor" name="KMColor_Layout_H0"/>
+                                <color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
+                            </textFieldCell>
+                        </textField>
+                        <customView translatesAutoresizingMaskIntoConstraints="NO" id="GZh-6N-Wcg">
+                            <rect key="frame" x="354" y="32" width="464" height="400"/>
+                            <subviews>
+                                <textField focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="cD3-Xq-onD">
+                                    <rect key="frame" x="30" y="346" width="404" height="30"/>
+                                    <textFieldCell key="cell" lineBreakMode="clipping" title="💌 👋🏻 7-day Free Trial!" id="Zbg-eV-9iC">
+                                        <font key="font" metaFont="systemBold" size="26"/>
+                                        <color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
+                                        <color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
+                                    </textFieldCell>
+                                </textField>
+                                <textField focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="3Y7-Ii-hFI">
+                                    <rect key="frame" x="30" y="310" width="404" height="34"/>
+                                    <textFieldCell key="cell" title="You are invited to try the new feature Digital Signature, try it now will unlock all the advanced features of PDF Reader Pro!" id="QpZ-SY-8JS">
+                                        <font key="font" metaFont="system" size="14"/>
+                                        <color key="textColor" name="KMColor_Layout_H0"/>
+                                        <color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
+                                    </textFieldCell>
+                                </textField>
+                                <customView translatesAutoresizingMaskIntoConstraints="NO" id="Jmr-yS-Rq3">
+                                    <rect key="frame" x="32" y="174" width="400" height="116"/>
+                                    <subviews>
+                                        <textField focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="Uyq-i5-BUj">
+                                            <rect key="frame" x="-2" y="97" width="108" height="19"/>
+                                            <textFieldCell key="cell" title="Key Features:" id="cLa-Jo-5ar">
+                                                <font key="font" metaFont="systemSemibold" size="16"/>
+                                                <color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
+                                                <color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
+                                            </textFieldCell>
+                                        </textField>
+                                        <customView translatesAutoresizingMaskIntoConstraints="NO" id="g5o-74-NAS">
+                                            <rect key="frame" x="0.0" y="65" width="32" height="20"/>
+                                            <subviews>
+                                                <textField focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="2vB-fL-ilE">
+                                                    <rect key="frame" x="2" y="4" width="28" height="14"/>
+                                                    <textFieldCell key="cell" title="New" id="OcM-az-7Kn">
+                                                        <font key="font" metaFont="smallSystem"/>
+                                                        <color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
+                                                        <color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
+                                                    </textFieldCell>
+                                                </textField>
+                                            </subviews>
+                                            <constraints>
+                                                <constraint firstItem="2vB-fL-ilE" firstAttribute="leading" secondItem="g5o-74-NAS" secondAttribute="leading" constant="4" id="f8i-GO-J3L"/>
+                                                <constraint firstAttribute="bottom" secondItem="2vB-fL-ilE" secondAttribute="bottom" constant="4" id="fjB-T0-EQM"/>
+                                                <constraint firstItem="2vB-fL-ilE" firstAttribute="top" secondItem="g5o-74-NAS" secondAttribute="top" constant="2" id="kix-uj-xUr"/>
+                                                <constraint firstAttribute="trailing" secondItem="2vB-fL-ilE" secondAttribute="trailing" constant="4" id="rgC-WH-o3j"/>
+                                            </constraints>
+                                        </customView>
+                                        <textField focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="2vx-cW-mLd">
+                                            <rect key="frame" x="38" y="67" width="172" height="17"/>
+                                            <constraints>
+                                                <constraint firstAttribute="width" constant="168" id="CSY-0d-5wF"/>
+                                            </constraints>
+                                            <textFieldCell key="cell" title="Digital signature" id="jd8-fg-oJa">
+                                                <font key="font" metaFont="system" size="14"/>
+                                                <color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
+                                                <color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
+                                            </textFieldCell>
+                                        </textField>
+                                        <imageView horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="LXf-QY-QT0">
+                                            <rect key="frame" x="216" y="65" width="20" height="20"/>
+                                            <constraints>
+                                                <constraint firstAttribute="width" constant="20" id="1Qt-XP-SQJ"/>
+                                                <constraint firstAttribute="height" constant="20" id="8Dr-sk-zFl"/>
+                                            </constraints>
+                                            <imageCell key="cell" refusesFirstResponder="YES" alignment="left" imageScaling="proportionallyDown" image="vipSecond" id="yc5-1J-6EX"/>
+                                        </imageView>
+                                        <textField focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="QIA-ZA-yi2">
+                                            <rect key="frame" x="242" y="68" width="60" height="17"/>
+                                            <textFieldCell key="cell" title="Edit PDF" id="dVn-t3-2Gw">
+                                                <font key="font" metaFont="system" size="14"/>
+                                                <color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
+                                                <color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
+                                            </textFieldCell>
+                                        </textField>
+                                        <imageView horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="LIG-I2-b5M">
+                                            <rect key="frame" x="0.0" y="36" width="20" height="20"/>
+                                            <constraints>
+                                                <constraint firstAttribute="width" constant="20" id="M1T-Ky-5J8"/>
+                                                <constraint firstAttribute="height" constant="20" id="iPW-5c-6Ou"/>
+                                            </constraints>
+                                            <imageCell key="cell" refusesFirstResponder="YES" alignment="left" imageScaling="proportionallyDown" image="vipSecond" id="TcT-ks-yS7"/>
+                                        </imageView>
+                                        <textField focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="btW-U6-1pE">
+                                            <rect key="frame" x="26" y="39" width="184" height="17"/>
+                                            <constraints>
+                                                <constraint firstAttribute="width" constant="180" id="c69-bE-FJP"/>
+                                            </constraints>
+                                            <textFieldCell key="cell" title="Organize pages" id="dsN-s1-MjZ">
+                                                <font key="font" metaFont="system" size="14"/>
+                                                <color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
+                                                <color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
+                                            </textFieldCell>
+                                        </textField>
+                                        <imageView horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="nud-bG-zDt">
+                                            <rect key="frame" x="216" y="36" width="20" height="20"/>
+                                            <constraints>
+                                                <constraint firstAttribute="height" constant="20" id="IW2-pJ-qD0"/>
+                                                <constraint firstAttribute="width" constant="20" id="h62-CC-UiI"/>
+                                            </constraints>
+                                            <imageCell key="cell" refusesFirstResponder="YES" alignment="left" imageScaling="proportionallyDown" image="vipSecond" id="vl4-ES-gux"/>
+                                        </imageView>
+                                        <textField focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="UiT-Ik-Lho">
+                                            <rect key="frame" x="242" y="39" width="86" height="17"/>
+                                            <textFieldCell key="cell" title="Convert PDF" id="qba-e1-Kvv">
+                                                <font key="font" metaFont="system" size="14"/>
+                                                <color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
+                                                <color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
+                                            </textFieldCell>
+                                        </textField>
+                                        <imageView horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="kp6-GK-1bT">
+                                            <rect key="frame" x="0.0" y="7" width="20" height="20"/>
+                                            <constraints>
+                                                <constraint firstAttribute="width" constant="20" id="F8z-xO-Owx"/>
+                                                <constraint firstAttribute="height" constant="20" id="ueZ-2g-F5C"/>
+                                            </constraints>
+                                            <imageCell key="cell" refusesFirstResponder="YES" alignment="left" imageScaling="proportionallyDown" image="vipSecond" id="E8z-gq-FPX"/>
+                                        </imageView>
+                                        <textField focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="A8Z-Pp-Y8g">
+                                            <rect key="frame" x="26" y="10" width="184" height="17"/>
+                                            <constraints>
+                                                <constraint firstAttribute="width" constant="180" id="nkJ-xs-EO5"/>
+                                            </constraints>
+                                            <textFieldCell key="cell" title="Create &amp; fill form" id="qB4-CI-JVd">
+                                                <font key="font" metaFont="system" size="14"/>
+                                                <color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
+                                                <color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
+                                            </textFieldCell>
+                                        </textField>
+                                        <imageView horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="tqq-K3-pBl">
+                                            <rect key="frame" x="216" y="7" width="20" height="20"/>
+                                            <constraints>
+                                                <constraint firstAttribute="width" constant="20" id="O3f-Ho-4bL"/>
+                                                <constraint firstAttribute="height" constant="20" id="mft-c5-hai"/>
+                                            </constraints>
+                                            <imageCell key="cell" refusesFirstResponder="YES" alignment="left" imageScaling="proportionallyDown" image="vipSecond" id="vvC-AO-koI"/>
+                                        </imageView>
+                                        <textField focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="5Hk-IA-uc2">
+                                            <rect key="frame" x="242" y="10" width="34" height="17"/>
+                                            <textFieldCell key="cell" title="OCR" id="SBN-eN-d4k">
+                                                <font key="font" metaFont="system" size="14"/>
+                                                <color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
+                                                <color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
+                                            </textFieldCell>
+                                        </textField>
+                                    </subviews>
+                                    <constraints>
+                                        <constraint firstItem="nud-bG-zDt" firstAttribute="centerX" secondItem="LXf-QY-QT0" secondAttribute="centerX" id="2Gd-MA-vfG"/>
+                                        <constraint firstAttribute="bottom" secondItem="5Hk-IA-uc2" secondAttribute="bottom" constant="10" id="2Nx-N0-cA9"/>
+                                        <constraint firstItem="LIG-I2-b5M" firstAttribute="leading" secondItem="Jmr-yS-Rq3" secondAttribute="leading" id="44O-WV-8Nl"/>
+                                        <constraint firstItem="LIG-I2-b5M" firstAttribute="top" secondItem="QIA-ZA-yi2" secondAttribute="bottom" constant="12" id="4jB-eR-nft"/>
+                                        <constraint firstItem="tqq-K3-pBl" firstAttribute="centerX" secondItem="nud-bG-zDt" secondAttribute="centerX" id="9AJ-0X-HMb"/>
+                                        <constraint firstItem="Uyq-i5-BUj" firstAttribute="top" secondItem="Jmr-yS-Rq3" secondAttribute="top" id="Bcn-iI-uCT"/>
+                                        <constraint firstItem="btW-U6-1pE" firstAttribute="leading" secondItem="LIG-I2-b5M" secondAttribute="trailing" constant="8" id="CkA-5x-6T3"/>
+                                        <constraint firstItem="btW-U6-1pE" firstAttribute="top" secondItem="LIG-I2-b5M" secondAttribute="top" id="Cyt-ib-sdc"/>
+                                        <constraint firstItem="Uyq-i5-BUj" firstAttribute="leading" secondItem="Jmr-yS-Rq3" secondAttribute="leading" id="EOR-pD-TFB"/>
+                                        <constraint firstItem="5Hk-IA-uc2" firstAttribute="top" secondItem="tqq-K3-pBl" secondAttribute="top" id="GDr-e8-8y1"/>
+                                        <constraint firstAttribute="trailing" relation="greaterThanOrEqual" secondItem="5Hk-IA-uc2" secondAttribute="trailing" id="JM9-cc-j2a"/>
+                                        <constraint firstItem="LXf-QY-QT0" firstAttribute="centerY" secondItem="g5o-74-NAS" secondAttribute="centerY" id="JTp-VI-fvm"/>
+                                        <constraint firstItem="UiT-Ik-Lho" firstAttribute="top" secondItem="nud-bG-zDt" secondAttribute="top" id="MaM-pl-7NA"/>
+                                        <constraint firstItem="kp6-GK-1bT" firstAttribute="top" secondItem="UiT-Ik-Lho" secondAttribute="bottom" constant="12" id="RIy-Pr-wFr"/>
+                                        <constraint firstAttribute="trailing" relation="greaterThanOrEqual" secondItem="UiT-Ik-Lho" secondAttribute="trailing" id="Rhe-8r-0v8"/>
+                                        <constraint firstItem="UiT-Ik-Lho" firstAttribute="leading" secondItem="nud-bG-zDt" secondAttribute="trailing" constant="8" id="T4D-F7-mbh"/>
+                                        <constraint firstItem="2vx-cW-mLd" firstAttribute="centerY" secondItem="g5o-74-NAS" secondAttribute="centerY" id="Ykg-lJ-g6G"/>
+                                        <constraint firstItem="A8Z-Pp-Y8g" firstAttribute="top" secondItem="kp6-GK-1bT" secondAttribute="top" id="Z6l-KX-yqp"/>
+                                        <constraint firstItem="5Hk-IA-uc2" firstAttribute="leading" secondItem="tqq-K3-pBl" secondAttribute="trailing" constant="8" id="b4K-SW-EDL"/>
+                                        <constraint firstItem="kp6-GK-1bT" firstAttribute="leading" secondItem="Jmr-yS-Rq3" secondAttribute="leading" id="d8z-co-DRz"/>
+                                        <constraint firstItem="2vx-cW-mLd" firstAttribute="leading" secondItem="g5o-74-NAS" secondAttribute="trailing" constant="8" id="h7c-yR-Yhm"/>
+                                        <constraint firstItem="A8Z-Pp-Y8g" firstAttribute="leading" secondItem="kp6-GK-1bT" secondAttribute="trailing" constant="8" id="jXF-10-Hx8"/>
+                                        <constraint firstItem="g5o-74-NAS" firstAttribute="leading" secondItem="Jmr-yS-Rq3" secondAttribute="leading" id="lLA-tv-VN1"/>
+                                        <constraint firstItem="nud-bG-zDt" firstAttribute="centerY" secondItem="LIG-I2-b5M" secondAttribute="centerY" id="mML-VR-Vfg"/>
+                                        <constraint firstItem="tqq-K3-pBl" firstAttribute="centerY" secondItem="kp6-GK-1bT" secondAttribute="centerY" id="pPY-cN-u7r"/>
+                                        <constraint firstItem="QIA-ZA-yi2" firstAttribute="top" secondItem="LXf-QY-QT0" secondAttribute="top" id="tL4-go-MSz"/>
+                                        <constraint firstAttribute="trailing" relation="greaterThanOrEqual" secondItem="QIA-ZA-yi2" secondAttribute="trailing" id="udR-O1-RYo"/>
+                                        <constraint firstItem="LXf-QY-QT0" firstAttribute="leading" secondItem="2vx-cW-mLd" secondAttribute="trailing" constant="8" id="wr9-gk-H6m"/>
+                                        <constraint firstItem="QIA-ZA-yi2" firstAttribute="leading" secondItem="LXf-QY-QT0" secondAttribute="trailing" constant="8" id="wth-Vr-AtT"/>
+                                        <constraint firstItem="g5o-74-NAS" firstAttribute="top" secondItem="Uyq-i5-BUj" secondAttribute="bottom" constant="12" id="xn8-Fa-pYX"/>
+                                    </constraints>
+                                </customView>
+                                <box boxType="custom" borderType="none" borderWidth="0.0" title="Box" translatesAutoresizingMaskIntoConstraints="NO" id="T7S-XM-Lyn">
+                                    <rect key="frame" x="112" y="53" width="240" height="48"/>
+                                    <view key="contentView" id="ZVm-nS-OJB">
+                                        <rect key="frame" x="0.0" y="0.0" width="240" height="48"/>
+                                        <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
+                                        <subviews>
+                                            <button focusRingType="none" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="V0Q-QP-jTl" customClass="KMButton">
+                                                <rect key="frame" x="0.0" y="0.0" width="240" height="48"/>
+                                                <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
+                                                <buttonCell key="cell" type="bevel" title="Free Trial" bezelStyle="rounded" imagePosition="overlaps" alignment="center" focusRingType="none" imageScaling="axesIndependently" inset="2" id="Z52-G1-csD">
+                                                    <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
+                                                    <font key="font" metaFont="system" size="16"/>
+                                                </buttonCell>
+                                                <connections>
+                                                    <action selector="btnAction:" target="-2" id="KEr-Sk-7b9"/>
+                                                </connections>
+                                            </button>
+                                        </subviews>
+                                    </view>
+                                    <constraints>
+                                        <constraint firstAttribute="width" constant="240" id="Wbl-xK-Mkt"/>
+                                        <constraint firstAttribute="height" constant="48" id="hWV-Hd-jKD"/>
+                                    </constraints>
+                                    <color key="fillColor" red="1" green="0.36862745099999999" blue="0.17254901959999999" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
+                                    <font key="titleFont" metaFont="smallSystem"/>
+                                </box>
+                                <customView translatesAutoresizingMaskIntoConstraints="NO" id="cPV-Xx-Jb9">
+                                    <rect key="frame" x="140" y="13" width="184" height="20"/>
+                                    <subviews>
+                                        <button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="XMR-Of-K3s" customClass="HyperLinkButton">
+                                            <rect key="frame" x="0.0" y="0.0" width="73" height="20"/>
+                                            <buttonCell key="cell" type="bevel" title="Learn More" bezelStyle="rounded" alignment="left" controlSize="mini" imageScaling="proportionallyDown" inset="2" id="bNu-jX-B88">
+                                                <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
+                                                <font key="font" metaFont="system"/>
+                                            </buttonCell>
+                                            <connections>
+                                                <action selector="btnAction:" target="-2" id="Osr-Dj-Fei"/>
+                                            </connections>
+                                        </button>
+                                        <button focusRingType="none" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="6d0-Nl-EFt" customClass="HyperLinkButton">
+                                            <rect key="frame" x="97" y="0.0" width="87" height="20"/>
+                                            <buttonCell key="cell" type="bevel" title="Enter License" bezelStyle="rounded" alignment="left" controlSize="mini" focusRingType="none" imageScaling="proportionallyDown" inset="2" id="xm1-pp-4tD">
+                                                <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
+                                                <font key="font" metaFont="system"/>
+                                            </buttonCell>
+                                            <connections>
+                                                <action selector="btnAction:" target="-2" id="Z5f-u6-wI8"/>
+                                            </connections>
+                                        </button>
+                                    </subviews>
+                                    <constraints>
+                                        <constraint firstAttribute="bottom" secondItem="XMR-Of-K3s" secondAttribute="bottom" id="4ZB-Tz-xIK"/>
+                                        <constraint firstAttribute="trailing" secondItem="6d0-Nl-EFt" secondAttribute="trailing" id="7vb-5w-dYT"/>
+                                        <constraint firstItem="XMR-Of-K3s" firstAttribute="leading" secondItem="cPV-Xx-Jb9" secondAttribute="leading" id="bNx-Zr-noP"/>
+                                        <constraint firstAttribute="bottom" secondItem="6d0-Nl-EFt" secondAttribute="bottom" id="cIO-X9-jPe"/>
+                                        <constraint firstItem="XMR-Of-K3s" firstAttribute="top" secondItem="cPV-Xx-Jb9" secondAttribute="top" id="ezS-Pj-qSP"/>
+                                        <constraint firstItem="6d0-Nl-EFt" firstAttribute="leading" secondItem="XMR-Of-K3s" secondAttribute="trailing" constant="24" id="hzV-65-Kl0"/>
+                                        <constraint firstAttribute="height" constant="20" id="jA5-89-YhV"/>
+                                        <constraint firstItem="6d0-Nl-EFt" firstAttribute="top" secondItem="cPV-Xx-Jb9" secondAttribute="top" id="sd2-I6-ym7"/>
+                                    </constraints>
+                                </customView>
+                            </subviews>
+                            <constraints>
+                                <constraint firstAttribute="trailing" secondItem="3Y7-Ii-hFI" secondAttribute="trailing" constant="32" id="0jp-kd-n7Z"/>
+                                <constraint firstItem="cD3-Xq-onD" firstAttribute="leading" secondItem="GZh-6N-Wcg" secondAttribute="leading" constant="32" id="2qL-7P-Ocf"/>
+                                <constraint firstItem="Jmr-yS-Rq3" firstAttribute="leading" secondItem="GZh-6N-Wcg" secondAttribute="leading" constant="32" id="9ll-kj-ohW"/>
+                                <constraint firstAttribute="trailing" secondItem="cD3-Xq-onD" secondAttribute="trailing" constant="32" id="Iie-jz-uDb"/>
+                                <constraint firstItem="T7S-XM-Lyn" firstAttribute="centerX" secondItem="GZh-6N-Wcg" secondAttribute="centerX" id="QBW-2X-69p"/>
+                                <constraint firstItem="3Y7-Ii-hFI" firstAttribute="leading" secondItem="GZh-6N-Wcg" secondAttribute="leading" constant="32" id="RSf-zV-HAJ"/>
+                                <constraint firstItem="cD3-Xq-onD" firstAttribute="top" secondItem="GZh-6N-Wcg" secondAttribute="top" constant="24" id="SA8-Hp-DYi"/>
+                                <constraint firstAttribute="width" constant="464" id="fkV-6b-txF"/>
+                                <constraint firstAttribute="bottom" secondItem="T7S-XM-Lyn" secondAttribute="bottom" constant="53" id="i0T-gq-Rjo"/>
+                                <constraint firstAttribute="trailing" secondItem="Jmr-yS-Rq3" secondAttribute="trailing" constant="32" id="kqd-3C-5rX"/>
+                                <constraint firstItem="3Y7-Ii-hFI" firstAttribute="top" secondItem="cD3-Xq-onD" secondAttribute="bottom" constant="2" id="ly6-Eg-YmR"/>
+                                <constraint firstItem="cPV-Xx-Jb9" firstAttribute="centerX" secondItem="T7S-XM-Lyn" secondAttribute="centerX" id="q1x-qo-LZ7"/>
+                                <constraint firstItem="cPV-Xx-Jb9" firstAttribute="top" secondItem="T7S-XM-Lyn" secondAttribute="bottom" constant="20" id="qsJ-iA-56J"/>
+                                <constraint firstAttribute="height" constant="400" id="uKJ-ns-lEW"/>
+                                <constraint firstItem="Jmr-yS-Rq3" firstAttribute="top" secondItem="3Y7-Ii-hFI" secondAttribute="bottom" constant="20" id="wbR-LU-uIj"/>
+                            </constraints>
+                        </customView>
+                    </subviews>
+                    <constraints>
+                        <constraint firstItem="AgB-tY-IHT" firstAttribute="leading" secondItem="lAi-j1-Nbw" secondAttribute="leading" id="47C-nr-5Hc"/>
+                        <constraint firstAttribute="bottom" secondItem="AgB-tY-IHT" secondAttribute="bottom" id="Dro-f2-w1E"/>
+                        <constraint firstItem="GZh-6N-Wcg" firstAttribute="top" secondItem="lAi-j1-Nbw" secondAttribute="top" constant="32" id="HjX-yt-EKP"/>
+                        <constraint firstAttribute="trailing" secondItem="AgB-tY-IHT" secondAttribute="trailing" id="Io0-4c-kTn"/>
+                        <constraint firstItem="wqb-Ui-4zh" firstAttribute="top" secondItem="lAi-j1-Nbw" secondAttribute="top" constant="64" id="KcS-RD-Bzm"/>
+                        <constraint firstItem="AgB-tY-IHT" firstAttribute="top" secondItem="lAi-j1-Nbw" secondAttribute="top" id="Kvi-xm-JUR"/>
+                        <constraint firstItem="wqb-Ui-4zh" firstAttribute="leading" secondItem="lAi-j1-Nbw" secondAttribute="leading" constant="32" id="LAe-1u-j6p"/>
+                        <constraint firstAttribute="trailing" secondItem="GZh-6N-Wcg" secondAttribute="trailing" constant="32" id="RQe-Oc-QXo"/>
+                    </constraints>
+                </customView>
+            </subviews>
+            <constraints>
+                <constraint firstItem="lAi-j1-Nbw" firstAttribute="leading" secondItem="Hz6-mo-xeY" secondAttribute="leading" id="EwD-xJ-c8h"/>
+                <constraint firstAttribute="bottom" secondItem="lAi-j1-Nbw" secondAttribute="bottom" id="GEl-Ds-y6S"/>
+                <constraint firstAttribute="trailing" secondItem="lAi-j1-Nbw" secondAttribute="trailing" id="N2b-6B-QCh"/>
+                <constraint firstItem="lAi-j1-Nbw" firstAttribute="top" secondItem="Hz6-mo-xeY" secondAttribute="top" id="fux-yk-wF7"/>
+            </constraints>
+            <point key="canvasLocation" x="-7" y="115"/>
+        </customView>
+    </objects>
+    <resources>
+        <image name="repeatTrialAlert_icon" width="850" height="464"/>
+        <image name="vipSecond" width="20" height="20"/>
+        <namedColor name="KMColor_Layout_H0">
+            <color red="0.054901960784313725" green="0.066666666666666666" blue="0.078431372549019607" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
+        </namedColor>
+    </resources>
+</document>

+ 0 - 2
PDF Office/PDF Master/Class/Purchase/DMG/Verification/KMRepeatVerifyExpireController.m

@@ -6,8 +6,6 @@
 //
 
 #import "KMRepeatVerifyExpireController.h"
-//#import "KMCustomButton.h"
-//#import "NSButton+TitleColor.h"
 #import "PDF_Master-Bridging-Header.h"
 #if VERSION_DMG
 #import <PDF_Master-Swift.h>

+ 25 - 0
PDF Office/PDF Master/Class/Purchase/DMG/Verification/KMUnlockAlertViewController.h

@@ -0,0 +1,25 @@
+//
+//  KMUnlockAlertViewController.h
+//  PDF Reader Pro Edition
+//
+//  Created by Niehaoyu on 2023/4/3.
+//
+
+#import <Cocoa/Cocoa.h>
+
+NS_ASSUME_NONNULL_BEGIN
+
+@interface KMUnlockAlertViewController : NSViewController
+
+@property (nonatomic,copy) void (^callback) (NSInteger index);
+
+@property (nonatomic,copy) void (^mouseEventCall) (BOOL mouseEnter);
+
+
+- (void)addtrackingAreaInfo;
+- (void)removeTrackingAreaInfo;
+
+
+@end
+
+NS_ASSUME_NONNULL_END

+ 169 - 0
PDF Office/PDF Master/Class/Purchase/DMG/Verification/KMUnlockAlertViewController.m

@@ -0,0 +1,169 @@
+//
+//  KMUnlockAlertViewController.m
+//  PDF Reader Pro Edition
+//
+//  Created by Niehaoyu on 2023/4/3.
+//
+
+#import "KMUnlockAlertViewController.h"
+#import "PDF_Master-Bridging-Header.h"
+#if VERSION_DMG
+#import <PDF_Master-Swift.h>
+#else
+#import <PDF_Master-Swift.h>
+#endif
+
+//#import "VerificationManager.h"
+
+@interface KMUnlockAlertViewController ()
+
+@property (assign) IBOutlet NSTextField *titleLbl;
+@property (assign) IBOutlet NSTextField *subTitleLbl;
+
+@property (assign) IBOutlet NSView *desView1;
+
+@property (assign) IBOutlet NSImageView *desImg1;
+@property (assign) IBOutlet NSTextField *deslbl1;
+@property (assign) IBOutlet NSImageView *desImg2;
+@property (assign) IBOutlet NSTextField *desLbl2;
+@property (assign) IBOutlet NSImageView *desImg3;
+@property (assign) IBOutlet NSTextField *desLbl3;
+@property (assign) IBOutlet NSImageView *desImg4;
+@property (assign) IBOutlet NSTextField *desLbl4;
+@property (assign) IBOutlet NSImageView *desImg5;
+@property (assign) IBOutlet NSTextField *desLbl5;
+
+@property (assign) IBOutlet HyperLinkButton *continueButton;
+
+@property (assign) IBOutlet NSBox *buyNowBox;
+@property (assign) IBOutlet KMCustomButton *buyNowButton;
+
+@property (nonatomic, retain) NSTrackingArea *trackingArea;
+
+@end
+
+@implementation KMUnlockAlertViewController
+
+- (void)dealloc {
+    if (self.trackingArea) {
+        [self.view removeTrackingArea:self.trackingArea];
+    }
+}
+
+- (void)viewDidLoad {
+    [super viewDidLoad];
+    // Do view setup here.
+    
+    self.titleLbl.font = [NSFont boldSystemFontOfSize:18.];
+    self.subTitleLbl.font = [NSFont systemFontOfSize:11.];
+    self.deslbl1.font = self.desLbl2.font = self.desLbl3.font = self.desLbl4.font = self.desLbl5.font = [NSFont systemFontOfSize:13.];
+    
+    self.titleLbl.stringValue = NSLocalizedString(@"Unlock All Advanced Features", nil);
+    
+    self.deslbl1.stringValue = NSLocalizedString(@"Convert PDF from/to Word/Excel/PPT/HTML/Image, etc.", nil);
+    self.desLbl2.stringValue = NSLocalizedString(@"Edit and Modify Texts in PDFs", nil);
+    self.desLbl3.stringValue = NSLocalizedString(@"Organize pages", nil);
+    self.desLbl4.stringValue = NSLocalizedString(@"Optical Character Recognition (OCR)", nil);
+    self.desLbl5.stringValue = NSLocalizedString(@"Create&Fill Forms, digital sign PDFs", nil);
+    
+    __block typeof(self) blockSelf = self;
+   
+    self.buyNowBox.wantsLayer = YES;
+    self.buyNowBox.layer.cornerRadius = CGRectGetHeight(self.buyNowBox.frame)/2.0;
+    self.buyNowBox.layer.masksToBounds = YES;
+    
+    self.buyNowButton.wantsLayer = YES;
+    self.buyNowButton.title = NSLocalizedString(@"Buy Now", nil);
+    [self.buyNowButton setTitleColor:[NSColor whiteColor]];
+    self.buyNowButton.mouseMoveCallback = ^(BOOL mouseEntered) {
+        if (mouseEntered) {
+            blockSelf.buyNowButton.layer.backgroundColor = [NSColor colorWithRed:0 green:0 blue:0 alpha:0.15].CGColor;
+        } else {
+            blockSelf.buyNowButton.layer.backgroundColor = [NSColor clearColor].CGColor;
+        }
+    };
+    
+    self.continueButton.wantsLayer = YES;
+    self.continueButton.layer.masksToBounds = YES;
+    self.continueButton.layer.cornerRadius = 1.0;
+    self.continueButton.title = NSLocalizedString(@"Enter License", nil);
+    [self.continueButton setTitleColor:[NSColor colorWithRed:39/255. green:60/255. blue:98/255. alpha:1]];
+    if ([KMAppearance isDarkMode]) {
+        [self.continueButton setTitleColor:[NSColor whiteColor]];
+    }
+    self.continueButton.mouseMoveCallback = ^(BOOL mouseEntered) {
+        if ([KMAppearance isDarkMode]) {
+            if (mouseEntered) {
+                [blockSelf.continueButton setTitleColor:[NSColor whiteColor]];
+            } else {
+                [blockSelf.continueButton setTitleColor:[NSColor whiteColor]];
+            }
+        } else {
+            if (mouseEntered) {
+                [blockSelf.continueButton setTitleColor:[NSColor colorWithRed:8/255. green:124/255. blue:255/255. alpha:1.]];
+            } else {
+                [blockSelf.continueButton setTitleColor:[NSColor colorWithRed:39/255. green:60/255. blue:98/255. alpha:1.]];
+            }
+        }
+    };
+    
+    self.subTitleLbl.stringValue = NSLocalizedString(@"Upgrade PDF Reader Pro to enjoy the full functions.", nil);
+    if ([KMAppearance isDarkMode]) {
+        self.subTitleLbl.textColor = [KMAppearance KMColor_Layout_W70];
+    } else {
+        self.subTitleLbl.textColor = [KMAppearance KMColor_Layout_H2];
+    }
+//    if (ActivityStatusTrialExpire == [VerificationManager manager].status &&
+//        [VerificationManager manager].secondTrialEnabled == false) {
+//        self.subTitleLbl.stringValue = NSLocalizedString(@"Free trial expired. Upgrade PDF Reader Pro to enjoy the full functions.", nil);
+//        self.subTitleLbl.textColor = [KMAppearance KMColor_Status_Err];
+//    }
+    
+    self.titleLbl.textColor = [KMAppearance KMColor_Layout_H0];
+    self.deslbl1.textColor = self.desLbl2.textColor = self.desLbl3.textColor = self.desLbl4.textColor = self.desLbl5.textColor = [KMAppearance KMColor_Layout_H0];
+
+}
+
+- (void)addtrackingAreaInfo {
+    if (!self.trackingArea) {
+        self.trackingArea = [[NSTrackingArea alloc] initWithRect:self.view.bounds options:NSTrackingMouseEnteredAndExited | NSTrackingInVisibleRect | NSTrackingActiveAlways  owner:self userInfo:nil];
+    }
+    [self.view addTrackingArea:self.trackingArea];
+}
+
+- (void)removeTrackingAreaInfo {
+    if (self.trackingArea) {
+        [self.view removeTrackingArea:self.trackingArea];
+    }
+}
+
+#pragma mark - IBAction
+- (IBAction)continueAction:(id)sender {
+    if (self.callback) {
+        self.callback(1);
+    }
+}
+
+- (IBAction)buynowAction:(id)sender {
+    if (self.callback) {
+        self.callback(2);
+    }
+}
+
+- (void)mouseEntered:(NSEvent *)event {
+    [super mouseEntered:event];
+    
+    if (self.mouseEventCall) {
+        self.mouseEventCall(YES);
+    }
+}
+
+- (void)mouseExited:(NSEvent *)event {
+    [super mouseExited:event];
+    
+    if (self.mouseEventCall) {
+        self.mouseEventCall(NO);
+    }
+}
+
+@end

+ 276 - 0
PDF Office/PDF Master/Class/Purchase/DMG/Verification/KMUnlockAlertViewController.xib

@@ -0,0 +1,276 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="22505" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" customObjectInstantitationMethod="direct">
+    <dependencies>
+        <deployment identifier="macosx"/>
+        <plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="22505"/>
+        <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
+    </dependencies>
+    <objects>
+        <customObject id="-2" userLabel="File's Owner" customClass="KMUnlockAlertViewController">
+            <connections>
+                <outlet property="buyNowBox" destination="QHQ-Mb-gkO" id="VQO-QL-UwN"/>
+                <outlet property="buyNowButton" destination="lE4-81-xYK" id="L2C-9z-0Tr"/>
+                <outlet property="continueButton" destination="8d0-eC-qli" id="56m-Ul-W7W"/>
+                <outlet property="desImg1" destination="yy8-C3-9C9" id="VPZ-Av-OH7"/>
+                <outlet property="desImg2" destination="hby-ua-U8S" id="5PT-eu-guS"/>
+                <outlet property="desImg3" destination="nHw-28-HzQ" id="9YS-mr-rot"/>
+                <outlet property="desImg4" destination="PeM-fC-JMe" id="RiI-d8-Xd3"/>
+                <outlet property="desImg5" destination="NSg-WW-EIS" id="bB0-kj-Aym"/>
+                <outlet property="desLbl2" destination="jtW-zy-ken" id="Em6-TD-QxF"/>
+                <outlet property="desLbl3" destination="hIG-hJ-uDG" id="wwI-eQ-hMR"/>
+                <outlet property="desLbl4" destination="w7S-4c-gO4" id="yuC-Fc-QrT"/>
+                <outlet property="desLbl5" destination="0uQ-qA-kZD" id="RkZ-Rd-NjV"/>
+                <outlet property="desView1" destination="AMD-Kb-qjA" id="0S6-WE-In9"/>
+                <outlet property="deslbl1" destination="kcW-E1-u1K" id="iKf-kd-wTN"/>
+                <outlet property="subTitleLbl" destination="2hO-0K-1XB" id="BeD-8A-dAd"/>
+                <outlet property="titleLbl" destination="RxA-Mc-Qbg" id="FEk-kK-ZCh"/>
+                <outlet property="view" destination="Hz6-mo-xeY" id="0bl-1N-x8E"/>
+            </connections>
+        </customObject>
+        <customObject id="-1" userLabel="First Responder" customClass="FirstResponder"/>
+        <customObject id="-3" userLabel="Application" customClass="NSObject"/>
+        <customView id="Hz6-mo-xeY">
+            <rect key="frame" x="0.0" y="0.0" width="330" height="408"/>
+            <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
+            <subviews>
+                <customView translatesAutoresizingMaskIntoConstraints="NO" id="2ud-hf-tSy">
+                    <rect key="frame" x="0.0" y="0.0" width="330" height="408"/>
+                    <subviews>
+                        <textField focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" allowsExpansionToolTips="YES" translatesAutoresizingMaskIntoConstraints="NO" id="RxA-Mc-Qbg">
+                            <rect key="frame" x="-2" y="372" width="334" height="16"/>
+                            <constraints>
+                                <constraint firstAttribute="width" constant="330" id="tyg-af-icz"/>
+                            </constraints>
+                            <textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" alignment="center" title="Successful activation!" id="YYS-vj-bvR">
+                                <font key="font" metaFont="systemBold"/>
+                                <color key="textColor" red="0.20000000000000001" green="0.20000000000000001" blue="0.20000000000000001" alpha="1" colorSpace="calibratedRGB"/>
+                                <color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
+                            </textFieldCell>
+                        </textField>
+                        <textField focusRingType="none" verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" translatesAutoresizingMaskIntoConstraints="NO" id="2hO-0K-1XB">
+                            <rect key="frame" x="18" y="340" width="294" height="28"/>
+                            <textFieldCell key="cell" sendsActionOnEndEditing="YES" alignment="center" title="Enjoy all features to annotate and edit PDF for the next 7 days." id="e2Y-zf-Qqx">
+                                <font key="font" metaFont="smallSystem"/>
+                                <color key="textColor" red="0.59999999999999998" green="0.59999999999999998" blue="0.59999999999999998" alpha="1" colorSpace="calibratedRGB"/>
+                                <color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
+                            </textFieldCell>
+                        </textField>
+                        <customView translatesAutoresizingMaskIntoConstraints="NO" id="AMD-Kb-qjA">
+                            <rect key="frame" x="36" y="284" width="258" height="32"/>
+                            <subviews>
+                                <imageView horizontalHuggingPriority="251" verticalHuggingPriority="251" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="yy8-C3-9C9">
+                                    <rect key="frame" x="0.0" y="0.0" width="32" height="32"/>
+                                    <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
+                                    <imageCell key="cell" refusesFirstResponder="YES" alignment="left" imageScaling="proportionallyDown" image="pic_Convert" id="fNL-t3-MfO"/>
+                                </imageView>
+                                <textField focusRingType="none" verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" translatesAutoresizingMaskIntoConstraints="NO" id="kcW-E1-u1K">
+                                    <rect key="frame" x="42" y="2" width="218" height="28"/>
+                                    <textFieldCell key="cell" sendsActionOnEndEditing="YES" alignment="left" title="Enjoy all features to annotate and edit PDF for the next 7 days." id="eUP-vy-tAX">
+                                        <font key="font" metaFont="smallSystem"/>
+                                        <color key="textColor" red="0.59999999999999998" green="0.59999999999999998" blue="0.59999999999999998" alpha="1" colorSpace="calibratedRGB"/>
+                                        <color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
+                                    </textFieldCell>
+                                </textField>
+                            </subviews>
+                            <constraints>
+                                <constraint firstItem="kcW-E1-u1K" firstAttribute="centerY" secondItem="AMD-Kb-qjA" secondAttribute="centerY" id="D6p-ff-6c9"/>
+                                <constraint firstAttribute="height" constant="32" id="IgH-o3-yCK"/>
+                                <constraint firstAttribute="width" constant="258" id="Rtc-zb-pMe"/>
+                                <constraint firstItem="kcW-E1-u1K" firstAttribute="leading" secondItem="AMD-Kb-qjA" secondAttribute="leading" constant="44" id="SyS-vS-SYY"/>
+                                <constraint firstAttribute="trailing" relation="greaterThanOrEqual" secondItem="kcW-E1-u1K" secondAttribute="trailing" id="xdB-Ei-Uec"/>
+                            </constraints>
+                        </customView>
+                        <customView translatesAutoresizingMaskIntoConstraints="NO" id="5Vp-Gf-FH1">
+                            <rect key="frame" x="36" y="240" width="258" height="32"/>
+                            <subviews>
+                                <imageView horizontalHuggingPriority="251" verticalHuggingPriority="251" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="hby-ua-U8S">
+                                    <rect key="frame" x="0.0" y="0.0" width="32" height="32"/>
+                                    <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
+                                    <imageCell key="cell" refusesFirstResponder="YES" alignment="left" imageScaling="proportionallyDown" image="pic_Edit" id="eTF-nS-5Ed"/>
+                                </imageView>
+                                <textField focusRingType="none" verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" translatesAutoresizingMaskIntoConstraints="NO" id="jtW-zy-ken">
+                                    <rect key="frame" x="42" y="2" width="218" height="28"/>
+                                    <textFieldCell key="cell" sendsActionOnEndEditing="YES" alignment="left" title="Enjoy all features to annotate and edit PDF for the next 7 days." id="e3I-Jn-fJb">
+                                        <font key="font" metaFont="smallSystem"/>
+                                        <color key="textColor" red="0.59999999999999998" green="0.59999999999999998" blue="0.59999999999999998" alpha="1" colorSpace="calibratedRGB"/>
+                                        <color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
+                                    </textFieldCell>
+                                </textField>
+                            </subviews>
+                            <constraints>
+                                <constraint firstAttribute="trailing" relation="greaterThanOrEqual" secondItem="jtW-zy-ken" secondAttribute="trailing" id="MEd-l7-s6q"/>
+                                <constraint firstItem="jtW-zy-ken" firstAttribute="centerY" secondItem="5Vp-Gf-FH1" secondAttribute="centerY" id="Sgb-os-8Yf"/>
+                                <constraint firstItem="jtW-zy-ken" firstAttribute="leading" secondItem="5Vp-Gf-FH1" secondAttribute="leading" constant="44" id="UdE-eX-zym"/>
+                                <constraint firstAttribute="height" constant="32" id="VSS-YS-qhi"/>
+                                <constraint firstAttribute="width" constant="258" id="wAW-El-Xxl"/>
+                            </constraints>
+                        </customView>
+                        <customView translatesAutoresizingMaskIntoConstraints="NO" id="fUR-D5-9lA">
+                            <rect key="frame" x="36" y="196" width="258" height="32"/>
+                            <subviews>
+                                <imageView horizontalHuggingPriority="251" verticalHuggingPriority="251" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="nHw-28-HzQ">
+                                    <rect key="frame" x="0.0" y="0.0" width="32" height="32"/>
+                                    <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
+                                    <imageCell key="cell" refusesFirstResponder="YES" alignment="left" imageScaling="proportionallyDown" image="ic_organizePage" id="uhh-yk-VIK"/>
+                                </imageView>
+                                <textField focusRingType="none" verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" translatesAutoresizingMaskIntoConstraints="NO" id="hIG-hJ-uDG">
+                                    <rect key="frame" x="42" y="2" width="218" height="28"/>
+                                    <textFieldCell key="cell" sendsActionOnEndEditing="YES" alignment="left" title="Enjoy all features to annotate and edit PDF for the next 7 days." id="s2A-sm-3qe">
+                                        <font key="font" metaFont="smallSystem"/>
+                                        <color key="textColor" red="0.59999999999999998" green="0.59999999999999998" blue="0.59999999999999998" alpha="1" colorSpace="calibratedRGB"/>
+                                        <color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
+                                    </textFieldCell>
+                                </textField>
+                            </subviews>
+                            <constraints>
+                                <constraint firstAttribute="width" constant="258" id="Ccu-CD-ScH"/>
+                                <constraint firstItem="hIG-hJ-uDG" firstAttribute="leading" secondItem="fUR-D5-9lA" secondAttribute="leading" constant="44" id="Ptz-Ni-AKj"/>
+                                <constraint firstAttribute="trailing" relation="greaterThanOrEqual" secondItem="hIG-hJ-uDG" secondAttribute="trailing" id="a8x-RL-pJ3"/>
+                                <constraint firstItem="hIG-hJ-uDG" firstAttribute="centerY" secondItem="fUR-D5-9lA" secondAttribute="centerY" id="bjn-pw-2bX"/>
+                                <constraint firstAttribute="height" constant="32" id="jsY-GV-0b6"/>
+                            </constraints>
+                        </customView>
+                        <customView translatesAutoresizingMaskIntoConstraints="NO" id="EMX-sA-OtN">
+                            <rect key="frame" x="36" y="152" width="258" height="32"/>
+                            <subviews>
+                                <imageView horizontalHuggingPriority="251" verticalHuggingPriority="251" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="PeM-fC-JMe">
+                                    <rect key="frame" x="0.0" y="0.0" width="32" height="32"/>
+                                    <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
+                                    <imageCell key="cell" refusesFirstResponder="YES" alignment="left" imageScaling="proportionallyDown" image="pic_OCR" id="xXP-Gx-YZ5"/>
+                                </imageView>
+                                <textField focusRingType="none" verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" translatesAutoresizingMaskIntoConstraints="NO" id="w7S-4c-gO4">
+                                    <rect key="frame" x="42" y="2" width="218" height="28"/>
+                                    <textFieldCell key="cell" sendsActionOnEndEditing="YES" alignment="left" title="Enjoy all features to annotate and edit PDF for the next 7 days." id="Qgg-28-onU">
+                                        <font key="font" metaFont="smallSystem"/>
+                                        <color key="textColor" red="0.59999999999999998" green="0.59999999999999998" blue="0.59999999999999998" alpha="1" colorSpace="calibratedRGB"/>
+                                        <color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
+                                    </textFieldCell>
+                                </textField>
+                            </subviews>
+                            <constraints>
+                                <constraint firstAttribute="height" constant="32" id="4xM-zz-EAW"/>
+                                <constraint firstAttribute="width" constant="258" id="FzJ-ME-0kC"/>
+                                <constraint firstItem="w7S-4c-gO4" firstAttribute="leading" secondItem="EMX-sA-OtN" secondAttribute="leading" constant="44" id="JNd-Yb-DcN"/>
+                                <constraint firstAttribute="trailing" relation="greaterThanOrEqual" secondItem="w7S-4c-gO4" secondAttribute="trailing" id="VSu-Cn-Tc3"/>
+                                <constraint firstItem="w7S-4c-gO4" firstAttribute="centerY" secondItem="EMX-sA-OtN" secondAttribute="centerY" id="csM-dd-AnW"/>
+                            </constraints>
+                        </customView>
+                        <customView translatesAutoresizingMaskIntoConstraints="NO" id="t1D-5z-55D">
+                            <rect key="frame" x="36" y="108" width="258" height="32"/>
+                            <subviews>
+                                <imageView horizontalHuggingPriority="251" verticalHuggingPriority="251" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="NSg-WW-EIS">
+                                    <rect key="frame" x="0.0" y="0.0" width="32" height="32"/>
+                                    <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
+                                    <imageCell key="cell" refusesFirstResponder="YES" alignment="left" imageScaling="proportionallyDown" image="pic_Forms" id="HGm-39-MQ1"/>
+                                </imageView>
+                                <textField focusRingType="none" verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" translatesAutoresizingMaskIntoConstraints="NO" id="0uQ-qA-kZD">
+                                    <rect key="frame" x="42" y="2" width="218" height="28"/>
+                                    <textFieldCell key="cell" sendsActionOnEndEditing="YES" alignment="left" title="Enjoy all features to annotate and edit PDF for the next 7 days." id="YEW-aM-sbL">
+                                        <font key="font" metaFont="smallSystem"/>
+                                        <color key="textColor" red="0.59999999999999998" green="0.59999999999999998" blue="0.59999999999999998" alpha="1" colorSpace="calibratedRGB"/>
+                                        <color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
+                                    </textFieldCell>
+                                </textField>
+                            </subviews>
+                            <constraints>
+                                <constraint firstItem="0uQ-qA-kZD" firstAttribute="centerY" secondItem="t1D-5z-55D" secondAttribute="centerY" id="OKN-Z7-bqK"/>
+                                <constraint firstAttribute="height" constant="32" id="Whs-fi-6TO"/>
+                                <constraint firstItem="0uQ-qA-kZD" firstAttribute="leading" secondItem="t1D-5z-55D" secondAttribute="leading" constant="44" id="YZQ-8s-CaG"/>
+                                <constraint firstAttribute="trailing" relation="greaterThanOrEqual" secondItem="0uQ-qA-kZD" secondAttribute="trailing" id="eEm-PA-S8e"/>
+                                <constraint firstAttribute="width" constant="258" id="hjo-2F-JBx"/>
+                            </constraints>
+                        </customView>
+                        <box boxType="custom" borderType="none" borderWidth="0.0" title="Box" translatesAutoresizingMaskIntoConstraints="NO" id="QHQ-Mb-gkO">
+                            <rect key="frame" x="45" y="44" width="240" height="40"/>
+                            <view key="contentView" id="Pof-AI-3PR">
+                                <rect key="frame" x="0.0" y="0.0" width="240" height="40"/>
+                                <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
+                                <subviews>
+                                    <imageView horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="Tff-Uc-cwc">
+                                        <rect key="frame" x="0.0" y="0.0" width="240" height="40"/>
+                                        <imageCell key="cell" refusesFirstResponder="YES" alignment="left" imageScaling="axesIndependently" image="Upgarde_bg_icon" id="odt-rI-iK6"/>
+                                    </imageView>
+                                    <button focusRingType="none" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="lE4-81-xYK" customClass="KMCustomButton">
+                                        <rect key="frame" x="0.0" y="0.0" width="240" height="40"/>
+                                        <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
+                                        <buttonCell key="cell" type="bevel" title="Buy Now" bezelStyle="rounded" imagePosition="overlaps" alignment="center" focusRingType="none" imageScaling="axesIndependently" inset="2" id="5qt-hW-aDb">
+                                            <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
+                                            <font key="font" metaFont="system"/>
+                                            <string key="keyEquivalent" base64-UTF8="YES">
+DQ
+</string>
+                                        </buttonCell>
+                                        <connections>
+                                            <action selector="buynowAction:" target="-2" id="uwM-06-Xp5"/>
+                                        </connections>
+                                    </button>
+                                </subviews>
+                                <constraints>
+                                    <constraint firstAttribute="bottom" secondItem="Tff-Uc-cwc" secondAttribute="bottom" id="MMw-3n-rNj"/>
+                                    <constraint firstItem="Tff-Uc-cwc" firstAttribute="top" secondItem="Pof-AI-3PR" secondAttribute="top" id="V0g-Ix-LeW"/>
+                                    <constraint firstItem="Tff-Uc-cwc" firstAttribute="leading" secondItem="Pof-AI-3PR" secondAttribute="leading" id="YJn-9h-7ZV"/>
+                                    <constraint firstAttribute="trailing" secondItem="Tff-Uc-cwc" secondAttribute="trailing" id="bzF-os-ekF"/>
+                                </constraints>
+                            </view>
+                            <constraints>
+                                <constraint firstAttribute="width" constant="240" id="KZm-zF-FBE"/>
+                                <constraint firstAttribute="height" constant="40" id="oyc-Vd-r3I"/>
+                            </constraints>
+                        </box>
+                        <button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="8d0-eC-qli" customClass="HyperLinkButton">
+                            <rect key="frame" x="122" y="20" width="87" height="16"/>
+                            <buttonCell key="cell" type="bevel" title="Enter License" bezelStyle="rounded" alignment="center" imageScaling="proportionallyDown" inset="2" id="xiK-7a-jY4">
+                                <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
+                                <font key="font" metaFont="system"/>
+                                <string key="keyEquivalent" base64-UTF8="YES">
+DQ
+</string>
+                            </buttonCell>
+                            <connections>
+                                <action selector="continueAction:" target="-2" id="cjE-C6-9Gx"/>
+                            </connections>
+                        </button>
+                    </subviews>
+                    <constraints>
+                        <constraint firstItem="t1D-5z-55D" firstAttribute="top" secondItem="EMX-sA-OtN" secondAttribute="bottom" constant="12" id="27k-DM-ZKv"/>
+                        <constraint firstItem="QHQ-Mb-gkO" firstAttribute="top" secondItem="t1D-5z-55D" secondAttribute="bottom" constant="24" id="7R4-CG-6Y2"/>
+                        <constraint firstItem="fUR-D5-9lA" firstAttribute="centerX" secondItem="2ud-hf-tSy" secondAttribute="centerX" id="A4D-eL-eOd"/>
+                        <constraint firstItem="5Vp-Gf-FH1" firstAttribute="centerX" secondItem="2ud-hf-tSy" secondAttribute="centerX" id="G0c-8E-3qb"/>
+                        <constraint firstItem="fUR-D5-9lA" firstAttribute="top" secondItem="5Vp-Gf-FH1" secondAttribute="bottom" constant="12" id="H39-Jv-8Qq"/>
+                        <constraint firstItem="8d0-eC-qli" firstAttribute="centerX" secondItem="QHQ-Mb-gkO" secondAttribute="centerX" id="J2s-rb-ham"/>
+                        <constraint firstAttribute="trailing" secondItem="2hO-0K-1XB" secondAttribute="trailing" constant="20" id="Kwy-bZ-5gr"/>
+                        <constraint firstItem="t1D-5z-55D" firstAttribute="centerX" secondItem="2ud-hf-tSy" secondAttribute="centerX" id="OdS-v0-B83"/>
+                        <constraint firstItem="2hO-0K-1XB" firstAttribute="centerX" secondItem="2ud-hf-tSy" secondAttribute="centerX" id="WWD-Qb-gQ5"/>
+                        <constraint firstItem="QHQ-Mb-gkO" firstAttribute="centerX" secondItem="2ud-hf-tSy" secondAttribute="centerX" id="aET-kM-wAX"/>
+                        <constraint firstItem="AMD-Kb-qjA" firstAttribute="centerX" secondItem="2ud-hf-tSy" secondAttribute="centerX" id="egX-oa-5aT"/>
+                        <constraint firstItem="AMD-Kb-qjA" firstAttribute="top" secondItem="2hO-0K-1XB" secondAttribute="bottom" constant="24" id="g8c-rg-XUb"/>
+                        <constraint firstItem="EMX-sA-OtN" firstAttribute="centerX" secondItem="2ud-hf-tSy" secondAttribute="centerX" id="igS-Ds-yAQ"/>
+                        <constraint firstItem="2hO-0K-1XB" firstAttribute="leading" secondItem="2ud-hf-tSy" secondAttribute="leading" constant="20" id="oBd-tg-Den"/>
+                        <constraint firstItem="5Vp-Gf-FH1" firstAttribute="top" secondItem="AMD-Kb-qjA" secondAttribute="bottom" constant="12" id="oWR-3V-MDy"/>
+                        <constraint firstItem="EMX-sA-OtN" firstAttribute="top" secondItem="fUR-D5-9lA" secondAttribute="bottom" constant="12" id="pCR-JB-bNX"/>
+                        <constraint firstItem="RxA-Mc-Qbg" firstAttribute="centerX" secondItem="2ud-hf-tSy" secondAttribute="centerX" id="qjE-ep-CH4"/>
+                        <constraint firstItem="2hO-0K-1XB" firstAttribute="top" secondItem="RxA-Mc-Qbg" secondAttribute="bottom" constant="4" id="tGC-Lg-SeL"/>
+                        <constraint firstItem="8d0-eC-qli" firstAttribute="top" secondItem="QHQ-Mb-gkO" secondAttribute="bottom" constant="8" id="tPL-gj-9yh"/>
+                        <constraint firstAttribute="bottom" secondItem="8d0-eC-qli" secondAttribute="bottom" constant="20" id="xTz-bB-16A"/>
+                        <constraint firstItem="RxA-Mc-Qbg" firstAttribute="top" secondItem="2ud-hf-tSy" secondAttribute="top" constant="20" id="yS6-vm-FDg"/>
+                    </constraints>
+                </customView>
+            </subviews>
+            <constraints>
+                <constraint firstAttribute="bottom" secondItem="2ud-hf-tSy" secondAttribute="bottom" id="XRu-i3-ZZY"/>
+                <constraint firstItem="2ud-hf-tSy" firstAttribute="leading" secondItem="Hz6-mo-xeY" secondAttribute="leading" id="is5-oN-iEF"/>
+                <constraint firstItem="2ud-hf-tSy" firstAttribute="top" secondItem="Hz6-mo-xeY" secondAttribute="top" id="jLF-OH-LjP"/>
+                <constraint firstAttribute="trailing" secondItem="2ud-hf-tSy" secondAttribute="trailing" id="nZ4-wa-Eok"/>
+            </constraints>
+            <point key="canvasLocation" x="53" y="114"/>
+        </customView>
+    </objects>
+    <resources>
+        <image name="Upgarde_bg_icon" width="98" height="20"/>
+        <image name="ic_organizePage" width="32" height="32"/>
+        <image name="pic_Convert" width="32" height="32"/>
+        <image name="pic_Edit" width="32" height="32"/>
+        <image name="pic_Forms" width="32" height="32"/>
+        <image name="pic_OCR" width="32" height="32"/>
+    </resources>
+</document>

+ 16 - 0
PDF Office/PDF Master/Class/Purchase/DMG/Verification/KMVerificationActivateViewController.h

@@ -0,0 +1,16 @@
+//
+//  KMVerificationActivateViewController.h
+//  PDF Reader Pro Edition
+//
+//  Created by 王帅 on 2018/5/8.
+//
+
+#import <Cocoa/Cocoa.h>
+
+@interface KMVerificationActivateViewController : NSViewController
+
+@property (nonatomic,copy) void (^callback) (NSInteger index, NSString *string);
+
+- (void)setEnabled:(BOOL)enabled;
+
+@end

+ 155 - 0
PDF Office/PDF Master/Class/Purchase/DMG/Verification/KMVerificationActivateViewController.m

@@ -0,0 +1,155 @@
+//
+//  KMVerificationActivateViewController.m
+//  PDF Reader Pro Edition
+//
+//  Created by 王帅 on 2018/5/8.
+//
+
+#import "KMVerificationActivateViewController.h"
+#import "PDF_Master-Bridging-Header.h"
+#if VERSION_DMG
+#import <PDF_Master-Swift.h>
+#else
+#import <PDF_Master-Swift.h>
+#endif
+
+@interface KMVerificationActivateViewController ()
+
+@property (nonatomic,assign) IBOutlet NSTextField *label;
+@property (nonatomic,assign) IBOutlet NSTextField *sublabel;
+
+@property (nonatomic,assign) IBOutlet NSView *textFieldView;
+@property (nonatomic,assign) IBOutlet NSTextField *textField;
+
+@property (nonatomic,assign) IBOutlet NSTextField *textLabel;
+@property (nonatomic,assign) IBOutlet NSButton *clickHereButton;
+
+@property (nonatomic,assign) IBOutlet KMCustomButton *backButton;
+@property (nonatomic,assign) IBOutlet KMCustomButton *continueButton;
+@property (nonatomic, retain) CALayer *continueButtonLayer;
+
+@end
+
+@implementation KMVerificationActivateViewController
+
+#pragma mark Init Methods
+
+- (instancetype)init {
+    if (self = [super initWithNibName:@"KMVerificationActivateViewController" bundle:nil]) {
+        
+    }
+    return self;
+}
+
+- (void)dealloc {
+    
+}
+
+#pragma mark View Methods
+
+- (void)loadView {
+    [super loadView];
+    // Do view setup here.
+    self.textFieldView.wantsLayer = YES;
+    self.textFieldView.layer.masksToBounds = YES;
+    self.textFieldView.layer.cornerRadius = 1.0;
+    self.textFieldView.layer.borderWidth = 1.0;
+    self.textFieldView.layer.borderColor = [NSColor lightGrayColor].CGColor;
+        
+    self.backButton.wantsLayer = YES;
+    self.backButton.layer.masksToBounds = YES;
+    self.backButton.layer.cornerRadius = 1.0;
+    
+    self.continueButton.wantsLayer = YES;
+    self.continueButton.layer.masksToBounds = YES;
+    self.continueButton.layer.cornerRadius = 1.0;
+
+    self.label.stringValue = NSLocalizedString(@"Please enter your license", nil);
+    self.sublabel.stringValue = NSLocalizedString(@"If you have already purchased PDF Reader Pro for Mac, you should find your license in an email confirmation.", nil);
+    self.textLabel.stringValue = NSLocalizedString(@"Can't find your license?", nil);
+    
+    [self.textField.cell setPlaceholderString:NSLocalizedString(@"License Number", nil)];
+    
+    NSMutableAttributedString *attributedTitle = [[NSMutableAttributedString alloc] initWithString:NSLocalizedString(@"Click here", nil)];
+    NSRange range = NSMakeRange(0, attributedTitle.length);
+    [attributedTitle addAttribute:NSFontAttributeName value:self.clickHereButton.font range:range];
+    [attributedTitle addAttribute:NSForegroundColorAttributeName value:[KMAppearance KMColor_Layout_H0] range:range];
+    [attributedTitle addAttribute:NSUnderlineStyleAttributeName value:@(YES) range:range];
+    self.clickHereButton.attributedTitle = attributedTitle;
+    self.backButton.title = NSLocalizedString(@"Cancel", nil);
+    self.continueButton.title = NSLocalizedString(@"Continue", nil);
+    [self.backButton setTitleColor:[KMAppearance KMColor_Layout_H0]];
+    [self.continueButton setTitleColor:[NSColor whiteColor]];
+    
+    self.continueButtonLayer = [CALayer layer];
+    [self.continueButton.layer addSublayer:self.continueButtonLayer];
+    self.continueButtonLayer.frame = CGRectMake(0, 0, CGRectGetWidth(_continueButton.bounds), CGRectGetHeight(_continueButton.bounds));
+    self.continueButtonLayer.backgroundColor = [KMAppearance KMColor_Status_Sel].CGColor;
+    self.continueButtonLayer.cornerRadius = 0;
+    self.continueButtonLayer.hidden = YES;
+    __block KMVerificationActivateViewController *blockSelf = self;
+    self.continueButton.mouseMoveCallback = ^(BOOL mouseEntered) {
+        if (mouseEntered)
+            blockSelf.continueButtonLayer.hidden = NO;
+        else
+            blockSelf.continueButtonLayer.hidden = YES;
+    };
+    self.backButton.mouseMoveCallback = nil;
+    
+    [self.label setTextColor:[KMAppearance KMColor_Layout_H0]];
+    [self.sublabel setTextColor:[KMAppearance KM_242424_Color75]];
+    [self.textLabel setTextColor:[KMAppearance KMColor_Layout_H0]];
+    
+}
+
+- (void)viewDidAppear {
+    [super viewDidAppear];
+    [self.textField becomeFirstResponder];
+}
+
+#pragma mark Button Actions
+
+- (IBAction)backButtonAction:(id)sender {
+    if (self.callback) {
+        self.callback(0, self.textField.stringValue);
+    }
+}
+
+- (IBAction)continueButtonAction:(id)sender {
+    NSString *lineString = self.textField.stringValue;
+    lineString = [lineString stringByReplacingOccurrencesOfString:@" " withString:@""];
+    if (lineString.length > 0) {
+        self.textFieldView.layer.borderColor = [NSColor lightGrayColor].CGColor;
+    } else {
+        self.textFieldView.layer.borderColor = [NSColor redColor].CGColor;
+        NSAlert *alert = [NSAlert alertWithMessageText:NSLocalizedString(@"Activation Error", nil)
+                                         defaultButton:NSLocalizedString(@"Try Again", nil)
+                                       alternateButton:nil
+                                           otherButton:nil
+                             informativeTextWithFormat:NSLocalizedString(@"License number can not be empty.", nil), nil];
+        [alert runModal];
+        return;
+    }
+    if (self.callback) {
+        self.callback(1, lineString);
+    }
+}
+
+- (IBAction)clickHereButtonAction:(id)sender {
+    NSURL *url = [NSURL URLWithString:@"https://www.pdfreaderpro.com/license_retrieval"];
+    [[NSWorkspace sharedWorkspace] openURL:url];
+}
+
+- (void)setEnabled:(BOOL)enabled {
+    self.backButton.enabled = enabled;
+    self.continueButton.enabled = enabled;
+    self.textField.enabled = enabled;
+}
+
+#pragma mark NSTextFieldDelegate
+
+- (void)controlTextDidChange:(NSNotification *)notification {
+    self.textFieldView.layer.borderColor = [NSColor lightGrayColor].CGColor;
+}
+
+@end

+ 195 - 0
PDF Office/PDF Master/Class/Purchase/DMG/Verification/KMVerificationActivateViewController.xib

@@ -0,0 +1,195 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="22505" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" customObjectInstantitationMethod="direct">
+    <dependencies>
+        <deployment identifier="macosx"/>
+        <plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="22505"/>
+        <capability name="Named colors" minToolsVersion="9.0"/>
+        <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
+    </dependencies>
+    <objects>
+        <customObject id="-2" userLabel="File's Owner" customClass="KMVerificationActivateViewController">
+            <connections>
+                <outlet property="backButton" destination="XCm-3d-iXU" id="0oM-qB-1lf"/>
+                <outlet property="clickHereButton" destination="mYD-Xx-EOv" id="R5W-wu-L5c"/>
+                <outlet property="continueButton" destination="CB1-bz-K3D" id="i2k-Io-4Jz"/>
+                <outlet property="label" destination="U3B-Zz-cHX" id="QZn-4I-PZM"/>
+                <outlet property="sublabel" destination="aF7-Ba-ozL" id="SNw-UX-cUa"/>
+                <outlet property="textField" destination="3YE-Mb-Ad4" id="GM0-iK-gzg"/>
+                <outlet property="textFieldView" destination="o12-Kf-Zya" id="jqX-FG-bQd"/>
+                <outlet property="textLabel" destination="ydR-Jc-RvL" id="UMl-Hx-x4r"/>
+                <outlet property="view" destination="Hz6-mo-xeY" id="0bl-1N-x8E"/>
+            </connections>
+        </customObject>
+        <customObject id="-1" userLabel="First Responder" customClass="FirstResponder"/>
+        <customObject id="-3" userLabel="Application" customClass="NSObject"/>
+        <customView id="Hz6-mo-xeY">
+            <rect key="frame" x="0.0" y="0.0" width="442" height="326"/>
+            <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
+            <subviews>
+                <imageView horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="YyI-VY-ahy">
+                    <rect key="frame" x="197" y="234" width="48" height="48"/>
+                    <constraints>
+                        <constraint firstAttribute="height" constant="48" id="x5D-to-EAO"/>
+                        <constraint firstAttribute="width" constant="48" id="yvi-vj-0Zv"/>
+                    </constraints>
+                    <imageCell key="cell" refusesFirstResponder="YES" alignment="left" imageScaling="proportionallyDown" image="PDF Reader Pro Edition" id="9ti-ut-udw"/>
+                </imageView>
+                <textField focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="U3B-Zz-cHX">
+                    <rect key="frame" x="129" y="189" width="184" height="16"/>
+                    <textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Welcome to PDF Reader Pro" id="aux-9L-KvZ">
+                        <font key="font" metaFont="systemBold"/>
+                        <color key="textColor" red="0.20000000000000001" green="0.20000000000000001" blue="0.20000000000000001" alpha="1" colorSpace="calibratedRGB"/>
+                        <color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
+                    </textFieldCell>
+                </textField>
+                <textField focusRingType="none" verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" translatesAutoresizingMaskIntoConstraints="NO" id="aF7-Ba-ozL">
+                    <rect key="frame" x="18" y="149" width="406" height="28"/>
+                    <textFieldCell key="cell" sendsActionOnEndEditing="YES" alignment="center" title="If you have already purchased PDF Reader Pro for Mac, you should find your license in an email confirmation." id="8di-aB-lwX">
+                        <font key="font" metaFont="smallSystem"/>
+                        <color key="textColor" red="0.59999999999999998" green="0.59999999999999998" blue="0.59999999999999998" alpha="1" colorSpace="calibratedRGB"/>
+                        <color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
+                    </textFieldCell>
+                </textField>
+                <customView translatesAutoresizingMaskIntoConstraints="NO" id="o12-Kf-Zya">
+                    <rect key="frame" x="20" y="109" width="402" height="28"/>
+                    <subviews>
+                        <textField focusRingType="none" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="3YE-Mb-Ad4">
+                            <rect key="frame" x="18" y="7" width="366" height="14"/>
+                            <textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" state="on" focusRingType="none" alignment="center" placeholderString="License Number" usesSingleLineMode="YES" id="Qdc-7N-sS7">
+                                <font key="font" metaFont="smallSystem"/>
+                                <color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
+                                <color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
+                            </textFieldCell>
+                            <connections>
+                                <outlet property="delegate" destination="-2" id="vp5-TN-ew9"/>
+                            </connections>
+                        </textField>
+                    </subviews>
+                    <constraints>
+                        <constraint firstItem="3YE-Mb-Ad4" firstAttribute="leading" secondItem="o12-Kf-Zya" secondAttribute="leading" constant="20" id="5Ez-f4-78q"/>
+                        <constraint firstItem="3YE-Mb-Ad4" firstAttribute="centerY" secondItem="o12-Kf-Zya" secondAttribute="centerY" id="PKu-EK-DbW"/>
+                        <constraint firstAttribute="height" constant="28" id="l7p-bO-mxF"/>
+                        <constraint firstAttribute="trailing" secondItem="3YE-Mb-Ad4" secondAttribute="trailing" constant="20" id="xJE-G2-61k"/>
+                    </constraints>
+                </customView>
+                <customView translatesAutoresizingMaskIntoConstraints="NO" id="sjg-NT-nbn">
+                    <rect key="frame" x="126" y="79" width="190" height="14"/>
+                    <subviews>
+                        <textField focusRingType="none" verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" translatesAutoresizingMaskIntoConstraints="NO" id="ydR-Jc-RvL">
+                            <rect key="frame" x="-2" y="0.0" width="135" height="14"/>
+                            <textFieldCell key="cell" sendsActionOnEndEditing="YES" alignment="center" title="Can't find your license? " id="ZrY-kR-MVi">
+                                <font key="font" metaFont="smallSystem"/>
+                                <color key="textColor" red="0.59999999999999998" green="0.59999999999999998" blue="0.59999999999999998" alpha="1" colorSpace="calibratedRGB"/>
+                                <color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
+                            </textFieldCell>
+                        </textField>
+                        <button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="mYD-Xx-EOv">
+                            <rect key="frame" x="133" y="0.0" width="57" height="14"/>
+                            <buttonCell key="cell" type="bevel" title="Click here" bezelStyle="rounded" alignment="center" imageScaling="proportionallyDown" inset="2" id="Rin-9B-6H5">
+                                <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
+                                <font key="font" metaFont="smallSystem"/>
+                            </buttonCell>
+                            <connections>
+                                <action selector="clickHereButtonAction:" target="-2" id="Fjw-Lk-DPQ"/>
+                            </connections>
+                        </button>
+                    </subviews>
+                    <constraints>
+                        <constraint firstAttribute="bottom" secondItem="mYD-Xx-EOv" secondAttribute="bottom" id="41t-di-nLv"/>
+                        <constraint firstItem="mYD-Xx-EOv" firstAttribute="top" secondItem="sjg-NT-nbn" secondAttribute="top" id="K7L-Wl-Wof"/>
+                        <constraint firstItem="ydR-Jc-RvL" firstAttribute="top" secondItem="sjg-NT-nbn" secondAttribute="top" id="NBn-RD-6eS"/>
+                        <constraint firstItem="mYD-Xx-EOv" firstAttribute="leading" secondItem="ydR-Jc-RvL" secondAttribute="trailing" constant="2" id="Vvz-ru-nlP"/>
+                        <constraint firstAttribute="trailing" secondItem="mYD-Xx-EOv" secondAttribute="trailing" id="k5v-gZ-1MZ"/>
+                        <constraint firstAttribute="bottom" secondItem="ydR-Jc-RvL" secondAttribute="bottom" id="yki-QI-Fwr"/>
+                        <constraint firstItem="ydR-Jc-RvL" firstAttribute="leading" secondItem="sjg-NT-nbn" secondAttribute="leading" id="yrc-5B-SjY"/>
+                    </constraints>
+                </customView>
+                <box boxType="custom" borderWidth="0.0" cornerRadius="1" title="Box" translatesAutoresizingMaskIntoConstraints="NO" id="nZf-Zx-TpS">
+                    <rect key="frame" x="20" y="28" width="197" height="36"/>
+                    <view key="contentView" id="8q8-CS-Lu1">
+                        <rect key="frame" x="0.0" y="0.0" width="197" height="36"/>
+                        <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
+                    </view>
+                    <color key="fillColor" name="KMColor_Interactive_S0"/>
+                </box>
+                <button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="XCm-3d-iXU" customClass="KMCustomButton">
+                    <rect key="frame" x="20" y="28" width="197" height="36"/>
+                    <buttonCell key="cell" type="bevel" title="Back" bezelStyle="rounded" alignment="center" imageScaling="proportionallyDown" inset="2" id="Juk-fl-hVj">
+                        <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
+                        <font key="font" metaFont="system"/>
+                    </buttonCell>
+                    <constraints>
+                        <constraint firstAttribute="height" constant="36" id="WXj-Yx-m3w"/>
+                    </constraints>
+                    <connections>
+                        <action selector="backButtonAction:" target="-2" id="d9T-yM-SnU"/>
+                    </connections>
+                </button>
+                <box boxType="custom" borderWidth="0.0" cornerRadius="1" title="Box" translatesAutoresizingMaskIntoConstraints="NO" id="S6u-Q7-SpE">
+                    <rect key="frame" x="225" y="28" width="197" height="36"/>
+                    <view key="contentView" id="Dgd-SU-zrS">
+                        <rect key="frame" x="0.0" y="0.0" width="197" height="36"/>
+                        <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
+                    </view>
+                    <color key="fillColor" name="KMColor_Interactive_M0"/>
+                </box>
+                <button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="CB1-bz-K3D" customClass="KMCustomButton">
+                    <rect key="frame" x="225" y="28" width="197" height="36"/>
+                    <buttonCell key="cell" type="bevel" title="Continue" bezelStyle="regularSquare" alignment="center" imageScaling="proportionallyDown" inset="2" id="WSQ-Rl-dle">
+                        <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
+                        <font key="font" metaFont="system"/>
+                        <string key="keyEquivalent" base64-UTF8="YES">
+DQ
+</string>
+                    </buttonCell>
+                    <constraints>
+                        <constraint firstAttribute="height" constant="36" id="bOb-9e-Rfp"/>
+                    </constraints>
+                    <connections>
+                        <action selector="continueButtonAction:" target="-2" id="CTX-V7-J5N"/>
+                    </connections>
+                </button>
+            </subviews>
+            <constraints>
+                <constraint firstItem="sjg-NT-nbn" firstAttribute="top" secondItem="o12-Kf-Zya" secondAttribute="bottom" constant="16" id="23y-Kf-yCx"/>
+                <constraint firstItem="o12-Kf-Zya" firstAttribute="leading" secondItem="aF7-Ba-ozL" secondAttribute="leading" id="48Z-hY-JZT"/>
+                <constraint firstItem="XCm-3d-iXU" firstAttribute="top" secondItem="nZf-Zx-TpS" secondAttribute="top" id="6Hv-g7-1dr"/>
+                <constraint firstItem="XCm-3d-iXU" firstAttribute="leading" secondItem="nZf-Zx-TpS" secondAttribute="leading" id="6LU-ix-GO7"/>
+                <constraint firstItem="YyI-VY-ahy" firstAttribute="centerX" secondItem="Hz6-mo-xeY" secondAttribute="centerX" id="6fy-PA-P2r"/>
+                <constraint firstItem="XCm-3d-iXU" firstAttribute="bottom" secondItem="nZf-Zx-TpS" secondAttribute="bottom" id="A7h-s3-haC"/>
+                <constraint firstItem="CB1-bz-K3D" firstAttribute="trailing" secondItem="S6u-Q7-SpE" secondAttribute="trailing" id="EKk-aN-3Fr"/>
+                <constraint firstItem="aF7-Ba-ozL" firstAttribute="leading" secondItem="Hz6-mo-xeY" secondAttribute="leading" constant="20" id="Ehe-Gh-KGS"/>
+                <constraint firstItem="U3B-Zz-cHX" firstAttribute="top" secondItem="YyI-VY-ahy" secondAttribute="bottom" constant="29" id="OnN-TD-nLN"/>
+                <constraint firstItem="CB1-bz-K3D" firstAttribute="width" secondItem="XCm-3d-iXU" secondAttribute="width" id="TJp-JU-1JI"/>
+                <constraint firstItem="o12-Kf-Zya" firstAttribute="top" secondItem="aF7-Ba-ozL" secondAttribute="bottom" constant="12" id="TVm-fi-fhd"/>
+                <constraint firstItem="sjg-NT-nbn" firstAttribute="centerX" secondItem="Hz6-mo-xeY" secondAttribute="centerX" id="Vyg-Uu-cGy"/>
+                <constraint firstItem="CB1-bz-K3D" firstAttribute="bottom" secondItem="S6u-Q7-SpE" secondAttribute="bottom" id="Y3u-iY-qAx"/>
+                <constraint firstItem="U3B-Zz-cHX" firstAttribute="centerX" secondItem="Hz6-mo-xeY" secondAttribute="centerX" id="YKW-wf-fws"/>
+                <constraint firstItem="CB1-bz-K3D" firstAttribute="top" secondItem="sjg-NT-nbn" secondAttribute="bottom" constant="15" id="ZJl-gO-xDX"/>
+                <constraint firstItem="XCm-3d-iXU" firstAttribute="trailing" secondItem="nZf-Zx-TpS" secondAttribute="trailing" id="bJv-Qu-8Dv"/>
+                <constraint firstItem="o12-Kf-Zya" firstAttribute="centerX" secondItem="Hz6-mo-xeY" secondAttribute="centerX" id="eMa-yq-MHt"/>
+                <constraint firstItem="XCm-3d-iXU" firstAttribute="top" secondItem="sjg-NT-nbn" secondAttribute="bottom" constant="15" id="kxC-1s-6a1"/>
+                <constraint firstItem="XCm-3d-iXU" firstAttribute="leading" secondItem="o12-Kf-Zya" secondAttribute="leading" id="m2T-Lh-3TT"/>
+                <constraint firstItem="aF7-Ba-ozL" firstAttribute="top" secondItem="U3B-Zz-cHX" secondAttribute="bottom" constant="12" id="nJv-2B-6lP"/>
+                <constraint firstItem="CB1-bz-K3D" firstAttribute="leading" secondItem="S6u-Q7-SpE" secondAttribute="leading" id="nVZ-ap-Xoh"/>
+                <constraint firstItem="CB1-bz-K3D" firstAttribute="trailing" secondItem="o12-Kf-Zya" secondAttribute="trailing" id="q1O-oy-K6E"/>
+                <constraint firstItem="aF7-Ba-ozL" firstAttribute="centerX" secondItem="Hz6-mo-xeY" secondAttribute="centerX" id="rbF-bf-kf2"/>
+                <constraint firstItem="CB1-bz-K3D" firstAttribute="leading" secondItem="XCm-3d-iXU" secondAttribute="trailing" constant="8" id="ucx-Lm-91A"/>
+                <constraint firstAttribute="bottom" secondItem="XCm-3d-iXU" secondAttribute="bottom" constant="28" id="wRB-sb-b0d"/>
+                <constraint firstItem="CB1-bz-K3D" firstAttribute="top" secondItem="S6u-Q7-SpE" secondAttribute="top" id="wZl-iF-AdX"/>
+                <constraint firstItem="o12-Kf-Zya" firstAttribute="trailing" secondItem="aF7-Ba-ozL" secondAttribute="trailing" id="yKF-N3-hP6"/>
+                <constraint firstItem="YyI-VY-ahy" firstAttribute="top" secondItem="Hz6-mo-xeY" secondAttribute="top" constant="44" id="zyd-Y8-iQl"/>
+            </constraints>
+            <point key="canvasLocation" x="139" y="153.5"/>
+        </customView>
+    </objects>
+    <resources>
+        <image name="PDF Reader Pro Edition" width="512" height="512"/>
+        <namedColor name="KMColor_Interactive_M0">
+            <color red="0.15294117647058825" green="0.23529411764705882" blue="0.3843137254901961" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
+        </namedColor>
+        <namedColor name="KMColor_Interactive_S0">
+            <color red="0.85490196078431369" green="0.85882352941176465" blue="0.87058823529411766" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
+        </namedColor>
+    </resources>
+</document>

+ 19 - 0
PDF Office/PDF Master/Class/Purchase/DMG/Verification/KMVerificationAlertViewController.h

@@ -0,0 +1,19 @@
+//
+//  KMVerificationAlertViewController.h
+//  PDF Reader Pro Edition
+//
+//  Created by 王帅 on 2018/5/8.
+//
+
+#import <Cocoa/Cocoa.h>
+
+@interface KMVerificationAlertViewController : NSViewController
+
+@property (nonatomic,retain) NSString *alertTitle;
+@property (nonatomic,retain) NSString *alertMessage;
+
+@property (nonatomic,copy) void (^callback) (void);
+
+@property (nonatomic,copy) void (^buyActionHandle) (void);
+
+@end

+ 164 - 0
PDF Office/PDF Master/Class/Purchase/DMG/Verification/KMVerificationAlertViewController.m

@@ -0,0 +1,164 @@
+//
+//  KMVerificationAlertViewController.m
+//  PDF Reader Pro Edition
+//
+//  Created by 王帅 on 2018/5/8.
+//
+
+#import "KMVerificationAlertViewController.h"
+#import "PDF_Master-Bridging-Header.h"
+#if VERSION_DMG
+#import <PDF_Master-Swift.h>
+#else
+#import <PDF_Master-Swift.h>
+#endif
+
+@interface KMVerificationAlertViewController ()
+
+@property (nonatomic,assign) IBOutlet NSTextField *label;
+@property (nonatomic,assign) IBOutlet NSTextField *sublabel;
+
+@property (assign) IBOutlet NSView *desView1;
+@property (assign) IBOutlet NSTextField *desLbl1;
+@property (assign) IBOutlet NSTextField *desLbl2;
+@property (assign) IBOutlet NSTextField *desLbl3;
+@property (assign) IBOutlet NSTextField *desLbl4;
+
+@property (assign) IBOutlet KMButton *buyNowBackBtn;
+@property (nonatomic, assign) IBOutlet KMCustomButton *continueButton;
+@property (assign) IBOutlet KMCustomButton *buyButton;
+
+@property (nonatomic, retain) CALayer *continueButtonLayer;
+
+@end
+
+@implementation KMVerificationAlertViewController
+
+#pragma mark Init Methods
+
+- (instancetype)init {
+    if (self = [super initWithNibName:@"KMVerificationAlertViewController" bundle:nil]) {
+        
+    }
+    return self;
+}
+
+- (void)dealloc {
+    
+}
+
+#pragma mark Setter Methods
+
+- (void)setAlertTitle:(NSString *)alertTitle {
+        _alertTitle = alertTitle;
+  
+    self.label.stringValue = alertTitle ? : @"";
+}
+
+- (void)setAlertMessage:(NSString *)alertMessage {
+ 
+        _alertMessage = alertMessage;
+
+    self.sublabel.stringValue = alertMessage ? : @"";
+}
+
+#pragma mark View Methods
+
+- (void)loadView {
+    [super loadView];
+    // Do view setup here.
+    
+    self.label.font = [NSFont systemFontOfSize:13.];
+    self.sublabel.font = [NSFont systemFontOfSize:18.];
+    self.desLbl1.font = self.desLbl2.font = self.desLbl3.font = self.desLbl4.font = [NSFont systemFontOfSize:12.];
+    
+    self.label.stringValue = self.alertTitle ? : @"";
+    self.sublabel.stringValue = self.alertMessage ? : @"";
+    
+    self.desLbl1.stringValue = NSLocalizedString(@"Convert PDF from/to Word/Excel/PPT/HTML/Image, etc.", nil);
+    self.desLbl2.stringValue = NSLocalizedString(@"Edit and Modify Texts in PDFs", nil);
+    self.desLbl3.stringValue = NSLocalizedString(@"Optical Character Recognition (OCR)", nil);
+    self.desLbl4.stringValue = NSLocalizedString(@"Create, Fill Forms, Sign PDFs", nil);
+    
+    self.continueButton.title = NSLocalizedString(@"Continue", nil);
+    
+    self.continueButton.wantsLayer = YES;
+    self.continueButton.layer.masksToBounds = YES;
+    self.continueButton.layer.cornerRadius = 1.0;
+    
+    self.continueButtonLayer = [CALayer layer];
+    [self.continueButton.layer addSublayer:self.continueButtonLayer];
+    self.continueButtonLayer.frame = CGRectMake(0, 0, CGRectGetWidth(_continueButton.bounds), CGRectGetHeight(_continueButton.bounds));
+    self.continueButtonLayer.backgroundColor = [KMAppearance KMColor_Status_Sel].CGColor;
+    self.continueButtonLayer.cornerRadius = 0;
+    self.continueButtonLayer.hidden = YES;
+    __block KMVerificationAlertViewController *blockSelf = self;
+    self.continueButton.mouseMoveCallback = ^(BOOL mouseEntered) {
+        if (mouseEntered)
+            blockSelf.continueButtonLayer.hidden = NO;
+        else
+            blockSelf.continueButtonLayer.hidden = YES;
+    };
+    
+    self.buyNowBackBtn.mouseMoveCallback = ^(BOOL mouseEntered) {
+        if (mouseEntered)
+            blockSelf.buyNowBackBtn.image = [NSImage imageNamed:@"KMImageNameButtonBackground220Hov"];
+        else
+            blockSelf.buyNowBackBtn.image = [NSImage imageNamed:@"KMImageNameButtonBackground220"];
+    };
+    
+    self.buyButton.wantsLayer = YES;
+    self.buyButton.layer.masksToBounds = YES;
+    self.buyButton.layer.cornerRadius = 1.0;
+    
+    if (@available(macOS 10.14, *)) {
+        NSAppearanceName appearanceName = [[NSApp effectiveAppearance] bestMatchFromAppearancesWithNames:@[NSAppearanceNameAqua, NSAppearanceNameDarkAqua]];
+        if ([appearanceName isEqualToString:NSAppearanceNameDarkAqua]) {
+            [self.label setTextColor:[NSColor colorWithRed:255/255.0 green:255/255.0 blue:255/255.0 alpha:1.0]];
+            [self.sublabel setTextColor:[NSColor colorWithRed:255/255.0 green:255/255.0 blue:255/255.0 alpha:0.7]];
+            
+            self.desLbl1.textColor = self.desLbl2.textColor = self.desLbl3.textColor = self.desLbl4.textColor = [NSColor colorWithRed:255/255. green:255/255. blue:255/255. alpha:1];
+            
+            [self.continueButton setTitleColor:[NSColor whiteColor]];
+            self.continueButton.layer.backgroundColor = [NSColor colorWithRed:86/255. green:88/255. blue:90/255. alpha:1].CGColor;
+            
+            NSMutableAttributedString *attributedTitle = [[NSMutableAttributedString alloc] initWithString:NSLocalizedString(@"Buy Now", nil)];
+            NSRange range = NSMakeRange(0, attributedTitle.length);
+            [attributedTitle addAttribute:NSFontAttributeName value:[NSFont boldSystemFontOfSize:13.] range:range];
+            [attributedTitle addAttribute:NSForegroundColorAttributeName value:[NSColor colorWithRed:78/255. green:127/255. blue:219/255. alpha:1] range:range];
+            self.buyButton.attributedTitle = attributedTitle;
+            
+        } else {
+            self.label.textColor = [NSColor colorWithRed:66/255. green:70/255. blue:77/255. alpha:1];
+            self.sublabel.textColor = [NSColor colorWithRed:14/255. green:17/255. blue:20/255. alpha:1];
+        
+            self.desLbl1.textColor = self.desLbl2.textColor = self.desLbl3.textColor = self.desLbl4.textColor = [NSColor colorWithRed:66/255. green:70/255. blue:77/255. alpha:1];
+            
+            [self.continueButton setTitleColor:[NSColor colorWithRed:14/255. green:17/255. blue:20/255. alpha:1]];
+            self.continueButton.layer.backgroundColor = [NSColor colorWithRed:218/255. green:219/255. blue:222/255. alpha:1].CGColor;
+
+            [self.buyButton setTitleColor:[NSColor colorWithRed:14/255. green:17/255. blue:20/255. alpha:1]];
+            NSMutableAttributedString *attributedTitle = [[NSMutableAttributedString alloc] initWithString:NSLocalizedString(@"Buy Now", nil)];
+            NSRange range = NSMakeRange(0, attributedTitle.length);
+            [attributedTitle addAttribute:NSFontAttributeName value:[NSFont boldSystemFontOfSize:13.] range:range];
+            [attributedTitle addAttribute:NSForegroundColorAttributeName value:[NSColor colorWithRed:14/255. green:17/255. blue:20/255. alpha:1] range:range];
+            self.buyButton.attributedTitle = attributedTitle;
+        }
+    }
+}
+
+#pragma mark Button Actions
+
+- (IBAction)continueButtonAction:(id)sender {
+    if (self.callback) {
+        self.callback();
+    }
+}
+
+- (IBAction)buyNowAction:(id)sender {
+    if (self.buyActionHandle) {
+        self.buyActionHandle();
+    }
+}
+
+@end

+ 233 - 0
PDF Office/PDF Master/Class/Purchase/DMG/Verification/KMVerificationAlertViewController.xib

@@ -0,0 +1,233 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="22505" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" customObjectInstantitationMethod="direct">
+    <dependencies>
+        <deployment identifier="macosx"/>
+        <plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="22505"/>
+        <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
+    </dependencies>
+    <objects>
+        <customObject id="-2" userLabel="File's Owner" customClass="KMVerificationAlertViewController">
+            <connections>
+                <outlet property="buyButton" destination="5Fe-TM-Czc" id="squ-hV-jUE"/>
+                <outlet property="buyNowBackBtn" destination="7jK-oA-p1F" id="Sgb-Bk-1Si"/>
+                <outlet property="continueButton" destination="K7L-07-afh" id="64c-b0-c4d"/>
+                <outlet property="desLbl1" destination="ZJ0-xa-7HW" id="jo7-M5-MxY"/>
+                <outlet property="desLbl2" destination="DtV-fu-1Pi" id="nut-KS-Qu2"/>
+                <outlet property="desLbl3" destination="AxZ-fF-Bhy" id="YGU-WJ-wDN"/>
+                <outlet property="desLbl4" destination="ONS-c2-4NJ" id="Xhs-Qs-9Ju"/>
+                <outlet property="desView1" destination="VYO-aF-Lwh" id="Me1-7W-7a6"/>
+                <outlet property="label" destination="eR9-u2-5Mh" id="j5g-ur-37s"/>
+                <outlet property="sublabel" destination="QUN-Ge-ELW" id="RhY-zp-dXM"/>
+                <outlet property="view" destination="Hz6-mo-xeY" id="0bl-1N-x8E"/>
+            </connections>
+        </customObject>
+        <customObject id="-1" userLabel="First Responder" customClass="FirstResponder"/>
+        <customObject id="-3" userLabel="Application" customClass="NSObject"/>
+        <customView id="Hz6-mo-xeY">
+            <rect key="frame" x="0.0" y="0.0" width="330" height="441"/>
+            <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
+            <subviews>
+                <imageView horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="2aZ-82-uQr">
+                    <rect key="frame" x="136" y="363" width="58" height="58"/>
+                    <constraints>
+                        <constraint firstAttribute="width" constant="58" id="MnP-Fv-kdY"/>
+                        <constraint firstAttribute="height" constant="58" id="QwT-Ge-omp"/>
+                    </constraints>
+                    <imageCell key="cell" refusesFirstResponder="YES" alignment="left" imageScaling="proportionallyDown" image="img_licensecode_successful" id="Fob-S4-AEu"/>
+                </imageView>
+                <textField focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="eR9-u2-5Mh">
+                    <rect key="frame" x="92" y="327" width="147" height="16"/>
+                    <textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Successful activation!" id="8j8-Wt-VKn">
+                        <font key="font" metaFont="systemBold"/>
+                        <color key="textColor" red="0.20000000000000001" green="0.20000000000000001" blue="0.20000000000000001" alpha="1" colorSpace="calibratedRGB"/>
+                        <color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
+                    </textFieldCell>
+                </textField>
+                <textField focusRingType="none" verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" translatesAutoresizingMaskIntoConstraints="NO" id="QUN-Ge-ELW">
+                    <rect key="frame" x="18" y="287" width="294" height="28"/>
+                    <textFieldCell key="cell" sendsActionOnEndEditing="YES" alignment="center" title="Enjoy all features to annotate and edit PDF for the next 7 days." id="Lls-aZ-3EQ">
+                        <font key="font" metaFont="smallSystem"/>
+                        <color key="textColor" red="0.59999999999999998" green="0.59999999999999998" blue="0.59999999999999998" alpha="1" colorSpace="calibratedRGB"/>
+                        <color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
+                    </textFieldCell>
+                </textField>
+                <customView translatesAutoresizingMaskIntoConstraints="NO" id="VYO-aF-Lwh">
+                    <rect key="frame" x="36" y="231" width="258" height="32"/>
+                    <subviews>
+                        <imageView horizontalHuggingPriority="251" verticalHuggingPriority="251" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="dSc-72-ZdZ">
+                            <rect key="frame" x="0.0" y="0.0" width="32" height="32"/>
+                            <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
+                            <imageCell key="cell" refusesFirstResponder="YES" alignment="left" imageScaling="proportionallyDown" image="pic_Convert" id="7Go-cB-9mD"/>
+                        </imageView>
+                        <textField focusRingType="none" verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" translatesAutoresizingMaskIntoConstraints="NO" id="ZJ0-xa-7HW">
+                            <rect key="frame" x="42" y="2" width="218" height="28"/>
+                            <textFieldCell key="cell" sendsActionOnEndEditing="YES" alignment="left" title="Enjoy all features to annotate and edit PDF for the next 7 days." id="3Ig-b5-bcf">
+                                <font key="font" metaFont="smallSystem"/>
+                                <color key="textColor" red="0.59999999999999998" green="0.59999999999999998" blue="0.59999999999999998" alpha="1" colorSpace="calibratedRGB"/>
+                                <color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
+                            </textFieldCell>
+                        </textField>
+                    </subviews>
+                    <constraints>
+                        <constraint firstAttribute="trailing" relation="greaterThanOrEqual" secondItem="ZJ0-xa-7HW" secondAttribute="trailing" id="Oae-fB-7iC"/>
+                        <constraint firstItem="ZJ0-xa-7HW" firstAttribute="centerY" secondItem="VYO-aF-Lwh" secondAttribute="centerY" id="YK2-pX-6mf"/>
+                        <constraint firstAttribute="width" constant="258" id="gMV-ok-LIn"/>
+                        <constraint firstItem="ZJ0-xa-7HW" firstAttribute="leading" secondItem="VYO-aF-Lwh" secondAttribute="leading" constant="44" id="gMz-M5-ObE"/>
+                        <constraint firstAttribute="height" constant="32" id="xuy-Ws-Mca"/>
+                    </constraints>
+                </customView>
+                <customView translatesAutoresizingMaskIntoConstraints="NO" id="Vd3-P2-25t">
+                    <rect key="frame" x="36" y="187" width="258" height="32"/>
+                    <subviews>
+                        <imageView horizontalHuggingPriority="251" verticalHuggingPriority="251" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="XKG-Zl-dy8">
+                            <rect key="frame" x="0.0" y="0.0" width="32" height="32"/>
+                            <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
+                            <imageCell key="cell" refusesFirstResponder="YES" alignment="left" imageScaling="proportionallyDown" image="pic_Edit" id="A2s-Ya-tfJ"/>
+                        </imageView>
+                        <textField focusRingType="none" verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" translatesAutoresizingMaskIntoConstraints="NO" id="DtV-fu-1Pi">
+                            <rect key="frame" x="42" y="2" width="218" height="28"/>
+                            <textFieldCell key="cell" sendsActionOnEndEditing="YES" alignment="left" title="Enjoy all features to annotate and edit PDF for the next 7 days." id="Sla-4W-HF0">
+                                <font key="font" metaFont="smallSystem"/>
+                                <color key="textColor" red="0.59999999999999998" green="0.59999999999999998" blue="0.59999999999999998" alpha="1" colorSpace="calibratedRGB"/>
+                                <color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
+                            </textFieldCell>
+                        </textField>
+                    </subviews>
+                    <constraints>
+                        <constraint firstAttribute="height" constant="32" id="EK0-XP-YVq"/>
+                        <constraint firstAttribute="trailing" relation="greaterThanOrEqual" secondItem="DtV-fu-1Pi" secondAttribute="trailing" id="JHa-MM-LEm"/>
+                        <constraint firstItem="DtV-fu-1Pi" firstAttribute="leading" secondItem="Vd3-P2-25t" secondAttribute="leading" constant="44" id="LTB-n5-bjQ"/>
+                        <constraint firstAttribute="width" constant="258" id="nNk-d9-ErB"/>
+                        <constraint firstItem="DtV-fu-1Pi" firstAttribute="centerY" secondItem="Vd3-P2-25t" secondAttribute="centerY" id="nZH-3N-qKo"/>
+                    </constraints>
+                </customView>
+                <customView translatesAutoresizingMaskIntoConstraints="NO" id="1OR-PK-7IJ">
+                    <rect key="frame" x="36" y="143" width="258" height="32"/>
+                    <subviews>
+                        <imageView horizontalHuggingPriority="251" verticalHuggingPriority="251" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="fUP-0E-ZaQ">
+                            <rect key="frame" x="0.0" y="0.0" width="32" height="32"/>
+                            <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
+                            <imageCell key="cell" refusesFirstResponder="YES" alignment="left" imageScaling="proportionallyDown" image="pic_OCR" id="CEL-JY-zbm"/>
+                        </imageView>
+                        <textField focusRingType="none" verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" translatesAutoresizingMaskIntoConstraints="NO" id="AxZ-fF-Bhy">
+                            <rect key="frame" x="42" y="2" width="218" height="28"/>
+                            <textFieldCell key="cell" sendsActionOnEndEditing="YES" alignment="left" title="Enjoy all features to annotate and edit PDF for the next 7 days." id="uaR-N7-SpH">
+                                <font key="font" metaFont="smallSystem"/>
+                                <color key="textColor" red="0.59999999999999998" green="0.59999999999999998" blue="0.59999999999999998" alpha="1" colorSpace="calibratedRGB"/>
+                                <color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
+                            </textFieldCell>
+                        </textField>
+                    </subviews>
+                    <constraints>
+                        <constraint firstItem="AxZ-fF-Bhy" firstAttribute="centerY" secondItem="1OR-PK-7IJ" secondAttribute="centerY" id="9Tl-3b-6MQ"/>
+                        <constraint firstAttribute="width" constant="258" id="iuO-M8-ZKl"/>
+                        <constraint firstItem="AxZ-fF-Bhy" firstAttribute="leading" secondItem="1OR-PK-7IJ" secondAttribute="leading" constant="44" id="n1a-Xi-40g"/>
+                        <constraint firstAttribute="height" constant="32" id="smq-1W-XZG"/>
+                        <constraint firstAttribute="trailing" relation="greaterThanOrEqual" secondItem="AxZ-fF-Bhy" secondAttribute="trailing" id="tLh-8H-cED"/>
+                    </constraints>
+                </customView>
+                <customView translatesAutoresizingMaskIntoConstraints="NO" id="vdi-th-U4C">
+                    <rect key="frame" x="36" y="99" width="258" height="32"/>
+                    <subviews>
+                        <imageView horizontalHuggingPriority="251" verticalHuggingPriority="251" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="cwY-sA-MAv">
+                            <rect key="frame" x="0.0" y="0.0" width="32" height="32"/>
+                            <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
+                            <imageCell key="cell" refusesFirstResponder="YES" alignment="left" imageScaling="proportionallyDown" image="pic_Forms" id="53N-I2-HzX"/>
+                        </imageView>
+                        <textField focusRingType="none" verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" translatesAutoresizingMaskIntoConstraints="NO" id="ONS-c2-4NJ">
+                            <rect key="frame" x="42" y="2" width="218" height="28"/>
+                            <textFieldCell key="cell" sendsActionOnEndEditing="YES" alignment="left" title="Enjoy all features to annotate and edit PDF for the next 7 days." id="tM1-sF-C0B">
+                                <font key="font" metaFont="smallSystem"/>
+                                <color key="textColor" red="0.59999999999999998" green="0.59999999999999998" blue="0.59999999999999998" alpha="1" colorSpace="calibratedRGB"/>
+                                <color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
+                            </textFieldCell>
+                        </textField>
+                    </subviews>
+                    <constraints>
+                        <constraint firstItem="ONS-c2-4NJ" firstAttribute="leading" secondItem="vdi-th-U4C" secondAttribute="leading" constant="44" id="NBe-Aw-Afj"/>
+                        <constraint firstAttribute="height" constant="32" id="Uqc-Uy-BfY"/>
+                        <constraint firstAttribute="trailing" relation="greaterThanOrEqual" secondItem="ONS-c2-4NJ" secondAttribute="trailing" id="WXg-tG-rQn"/>
+                        <constraint firstAttribute="width" constant="258" id="ht4-KZ-flf"/>
+                        <constraint firstItem="ONS-c2-4NJ" firstAttribute="centerY" secondItem="vdi-th-U4C" secondAttribute="centerY" id="pVl-2Y-K1q"/>
+                    </constraints>
+                </customView>
+                <button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="7jK-oA-p1F" customClass="KMButton">
+                    <rect key="frame" x="169" y="43" width="141" height="32"/>
+                    <buttonCell key="cell" type="bevel" bezelStyle="rounded" image="KMImageNameButtonBackground220" imagePosition="overlaps" alignment="center" imageScaling="axesIndependently" inset="2" id="BMr-0m-iye">
+                        <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
+                        <font key="font" metaFont="system"/>
+                    </buttonCell>
+                </button>
+                <button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="K7L-07-afh" customClass="KMCustomButton">
+                    <rect key="frame" x="20" y="43" width="141" height="32"/>
+                    <buttonCell key="cell" type="bevel" title="Continue" bezelStyle="rounded" alignment="center" imageScaling="proportionallyDown" inset="2" id="mwu-TX-JBz">
+                        <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
+                        <font key="font" metaFont="system"/>
+                        <string key="keyEquivalent" base64-UTF8="YES">
+DQ
+</string>
+                    </buttonCell>
+                    <constraints>
+                        <constraint firstAttribute="width" constant="141" id="jkX-6d-rPV"/>
+                        <constraint firstAttribute="height" constant="32" id="ybU-X2-Mz2"/>
+                    </constraints>
+                    <connections>
+                        <action selector="continueButtonAction:" target="-2" id="eI7-Mb-Tve"/>
+                    </connections>
+                </button>
+                <button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="5Fe-TM-Czc" customClass="KMCustomButton">
+                    <rect key="frame" x="169" y="43" width="141" height="32"/>
+                    <buttonCell key="cell" type="bevel" title="Buy Now" bezelStyle="rounded" alignment="center" imageScaling="proportionallyDown" inset="2" id="ZgL-OS-e9L">
+                        <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
+                        <font key="font" metaFont="system"/>
+                        <string key="keyEquivalent" base64-UTF8="YES">
+DQ
+</string>
+                    </buttonCell>
+                    <constraints>
+                        <constraint firstAttribute="width" constant="141" id="Dni-TV-EYb"/>
+                        <constraint firstAttribute="height" constant="32" id="yHR-l5-pZe"/>
+                    </constraints>
+                    <connections>
+                        <action selector="buyNowAction:" target="-2" id="awh-P1-Q26"/>
+                    </connections>
+                </button>
+            </subviews>
+            <constraints>
+                <constraint firstItem="5Fe-TM-Czc" firstAttribute="top" secondItem="vdi-th-U4C" secondAttribute="bottom" constant="24" id="0vb-Yt-OtP"/>
+                <constraint firstItem="QUN-Ge-ELW" firstAttribute="top" secondItem="eR9-u2-5Mh" secondAttribute="bottom" constant="12" id="7It-cA-oFA"/>
+                <constraint firstItem="QUN-Ge-ELW" firstAttribute="centerX" secondItem="Hz6-mo-xeY" secondAttribute="centerX" id="7Wz-im-eox"/>
+                <constraint firstItem="eR9-u2-5Mh" firstAttribute="top" secondItem="2aZ-82-uQr" secondAttribute="bottom" constant="20" id="CHE-6W-T6g"/>
+                <constraint firstItem="QUN-Ge-ELW" firstAttribute="leading" secondItem="Hz6-mo-xeY" secondAttribute="leading" constant="20" id="EKm-VX-HIC"/>
+                <constraint firstItem="K7L-07-afh" firstAttribute="centerX" secondItem="Hz6-mo-xeY" secondAttribute="centerX" constant="-75" id="EZ4-Aa-iT5"/>
+                <constraint firstItem="1OR-PK-7IJ" firstAttribute="centerX" secondItem="Hz6-mo-xeY" secondAttribute="centerX" id="GfJ-EJ-S28"/>
+                <constraint firstAttribute="trailing" secondItem="QUN-Ge-ELW" secondAttribute="trailing" constant="20" id="NRS-RS-kBo"/>
+                <constraint firstItem="1OR-PK-7IJ" firstAttribute="top" secondItem="Vd3-P2-25t" secondAttribute="bottom" constant="12" id="OqT-1V-o6D"/>
+                <constraint firstItem="2aZ-82-uQr" firstAttribute="top" secondItem="Hz6-mo-xeY" secondAttribute="top" constant="20" id="PBW-uV-aou"/>
+                <constraint firstItem="Vd3-P2-25t" firstAttribute="centerX" secondItem="VYO-aF-Lwh" secondAttribute="centerX" id="UA9-80-rdK"/>
+                <constraint firstItem="eR9-u2-5Mh" firstAttribute="centerX" secondItem="Hz6-mo-xeY" secondAttribute="centerX" id="WRT-co-e4Z"/>
+                <constraint firstItem="VYO-aF-Lwh" firstAttribute="centerX" secondItem="Hz6-mo-xeY" secondAttribute="centerX" id="Whx-Hr-5w2"/>
+                <constraint firstItem="vdi-th-U4C" firstAttribute="top" secondItem="1OR-PK-7IJ" secondAttribute="bottom" constant="12" id="Wl1-Ow-Rfl"/>
+                <constraint firstItem="5Fe-TM-Czc" firstAttribute="leading" secondItem="7jK-oA-p1F" secondAttribute="leading" id="Wwa-QU-qsP"/>
+                <constraint firstItem="5Fe-TM-Czc" firstAttribute="bottom" secondItem="7jK-oA-p1F" secondAttribute="bottom" id="c1c-jQ-IcY"/>
+                <constraint firstItem="5Fe-TM-Czc" firstAttribute="top" secondItem="7jK-oA-p1F" secondAttribute="top" id="dDV-PF-n92"/>
+                <constraint firstItem="Vd3-P2-25t" firstAttribute="top" secondItem="VYO-aF-Lwh" secondAttribute="bottom" constant="12" id="fiE-Zp-jZT"/>
+                <constraint firstItem="K7L-07-afh" firstAttribute="top" secondItem="vdi-th-U4C" secondAttribute="bottom" constant="24" id="gaJ-sS-Bqe"/>
+                <constraint firstItem="5Fe-TM-Czc" firstAttribute="trailing" secondItem="7jK-oA-p1F" secondAttribute="trailing" id="iHN-wa-Spd"/>
+                <constraint firstItem="2aZ-82-uQr" firstAttribute="centerX" secondItem="Hz6-mo-xeY" secondAttribute="centerX" id="itR-fj-G3A"/>
+                <constraint firstItem="VYO-aF-Lwh" firstAttribute="top" secondItem="QUN-Ge-ELW" secondAttribute="bottom" constant="24" id="mc5-2R-283"/>
+                <constraint firstItem="vdi-th-U4C" firstAttribute="centerX" secondItem="Hz6-mo-xeY" secondAttribute="centerX" id="vXv-uG-Ml3"/>
+                <constraint firstItem="5Fe-TM-Czc" firstAttribute="leading" secondItem="K7L-07-afh" secondAttribute="trailing" constant="8" id="yN2-bE-gi8"/>
+            </constraints>
+            <point key="canvasLocation" x="120" y="100.5"/>
+        </customView>
+    </objects>
+    <resources>
+        <image name="KMImageNameButtonBackground220" width="660" height="120"/>
+        <image name="img_licensecode_successful" width="64" height="64"/>
+        <image name="pic_Convert" width="32" height="32"/>
+        <image name="pic_Edit" width="32" height="32"/>
+        <image name="pic_Forms" width="32" height="32"/>
+        <image name="pic_OCR" width="32" height="32"/>
+    </resources>
+</document>

+ 14 - 0
PDF Office/PDF Master/Class/Purchase/DMG/Verification/KMVerificationExpiredViewController.h

@@ -0,0 +1,14 @@
+//
+//  KMVerificationExpiredViewController.h
+//  PDF Reader Pro Edition
+//
+//  Created by 王帅 on 2018/5/11.
+//
+
+#import <Cocoa/Cocoa.h>
+
+@interface KMVerificationExpiredViewController : NSViewController
+
+@property (nonatomic,copy) void (^callback) (NSInteger index);
+
+@end

+ 119 - 0
PDF Office/PDF Master/Class/Purchase/DMG/Verification/KMVerificationExpiredViewController.m

@@ -0,0 +1,119 @@
+//
+//  KMVerificationExpiredViewController.m
+//  PDF Reader Pro Edition
+//
+//  Created by 王帅 on 2018/5/11.
+//
+
+#import "KMVerificationExpiredViewController.h"
+#import "PDF_Master-Bridging-Header.h"
+#if VERSION_DMG
+#import <PDF_Master-Swift.h>
+#else
+#import <PDF_Master-Swift.h>
+#endif
+
+//#import "VerificationManager.h"
+
+@interface KMVerificationExpiredViewController ()
+
+@property (nonatomic,assign) IBOutlet NSTextField *label;
+@property (nonatomic,assign) IBOutlet NSTextField *sublabel;
+
+@property (nonatomic,assign) IBOutlet NSTextField *licenseLabel;
+@property (nonatomic,assign) IBOutlet NSTextField *license;
+@property (nonatomic,assign) IBOutlet NSTextField *deviceLabel;
+@property (nonatomic,assign) IBOutlet NSTextField *device;
+
+@property (nonatomic,assign) IBOutlet KMCustomButton *licenseButton;
+@property (nonatomic,assign) IBOutlet KMCustomButton *contactUsButton;
+
+@property (nonatomic, retain) CALayer *contactUsButtonLayer;
+
+@end
+
+@implementation KMVerificationExpiredViewController
+
+#pragma mark Init Methods
+
+- (instancetype)init {
+    if (self = [super initWithNibName:@"KMVerificationExpiredViewController" bundle:nil]) {
+        
+    }
+    return self;
+}
+
+- (void)dealloc {
+    
+}
+
+#pragma mark View Methods
+
+- (void)loadView {
+    [super loadView];
+    // Do view setup here.
+    self.licenseButton.wantsLayer = YES;
+    self.licenseButton.layer.masksToBounds = YES;
+    self.licenseButton.layer.cornerRadius = 1.0;
+//    self.licenseButton.layer.backgroundColor = [NSColor colorWithRed:218/255.0 green:219/255.0 blue:222/255.0 alpha:1.0].CGColor;
+
+    self.contactUsButton.wantsLayer = YES;
+    self.contactUsButton.layer.masksToBounds = YES;
+    self.contactUsButton.layer.cornerRadius = 1.0;
+//    self.contactUsButton.layer.backgroundColor = [KMAppearance KMColor_Interactive_M0].CGColor;
+
+    self.label.stringValue = NSLocalizedString(@"Activation Error", nil);
+    self.sublabel.stringValue = NSLocalizedString(@"Your license was deactivated. Please contact our support team if you are not sure why this happened.", nil);
+    
+    self.licenseLabel.stringValue = NSLocalizedString(@"License ID:", nil);
+    self.deviceLabel.stringValue = NSLocalizedString(@"UUID:", nil);
+    
+    self.licenseButton.title = NSLocalizedString(@"Enter License Number", nil);
+    self.contactUsButton.title = NSLocalizedString(@"Contact Us", nil);
+    [self.licenseButton setTitleColor:[KMAppearance KMColor_Layout_H0]];
+    [self.contactUsButton setTitleColor:[NSColor whiteColor]];
+    
+//    NSString *cdkey = [VerificationManager manager].detailInfo[@"device"][@"cdkey"];
+//    NSString *unique_sn = [VerificationManager manager].detailInfo[@"device"][@"unique_sn"];
+//    self.license.stringValue = cdkey ? : @"";
+//    self.device.stringValue = unique_sn ? : @"";
+    
+    self.contactUsButtonLayer = [CALayer layer];
+    [self.contactUsButton.layer addSublayer:self.contactUsButtonLayer];
+    self.contactUsButtonLayer.frame = CGRectMake(0, 0, CGRectGetWidth(_contactUsButton.bounds), CGRectGetHeight(_contactUsButton.bounds));
+    self.contactUsButtonLayer.backgroundColor = [KMAppearance KMColor_Status_Sel].CGColor;
+    self.contactUsButtonLayer.cornerRadius = 0;
+    self.contactUsButtonLayer.hidden = YES;
+    __block KMVerificationExpiredViewController *blockSelf = self;
+    self.contactUsButton.mouseMoveCallback = ^(BOOL mouseEntered) {
+        if (mouseEntered)
+            blockSelf.contactUsButtonLayer.hidden = NO;
+        else
+            blockSelf.contactUsButtonLayer.hidden = YES;
+    };
+    self.licenseButton.mouseMoveCallback = nil;
+    
+    [self.label setTextColor:[KMAppearance KMColor_Layout_H0]];
+    [self.sublabel setTextColor:[KMAppearance KM_242424_Color75]];
+    [self.licenseLabel setTextColor:[KMAppearance KM_242424_Color75]];
+    [self.deviceLabel setTextColor:[KMAppearance KM_242424_Color75]];
+    [self.license setTextColor:[KMAppearance KM_242424_Color75]];
+    [self.device setTextColor:[KMAppearance KM_242424_Color75]];
+    
+}
+
+#pragma mark Button Actions
+
+- (IBAction)licenseButtonAction:(id)sender {
+    if (self.callback) {
+        self.callback(0);
+    }
+}
+
+- (IBAction)contactUsButtonAction:(id)sender {
+    if (self.callback) {
+        self.callback(1);
+    }
+}
+
+@end

+ 199 - 0
PDF Office/PDF Master/Class/Purchase/DMG/Verification/KMVerificationExpiredViewController.xib

@@ -0,0 +1,199 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="22505" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" customObjectInstantitationMethod="direct">
+    <dependencies>
+        <deployment identifier="macosx"/>
+        <plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="22505"/>
+        <capability name="Named colors" minToolsVersion="9.0"/>
+        <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
+    </dependencies>
+    <objects>
+        <customObject id="-2" userLabel="File's Owner" customClass="KMVerificationExpiredViewController">
+            <connections>
+                <outlet property="contactUsButton" destination="SvY-tk-4f4" id="7qR-LO-0yT"/>
+                <outlet property="device" destination="JiE-TZ-8Vp" id="c43-iQ-BIE"/>
+                <outlet property="deviceLabel" destination="hzQ-NY-jy8" id="TrV-Co-p70"/>
+                <outlet property="label" destination="9C3-dt-r1i" id="dSo-TL-Yoe"/>
+                <outlet property="license" destination="kxp-bf-b6z" id="T7K-1T-lTi"/>
+                <outlet property="licenseButton" destination="Jnx-M6-gzK" id="9rr-A2-8fV"/>
+                <outlet property="licenseLabel" destination="7OI-la-VhX" id="zZ6-CA-x7x"/>
+                <outlet property="sublabel" destination="ybe-ej-8WB" id="QMd-i7-EQl"/>
+                <outlet property="view" destination="Hz6-mo-xeY" id="0bl-1N-x8E"/>
+            </connections>
+        </customObject>
+        <customObject id="-1" userLabel="First Responder" customClass="FirstResponder"/>
+        <customObject id="-3" userLabel="Application" customClass="NSObject"/>
+        <customView id="Hz6-mo-xeY">
+            <rect key="frame" x="0.0" y="0.0" width="366" height="297"/>
+            <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
+            <subviews>
+                <imageView horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="c8k-BJ-Ap0">
+                    <rect key="frame" x="154" y="200" width="58" height="58"/>
+                    <constraints>
+                        <constraint firstAttribute="height" constant="58" id="1ip-kq-Jrv"/>
+                        <constraint firstAttribute="width" constant="58" id="dP1-9R-BDS"/>
+                    </constraints>
+                    <imageCell key="cell" refusesFirstResponder="YES" alignment="left" imageScaling="proportionallyUpOrDown" image="pic_cha" id="GLr-81-y0w"/>
+                </imageView>
+                <textField focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="9C3-dt-r1i">
+                    <rect key="frame" x="130" y="161" width="106" height="16"/>
+                    <textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Activation Error" id="hgV-iK-mWg">
+                        <font key="font" metaFont="systemBold"/>
+                        <color key="textColor" red="0.20000000000000001" green="0.20000000000000001" blue="0.20000000000000001" alpha="1" colorSpace="calibratedRGB"/>
+                        <color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
+                    </textFieldCell>
+                </textField>
+                <customView translatesAutoresizingMaskIntoConstraints="NO" id="u7z-iy-Dve">
+                    <rect key="frame" x="97" y="99" width="173" height="14"/>
+                    <subviews>
+                        <textField focusRingType="none" verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" translatesAutoresizingMaskIntoConstraints="NO" id="7OI-la-VhX">
+                            <rect key="frame" x="-2" y="0.0" width="66" height="14"/>
+                            <textFieldCell key="cell" sendsActionOnEndEditing="YES" alignment="center" title="License ID:" id="QVO-et-5d3">
+                                <font key="font" metaFont="smallSystem"/>
+                                <color key="textColor" red="0.40000000000000002" green="0.40000000000000002" blue="0.40000000000000002" alpha="1" colorSpace="calibratedRGB"/>
+                                <color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
+                            </textFieldCell>
+                        </textField>
+                        <textField focusRingType="none" verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" translatesAutoresizingMaskIntoConstraints="NO" id="kxp-bf-b6z">
+                            <rect key="frame" x="65" y="0.0" width="110" height="14"/>
+                            <textFieldCell key="cell" selectable="YES" sendsActionOnEndEditing="YES" alignment="center" title="BG4HJS2JKS2HSH" id="YVI-Py-m4L">
+                                <font key="font" metaFont="smallSystem"/>
+                                <color key="textColor" red="0.40000000000000002" green="0.40000000000000002" blue="0.40000000000000002" alpha="1" colorSpace="calibratedRGB"/>
+                                <color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
+                            </textFieldCell>
+                        </textField>
+                    </subviews>
+                    <constraints>
+                        <constraint firstAttribute="trailing" secondItem="kxp-bf-b6z" secondAttribute="trailing" id="63g-g7-Smp"/>
+                        <constraint firstAttribute="bottom" secondItem="kxp-bf-b6z" secondAttribute="bottom" id="8Ds-Zu-KSl"/>
+                        <constraint firstItem="7OI-la-VhX" firstAttribute="top" secondItem="u7z-iy-Dve" secondAttribute="top" id="J9I-f9-dOD"/>
+                        <constraint firstItem="7OI-la-VhX" firstAttribute="leading" secondItem="u7z-iy-Dve" secondAttribute="leading" id="hQv-Qk-jDD"/>
+                        <constraint firstItem="kxp-bf-b6z" firstAttribute="top" secondItem="u7z-iy-Dve" secondAttribute="top" id="jLW-xo-gNb"/>
+                        <constraint firstAttribute="bottom" secondItem="7OI-la-VhX" secondAttribute="bottom" id="xBi-16-WT9"/>
+                        <constraint firstItem="kxp-bf-b6z" firstAttribute="leading" secondItem="7OI-la-VhX" secondAttribute="trailing" constant="5" id="yot-Go-fR3"/>
+                    </constraints>
+                </customView>
+                <customView translatesAutoresizingMaskIntoConstraints="NO" id="dKu-w6-0Jy">
+                    <rect key="frame" x="110" y="80" width="146" height="14"/>
+                    <subviews>
+                        <textField focusRingType="none" verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" translatesAutoresizingMaskIntoConstraints="NO" id="hzQ-NY-jy8">
+                            <rect key="frame" x="-2" y="0.0" width="39" height="14"/>
+                            <textFieldCell key="cell" sendsActionOnEndEditing="YES" alignment="center" title="UUID:" id="I4t-O9-q3P">
+                                <font key="font" metaFont="smallSystem"/>
+                                <color key="textColor" red="0.40000000000000002" green="0.40000000000000002" blue="0.40000000000000002" alpha="1" colorSpace="calibratedRGB"/>
+                                <color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
+                            </textFieldCell>
+                        </textField>
+                        <textField focusRingType="none" verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" translatesAutoresizingMaskIntoConstraints="NO" id="JiE-TZ-8Vp">
+                            <rect key="frame" x="38" y="0.0" width="110" height="14"/>
+                            <textFieldCell key="cell" selectable="YES" sendsActionOnEndEditing="YES" alignment="center" title="BG4HJS2JKS2HSH" id="Yod-oG-rnG">
+                                <font key="font" metaFont="smallSystem"/>
+                                <color key="textColor" red="0.40000000000000002" green="0.40000000000000002" blue="0.40000000000000002" alpha="1" colorSpace="calibratedRGB"/>
+                                <color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
+                            </textFieldCell>
+                        </textField>
+                    </subviews>
+                    <constraints>
+                        <constraint firstItem="hzQ-NY-jy8" firstAttribute="top" secondItem="dKu-w6-0Jy" secondAttribute="top" id="PPi-Yf-1Hr"/>
+                        <constraint firstItem="JiE-TZ-8Vp" firstAttribute="top" secondItem="dKu-w6-0Jy" secondAttribute="top" id="U1t-SE-2K2"/>
+                        <constraint firstItem="JiE-TZ-8Vp" firstAttribute="leading" secondItem="hzQ-NY-jy8" secondAttribute="trailing" constant="5" id="W95-gD-siI"/>
+                        <constraint firstAttribute="trailing" secondItem="JiE-TZ-8Vp" secondAttribute="trailing" id="Xyc-Sn-2OA"/>
+                        <constraint firstAttribute="bottom" secondItem="JiE-TZ-8Vp" secondAttribute="bottom" id="ZM8-04-MfW"/>
+                        <constraint firstItem="hzQ-NY-jy8" firstAttribute="leading" secondItem="dKu-w6-0Jy" secondAttribute="leading" id="jor-ek-7DR"/>
+                        <constraint firstAttribute="bottom" secondItem="hzQ-NY-jy8" secondAttribute="bottom" id="lTi-Os-oC4"/>
+                    </constraints>
+                </customView>
+                <box boxType="custom" borderWidth="0.0" cornerRadius="1" title="Box" translatesAutoresizingMaskIntoConstraints="NO" id="Tlz-Ze-7as">
+                    <rect key="frame" x="20" y="28" width="159" height="36"/>
+                    <view key="contentView" id="XqI-QP-bzs">
+                        <rect key="frame" x="0.0" y="0.0" width="159" height="36"/>
+                        <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
+                    </view>
+                    <color key="fillColor" name="KMColor_Interactive_S0"/>
+                </box>
+                <button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="Jnx-M6-gzK" customClass="KMCustomButton">
+                    <rect key="frame" x="20" y="28" width="159" height="36"/>
+                    <buttonCell key="cell" type="bevel" title="Enter License Number" bezelStyle="rounded" alignment="center" imageScaling="proportionallyDown" inset="2" id="aEn-YW-JwF">
+                        <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
+                        <font key="font" metaFont="system"/>
+                    </buttonCell>
+                    <constraints>
+                        <constraint firstAttribute="height" constant="36" id="REP-LU-mRx"/>
+                    </constraints>
+                    <connections>
+                        <action selector="licenseButtonAction:" target="-2" id="GpJ-J8-VTq"/>
+                    </connections>
+                </button>
+                <box boxType="custom" borderWidth="0.0" cornerRadius="1" title="Box" translatesAutoresizingMaskIntoConstraints="NO" id="n2Q-jy-5V2">
+                    <rect key="frame" x="187" y="28" width="159" height="36"/>
+                    <view key="contentView" id="uVg-nr-Bbp">
+                        <rect key="frame" x="0.0" y="0.0" width="159" height="36"/>
+                        <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
+                    </view>
+                    <color key="fillColor" name="KMColor_Interactive_M0"/>
+                </box>
+                <button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="SvY-tk-4f4" customClass="KMCustomButton">
+                    <rect key="frame" x="187" y="28" width="159" height="36"/>
+                    <buttonCell key="cell" type="bevel" title="Contact Us" bezelStyle="rounded" alignment="center" imageScaling="proportionallyDown" inset="2" id="wj5-Vh-mN2">
+                        <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
+                        <font key="font" metaFont="system"/>
+                        <string key="keyEquivalent" base64-UTF8="YES">
+DQ
+</string>
+                    </buttonCell>
+                    <constraints>
+                        <constraint firstAttribute="height" constant="36" id="97B-vK-9qa"/>
+                    </constraints>
+                    <connections>
+                        <action selector="contactUsButtonAction:" target="-2" id="zmf-q9-aXC"/>
+                    </connections>
+                </button>
+                <textField focusRingType="none" verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" translatesAutoresizingMaskIntoConstraints="NO" id="ybe-ej-8WB">
+                    <rect key="frame" x="18" y="123" width="330" height="28"/>
+                    <textFieldCell key="cell" sendsActionOnEndEditing="YES" alignment="center" title="Your license was deactivated. Please contact our support team if you are not sure why this happened." id="LqO-3S-VgM">
+                        <font key="font" metaFont="smallSystem"/>
+                        <color key="textColor" red="0.59999999999999998" green="0.59999999999999998" blue="0.59999999999999998" alpha="1" colorSpace="calibratedRGB"/>
+                        <color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
+                    </textFieldCell>
+                </textField>
+            </subviews>
+            <constraints>
+                <constraint firstItem="ybe-ej-8WB" firstAttribute="top" secondItem="9C3-dt-r1i" secondAttribute="bottom" constant="10" id="3lD-NO-V2Y"/>
+                <constraint firstItem="SvY-tk-4f4" firstAttribute="top" secondItem="dKu-w6-0Jy" secondAttribute="bottom" constant="16" id="5r3-IF-aWh"/>
+                <constraint firstAttribute="trailing" secondItem="ybe-ej-8WB" secondAttribute="trailing" constant="20" id="7t7-fK-W9B"/>
+                <constraint firstItem="SvY-tk-4f4" firstAttribute="trailing" secondItem="n2Q-jy-5V2" secondAttribute="trailing" id="AV7-q8-uCc"/>
+                <constraint firstItem="Jnx-M6-gzK" firstAttribute="top" secondItem="Tlz-Ze-7as" secondAttribute="top" id="BPU-hW-9aH"/>
+                <constraint firstItem="Jnx-M6-gzK" firstAttribute="leading" secondItem="Hz6-mo-xeY" secondAttribute="leading" constant="20" id="DW0-tz-SPN"/>
+                <constraint firstItem="dKu-w6-0Jy" firstAttribute="centerX" secondItem="Hz6-mo-xeY" secondAttribute="centerX" id="Dwd-vw-6XL"/>
+                <constraint firstItem="c8k-BJ-Ap0" firstAttribute="top" secondItem="Hz6-mo-xeY" secondAttribute="top" constant="39" id="FrF-Fv-TcO"/>
+                <constraint firstItem="SvY-tk-4f4" firstAttribute="width" secondItem="Jnx-M6-gzK" secondAttribute="width" id="J1f-IY-jda"/>
+                <constraint firstItem="u7z-iy-Dve" firstAttribute="top" secondItem="ybe-ej-8WB" secondAttribute="bottom" constant="10" id="K1B-d7-pQo"/>
+                <constraint firstAttribute="trailing" secondItem="SvY-tk-4f4" secondAttribute="trailing" constant="20" id="MeM-J6-gGj"/>
+                <constraint firstItem="Jnx-M6-gzK" firstAttribute="trailing" secondItem="Tlz-Ze-7as" secondAttribute="trailing" id="QtR-eA-EbV"/>
+                <constraint firstItem="Jnx-M6-gzK" firstAttribute="bottom" secondItem="Tlz-Ze-7as" secondAttribute="bottom" id="Rzy-is-Ef5"/>
+                <constraint firstItem="9C3-dt-r1i" firstAttribute="top" secondItem="c8k-BJ-Ap0" secondAttribute="bottom" constant="23" id="SRN-dH-yrA"/>
+                <constraint firstItem="Jnx-M6-gzK" firstAttribute="leading" secondItem="Tlz-Ze-7as" secondAttribute="leading" id="TOw-zJ-0lJ"/>
+                <constraint firstItem="ybe-ej-8WB" firstAttribute="centerX" secondItem="Hz6-mo-xeY" secondAttribute="centerX" id="Ydu-rc-oFU"/>
+                <constraint firstItem="SvY-tk-4f4" firstAttribute="bottom" secondItem="n2Q-jy-5V2" secondAttribute="bottom" id="Yqw-pj-qAx"/>
+                <constraint firstItem="u7z-iy-Dve" firstAttribute="centerX" secondItem="Hz6-mo-xeY" secondAttribute="centerX" id="cwn-Fm-PWM"/>
+                <constraint firstItem="c8k-BJ-Ap0" firstAttribute="centerX" secondItem="Hz6-mo-xeY" secondAttribute="centerX" id="eNH-Am-kSo"/>
+                <constraint firstItem="SvY-tk-4f4" firstAttribute="leading" secondItem="Jnx-M6-gzK" secondAttribute="trailing" constant="8" id="eRs-fm-YR8"/>
+                <constraint firstItem="dKu-w6-0Jy" firstAttribute="top" secondItem="u7z-iy-Dve" secondAttribute="bottom" constant="5" id="hi1-DN-3cR"/>
+                <constraint firstAttribute="bottom" secondItem="Jnx-M6-gzK" secondAttribute="bottom" constant="28" id="htX-z0-osp"/>
+                <constraint firstItem="SvY-tk-4f4" firstAttribute="top" secondItem="n2Q-jy-5V2" secondAttribute="top" id="mOl-xr-a3s"/>
+                <constraint firstItem="SvY-tk-4f4" firstAttribute="leading" secondItem="n2Q-jy-5V2" secondAttribute="leading" id="wBV-fj-WYx"/>
+                <constraint firstItem="9C3-dt-r1i" firstAttribute="centerX" secondItem="Hz6-mo-xeY" secondAttribute="centerX" id="x8P-AV-Ji5"/>
+                <constraint firstItem="Jnx-M6-gzK" firstAttribute="top" secondItem="dKu-w6-0Jy" secondAttribute="bottom" constant="16" id="zXz-ot-EPG"/>
+            </constraints>
+            <point key="canvasLocation" x="-149" y="114"/>
+        </customView>
+    </objects>
+    <resources>
+        <image name="pic_cha" width="110" height="110"/>
+        <namedColor name="KMColor_Interactive_M0">
+            <color red="0.15294117647058825" green="0.23529411764705882" blue="0.3843137254901961" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
+        </namedColor>
+        <namedColor name="KMColor_Interactive_S0">
+            <color red="0.85490196078431369" green="0.85882352941176465" blue="0.87058823529411766" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
+        </namedColor>
+    </resources>
+</document>

+ 16 - 0
PDF Office/PDF Master/Class/Purchase/DMG/Verification/KMVerificationInfoViewController.h

@@ -0,0 +1,16 @@
+//
+//  KMVerificationInfoViewController.h
+//  PDF Reader Pro Edition
+//
+//  Created by 王帅 on 2018/5/11.
+//
+
+#import <Cocoa/Cocoa.h>
+
+@interface KMVerificationInfoViewController : NSViewController
+
+@property (nonatomic, copy) void (^callback) (void);
+
+@property (nonatomic, copy) void (^unbindAction) (void);
+
+@end

+ 107 - 0
PDF Office/PDF Master/Class/Purchase/DMG/Verification/KMVerificationInfoViewController.m

@@ -0,0 +1,107 @@
+//
+//  KMVerificationInfoViewController.m
+//  PDF Reader Pro Edition
+//
+//  Created by 王帅 on 2018/5/11.
+//
+
+#import "KMVerificationInfoViewController.h"
+#import "PDF_Master-Bridging-Header.h"
+#if VERSION_DMG
+#import <PDF_Master-Swift.h>
+#else
+#import <PDF_Master-Swift.h>
+#endif
+
+//#import "VerificationManager.h"
+
+@interface KMVerificationInfoViewController ()
+
+@property (nonatomic, assign) IBOutlet NSTextField *label;
+
+@property (nonatomic, assign) IBOutlet NSTextField *licenseLabel;
+@property (nonatomic, assign) IBOutlet NSTextField *license;
+@property (nonatomic, assign) IBOutlet NSTextField *deviceLabel;
+@property (nonatomic, assign) IBOutlet NSTextField *device;
+
+@property (nonatomic, assign) IBOutlet KMCustomButton *continueButton;
+@property (assign) IBOutlet NSButton *unbindButton;
+
+@property (nonatomic, retain) CALayer *continueButtonLayer;
+
+@end
+
+@implementation KMVerificationInfoViewController
+
+#pragma mark Init Methods
+
+- (instancetype)init {
+    if (self = [super initWithNibName:@"KMVerificationInfoViewController" bundle:nil]) {
+        
+    }
+    return self;
+}
+
+- (void)dealloc {
+    
+}
+
+#pragma mark Setter Methods
+
+- (void)loadView {
+    [super loadView];
+    // Do view setup here.
+    self.continueButton.wantsLayer = YES;
+    self.continueButton.layer.masksToBounds = YES;
+    self.continueButton.layer.cornerRadius = 1.0;
+    
+    self.label.stringValue = NSLocalizedString(@"Successful activation!", nil);
+    
+    self.licenseLabel.stringValue = NSLocalizedString(@"License ID:", nil);
+    self.deviceLabel.stringValue = NSLocalizedString(@"UUID:", nil);
+    
+    self.continueButton.title = NSLocalizedString(@"Continue", nil);
+    [self.continueButton setTitleColor:[NSColor whiteColor]];
+    
+    self.unbindButton.title = NSLocalizedString(@"Unbind License Code", nil);
+    
+//    NSString *cdkey = [VerificationManager manager].detailInfo[@"device"][@"cdkey"];
+//    NSString *unique_sn = [VerificationManager manager].detailInfo[@"device"][@"unique_sn"];
+//    self.license.stringValue = cdkey ? : @"";
+//    self.device.stringValue = unique_sn ? : @"";
+    
+    self.continueButtonLayer = [CALayer layer];
+    [self.continueButton.layer addSublayer:self.continueButtonLayer];
+    self.continueButtonLayer.frame = CGRectMake(0, 0, CGRectGetWidth(_continueButton.bounds), CGRectGetHeight(_continueButton.bounds));
+    self.continueButtonLayer.backgroundColor = [KMAppearance KMColor_Status_Sel].CGColor;
+    self.continueButtonLayer.cornerRadius = 0;
+    self.continueButtonLayer.hidden = YES;
+    __block KMVerificationInfoViewController *blockSelf = self;
+    self.continueButton.mouseMoveCallback = ^(BOOL mouseEntered) {
+        if (mouseEntered)
+            blockSelf.continueButtonLayer.hidden = NO;
+        else
+            blockSelf.continueButtonLayer.hidden = YES;
+    };
+    
+    [self.label setTextColor:[KMAppearance KMColor_Layout_H0]];
+    [self.licenseLabel setTextColor:[KMAppearance KM_242424_Color75]];
+    [self.deviceLabel setTextColor:[KMAppearance KM_242424_Color75]];
+    [self.license setTextColor:[KMAppearance KM_242424_Color75]];
+    [self.device setTextColor:[KMAppearance KM_242424_Color75]];
+}
+
+#pragma mark - IBAction
+- (IBAction)continueButtonAction:(id)sender {
+    if (self.callback) {
+        self.callback();
+    }
+}
+
+- (IBAction)unbindAction:(NSButton *)sender {
+    if (self.unbindAction) {
+        self.unbindAction();
+    }
+}
+
+@end

+ 168 - 0
PDF Office/PDF Master/Class/Purchase/DMG/Verification/KMVerificationInfoViewController.xib

@@ -0,0 +1,168 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="22505" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" customObjectInstantitationMethod="direct">
+    <dependencies>
+        <deployment identifier="macosx"/>
+        <plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="22505"/>
+        <capability name="Named colors" minToolsVersion="9.0"/>
+        <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
+    </dependencies>
+    <objects>
+        <customObject id="-2" userLabel="File's Owner" customClass="KMVerificationInfoViewController">
+            <connections>
+                <outlet property="continueButton" destination="vuU-Wl-nwe" id="nxB-mj-x9R"/>
+                <outlet property="device" destination="OsW-bj-etH" id="9y9-rr-faZ"/>
+                <outlet property="deviceLabel" destination="xKH-FY-fNY" id="vbY-DU-W2W"/>
+                <outlet property="label" destination="qYl-8D-SqT" id="mSV-Tz-eA7"/>
+                <outlet property="license" destination="fJ9-dr-xir" id="Id2-5k-Avs"/>
+                <outlet property="licenseLabel" destination="21x-5Z-vRf" id="8zf-th-Rph"/>
+                <outlet property="unbindButton" destination="jbh-ok-6bh" id="8Dg-3b-PMk"/>
+                <outlet property="view" destination="Hz6-mo-xeY" id="0bl-1N-x8E"/>
+            </connections>
+        </customObject>
+        <customObject id="-1" userLabel="First Responder" customClass="FirstResponder"/>
+        <customObject id="-3" userLabel="Application" customClass="NSObject"/>
+        <customView misplaced="YES" id="Hz6-mo-xeY">
+            <rect key="frame" x="0.0" y="0.0" width="366" height="241"/>
+            <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
+            <subviews>
+                <imageView horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="K2Z-UU-Iwy">
+                    <rect key="frame" x="159" y="191" width="48" height="48"/>
+                    <constraints>
+                        <constraint firstAttribute="height" constant="48" id="67m-h1-jS8"/>
+                        <constraint firstAttribute="width" constant="48" id="csT-Al-p0i"/>
+                    </constraints>
+                    <imageCell key="cell" refusesFirstResponder="YES" alignment="left" imageScaling="proportionallyDown" image="PDF Reader Pro Edition" id="eSd-pZ-FOg"/>
+                </imageView>
+                <textField focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="qYl-8D-SqT">
+                    <rect key="frame" x="110" y="146" width="147" height="16"/>
+                    <textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Successful activation!" id="Wbh-xt-XIw">
+                        <font key="font" metaFont="systemBold"/>
+                        <color key="textColor" red="0.20000000000000001" green="0.20000000000000001" blue="0.20000000000000001" alpha="1" colorSpace="calibratedRGB"/>
+                        <color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
+                    </textFieldCell>
+                </textField>
+                <customView translatesAutoresizingMaskIntoConstraints="NO" id="GOO-fi-og0">
+                    <rect key="frame" x="97" y="122" width="173" height="14"/>
+                    <subviews>
+                        <textField focusRingType="none" verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" translatesAutoresizingMaskIntoConstraints="NO" id="21x-5Z-vRf">
+                            <rect key="frame" x="-2" y="0.0" width="66" height="14"/>
+                            <textFieldCell key="cell" sendsActionOnEndEditing="YES" alignment="center" title="License ID:" id="CAA-jv-MLx">
+                                <font key="font" metaFont="smallSystem"/>
+                                <color key="textColor" red="0.59999999999999998" green="0.59999999999999998" blue="0.59999999999999998" alpha="1" colorSpace="calibratedRGB"/>
+                                <color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
+                            </textFieldCell>
+                        </textField>
+                        <textField focusRingType="none" verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" translatesAutoresizingMaskIntoConstraints="NO" id="fJ9-dr-xir">
+                            <rect key="frame" x="65" y="0.0" width="110" height="14"/>
+                            <textFieldCell key="cell" selectable="YES" sendsActionOnEndEditing="YES" alignment="center" title="BG4HJS2JKS2HSH" id="2O4-Ql-P3V">
+                                <font key="font" metaFont="smallSystem"/>
+                                <color key="textColor" red="0.59999999999999998" green="0.59999999999999998" blue="0.59999999999999998" alpha="1" colorSpace="calibratedRGB"/>
+                                <color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
+                            </textFieldCell>
+                        </textField>
+                    </subviews>
+                    <constraints>
+                        <constraint firstItem="fJ9-dr-xir" firstAttribute="top" secondItem="GOO-fi-og0" secondAttribute="top" id="6az-Mj-uiH"/>
+                        <constraint firstItem="fJ9-dr-xir" firstAttribute="leading" secondItem="21x-5Z-vRf" secondAttribute="trailing" constant="5" id="6xk-b5-KhR"/>
+                        <constraint firstAttribute="bottom" secondItem="21x-5Z-vRf" secondAttribute="bottom" id="GB7-7q-ID5"/>
+                        <constraint firstItem="21x-5Z-vRf" firstAttribute="leading" secondItem="GOO-fi-og0" secondAttribute="leading" id="SRw-Z3-VDd"/>
+                        <constraint firstAttribute="bottom" secondItem="fJ9-dr-xir" secondAttribute="bottom" id="VKs-H7-9Mh"/>
+                        <constraint firstItem="21x-5Z-vRf" firstAttribute="top" secondItem="GOO-fi-og0" secondAttribute="top" id="gs9-f6-2P7"/>
+                        <constraint firstAttribute="trailing" secondItem="fJ9-dr-xir" secondAttribute="trailing" id="hBb-TS-tia"/>
+                    </constraints>
+                </customView>
+                <customView translatesAutoresizingMaskIntoConstraints="NO" id="8mp-tg-jsS">
+                    <rect key="frame" x="110" y="98" width="146" height="14"/>
+                    <subviews>
+                        <textField focusRingType="none" verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" translatesAutoresizingMaskIntoConstraints="NO" id="xKH-FY-fNY">
+                            <rect key="frame" x="-2" y="0.0" width="39" height="14"/>
+                            <textFieldCell key="cell" sendsActionOnEndEditing="YES" alignment="center" title="UUID:" id="KTJ-TT-EHY">
+                                <font key="font" metaFont="smallSystem"/>
+                                <color key="textColor" red="0.59999999999999998" green="0.59999999999999998" blue="0.59999999999999998" alpha="1" colorSpace="calibratedRGB"/>
+                                <color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
+                            </textFieldCell>
+                        </textField>
+                        <textField focusRingType="none" verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" translatesAutoresizingMaskIntoConstraints="NO" id="OsW-bj-etH">
+                            <rect key="frame" x="38" y="0.0" width="110" height="14"/>
+                            <textFieldCell key="cell" selectable="YES" sendsActionOnEndEditing="YES" alignment="center" title="BG4HJS2JKS2HSH" id="1pa-Zw-TdZ">
+                                <font key="font" metaFont="smallSystem"/>
+                                <color key="textColor" red="0.59999999999999998" green="0.59999999999999998" blue="0.59999999999999998" alpha="1" colorSpace="calibratedRGB"/>
+                                <color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
+                            </textFieldCell>
+                        </textField>
+                    </subviews>
+                    <constraints>
+                        <constraint firstItem="xKH-FY-fNY" firstAttribute="top" secondItem="8mp-tg-jsS" secondAttribute="top" id="5ao-1L-4VT"/>
+                        <constraint firstAttribute="bottom" secondItem="OsW-bj-etH" secondAttribute="bottom" id="79q-XI-WiF"/>
+                        <constraint firstAttribute="bottom" secondItem="xKH-FY-fNY" secondAttribute="bottom" id="Bcd-DT-jPG"/>
+                        <constraint firstItem="OsW-bj-etH" firstAttribute="top" secondItem="8mp-tg-jsS" secondAttribute="top" id="Bmz-hY-hSv"/>
+                        <constraint firstItem="xKH-FY-fNY" firstAttribute="leading" secondItem="8mp-tg-jsS" secondAttribute="leading" id="bfC-lX-v1y"/>
+                        <constraint firstItem="OsW-bj-etH" firstAttribute="leading" secondItem="xKH-FY-fNY" secondAttribute="trailing" constant="5" id="g0c-C1-Qxq"/>
+                        <constraint firstAttribute="trailing" secondItem="OsW-bj-etH" secondAttribute="trailing" id="gd0-Md-BIx"/>
+                    </constraints>
+                </customView>
+                <box boxType="custom" borderWidth="0.0" cornerRadius="1" title="Box" translatesAutoresizingMaskIntoConstraints="NO" id="gSB-AI-iMD">
+                    <rect key="frame" x="20" y="46" width="326" height="36"/>
+                    <view key="contentView" id="6me-7c-g7u">
+                        <rect key="frame" x="0.0" y="0.0" width="326" height="36"/>
+                        <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
+                    </view>
+                    <color key="fillColor" name="KMColor_Interactive_M0"/>
+                </box>
+                <button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="vuU-Wl-nwe" customClass="KMCustomButton">
+                    <rect key="frame" x="20" y="46" width="326" height="36"/>
+                    <buttonCell key="cell" type="bevel" title="Continue" bezelStyle="rounded" alignment="center" imageScaling="proportionallyDown" inset="2" id="gho-Sr-o77">
+                        <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
+                        <font key="font" metaFont="system"/>
+                        <string key="keyEquivalent" base64-UTF8="YES">
+DQ
+</string>
+                    </buttonCell>
+                    <constraints>
+                        <constraint firstAttribute="height" constant="36" id="i9D-Ji-xVJ"/>
+                    </constraints>
+                    <connections>
+                        <action selector="continueButtonAction:" target="-2" id="nZK-Bt-wnZ"/>
+                    </connections>
+                </button>
+                <button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="jbh-ok-6bh">
+                    <rect key="frame" x="295" y="20" width="61" height="14"/>
+                    <buttonCell key="cell" type="bevel" title="解绑序列码" bezelStyle="rounded" alignment="center" imageScaling="proportionallyDown" inset="2" id="cQA-lp-Mcs">
+                        <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
+                        <font key="font" metaFont="smallSystem"/>
+                    </buttonCell>
+                    <connections>
+                        <action selector="unbindAction:" target="-2" id="LcP-Bf-oQT"/>
+                    </connections>
+                </button>
+            </subviews>
+            <constraints>
+                <constraint firstItem="vuU-Wl-nwe" firstAttribute="leading" secondItem="Hz6-mo-xeY" secondAttribute="leading" constant="20" id="4Ye-7o-2xI"/>
+                <constraint firstItem="qYl-8D-SqT" firstAttribute="top" secondItem="K2Z-UU-Iwy" secondAttribute="bottom" constant="29" id="8Kt-5l-V67"/>
+                <constraint firstItem="8mp-tg-jsS" firstAttribute="centerX" secondItem="Hz6-mo-xeY" secondAttribute="centerX" id="Afr-vg-dJA"/>
+                <constraint firstItem="qYl-8D-SqT" firstAttribute="centerX" secondItem="Hz6-mo-xeY" secondAttribute="centerX" id="FWw-Nf-JHu"/>
+                <constraint firstItem="vuU-Wl-nwe" firstAttribute="top" secondItem="8mp-tg-jsS" secondAttribute="bottom" constant="16" id="IWV-LJ-kLU"/>
+                <constraint firstItem="K2Z-UU-Iwy" firstAttribute="centerX" secondItem="Hz6-mo-xeY" secondAttribute="centerX" id="IXC-UQ-2E8"/>
+                <constraint firstItem="GOO-fi-og0" firstAttribute="top" secondItem="qYl-8D-SqT" secondAttribute="bottom" constant="10" id="KD7-H6-D1P"/>
+                <constraint firstAttribute="trailing" secondItem="jbh-ok-6bh" secondAttribute="trailing" constant="10" id="OB3-QH-N0u"/>
+                <constraint firstItem="8mp-tg-jsS" firstAttribute="top" secondItem="GOO-fi-og0" secondAttribute="bottom" constant="10" id="Ooe-Ai-ASM"/>
+                <constraint firstItem="jbh-ok-6bh" firstAttribute="top" secondItem="gSB-AI-iMD" secondAttribute="bottom" constant="12" id="Sc2-ka-sHB"/>
+                <constraint firstItem="vuU-Wl-nwe" firstAttribute="bottom" secondItem="gSB-AI-iMD" secondAttribute="bottom" id="W3K-jK-DW0"/>
+                <constraint firstItem="vuU-Wl-nwe" firstAttribute="top" secondItem="gSB-AI-iMD" secondAttribute="top" id="Wk5-5O-c6F"/>
+                <constraint firstItem="vuU-Wl-nwe" firstAttribute="trailing" secondItem="gSB-AI-iMD" secondAttribute="trailing" id="XCJ-D1-tH5"/>
+                <constraint firstItem="GOO-fi-og0" firstAttribute="centerX" secondItem="Hz6-mo-xeY" secondAttribute="centerX" id="caG-e0-Dpo"/>
+                <constraint firstAttribute="bottom" secondItem="vuU-Wl-nwe" secondAttribute="bottom" constant="46" id="d26-ur-dgm"/>
+                <constraint firstItem="vuU-Wl-nwe" firstAttribute="centerX" secondItem="Hz6-mo-xeY" secondAttribute="centerX" id="giN-9Q-55l"/>
+                <constraint firstItem="vuU-Wl-nwe" firstAttribute="leading" secondItem="gSB-AI-iMD" secondAttribute="leading" id="k1g-bv-GQI"/>
+                <constraint firstItem="K2Z-UU-Iwy" firstAttribute="top" secondItem="Hz6-mo-xeY" secondAttribute="top" constant="20" id="y4k-XU-Ry4"/>
+            </constraints>
+            <point key="canvasLocation" x="-149" y="113"/>
+        </customView>
+    </objects>
+    <resources>
+        <image name="PDF Reader Pro Edition" width="512" height="512"/>
+        <namedColor name="KMColor_Interactive_M0">
+            <color red="0.15294117647058825" green="0.23529411764705882" blue="0.3843137254901961" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
+        </namedColor>
+    </resources>
+</document>

+ 16 - 0
PDF Office/PDF Master/Class/Purchase/DMG/Verification/KMVerificationTrialViewController.h

@@ -0,0 +1,16 @@
+//
+//  KMVerificationTrialViewController.h
+//  PDF Reader Pro Edition
+//
+//  Created by 王帅 on 2018/5/8.
+//
+
+#import <Cocoa/Cocoa.h>
+
+@interface KMVerificationTrialViewController : NSViewController
+
+@property (nonatomic,copy) void (^callback) (NSInteger index, NSString *email, NSString *name);
+
+- (void)setEnabled:(BOOL)enabled;
+
+@end

+ 208 - 0
PDF Office/PDF Master/Class/Purchase/DMG/Verification/KMVerificationTrialViewController.m

@@ -0,0 +1,208 @@
+//
+//  KMVerificationTrialViewController.m
+//  PDF Reader Pro Edition
+//
+//  Created by 王帅 on 2018/5/8.
+//
+
+#import "KMVerificationTrialViewController.h"
+#import "PDF_Master-Bridging-Header.h"
+#if VERSION_DMG
+#import <PDF_Master-Swift.h>
+#else
+#import <PDF_Master-Swift.h>
+#endif
+
+@interface KMVerificationTrialViewController ()
+
+@property (nonatomic,assign) IBOutlet NSTextField *label;
+@property (nonatomic,assign) IBOutlet NSTextField *sublabel;
+
+@property (nonatomic,assign) IBOutlet NSView *emailTextFieldView;
+@property (nonatomic,assign) IBOutlet NSTextField *emailTextField;
+@property (nonatomic,assign) IBOutlet NSTextField *emailInvalidLabel;
+
+@property (nonatomic,assign) IBOutlet NSView *nameTextFieldView;
+@property (nonatomic,assign) IBOutlet NSTextField *nameTextField;
+@property (nonatomic,assign) IBOutlet NSTextField *nameInvalidLabel;
+
+@property (nonatomic,assign) IBOutlet KMCustomButton *licenseButton;
+@property (nonatomic,assign) IBOutlet KMCustomButton *continueButton;
+
+@property(nonatomic, assign) IBOutlet NSTextView  *accoutTextView;
+@property (assign) IBOutlet NSLayoutConstraint *textViewHeight;
+
+@property (nonatomic, retain) CALayer *continueButtonLayer;
+
+@end
+
+@implementation KMVerificationTrialViewController
+
+#pragma mark Init Methods
+
+- (instancetype)init {
+    if (self = [super initWithNibName:@"KMVerificationTrialViewController" bundle:nil]) {
+        
+    }
+    return self;
+}
+
+- (void)dealloc {
+    
+}
+
+#pragma mark View Methods
+
+- (void)loadView {
+    [super loadView];
+    // Do view setup here.
+    self.emailTextFieldView.wantsLayer = YES;
+    self.emailTextFieldView.layer.masksToBounds = YES;
+    self.emailTextFieldView.layer.cornerRadius = 4.0;
+    self.emailTextFieldView.layer.borderWidth = 1.0;
+    self.emailTextFieldView.layer.borderColor = [NSColor lightGrayColor].CGColor;
+    self.nameTextFieldView.wantsLayer = YES;
+    self.nameTextFieldView.layer.masksToBounds = YES;
+    self.nameTextFieldView.layer.cornerRadius = 2.0;
+    self.nameTextFieldView.layer.borderWidth = 1.0;
+    self.nameTextFieldView.layer.borderColor = [NSColor lightGrayColor].CGColor;
+    
+    self.licenseButton.wantsLayer = YES;
+    self.licenseButton.layer.masksToBounds = YES;
+    self.licenseButton.layer.cornerRadius = 1.0;
+
+    self.continueButton.wantsLayer = YES;
+    self.continueButton.layer.masksToBounds = YES;
+    self.continueButton.layer.cornerRadius = 1.0;
+
+    self.label.stringValue = [NSString stringWithFormat:@"%@ %@", NSLocalizedString(@"Welcome to", nil), @"PDF Reader Pro"];
+    self.sublabel.stringValue = NSLocalizedString(@"Enter your email to activate 7-Day Trial", nil);
+    
+    [self.emailTextField.cell setPlaceholderString:NSLocalizedString(@"Enter your email", nil)];
+    self.emailInvalidLabel.stringValue = NSLocalizedString(@"Please enter valid email", nil);
+    [self.nameTextField.cell setPlaceholderString:NSLocalizedString(@"Enter your name", nil)];
+    self.nameInvalidLabel.stringValue = NSLocalizedString(@"Please enter valid username", nil);
+
+    self.licenseButton.title = NSLocalizedString(@"Enter License Number", nil);
+    self.continueButton.title = NSLocalizedString(@"Activate", nil);
+    
+     NSString * str1 = NSLocalizedString(@"Privacy Policy",nil);
+     NSString * str = [NSString stringWithFormat:NSLocalizedString(@"By clicking the buttons below you confirm that you have read our %@.", nil),str1];
+     NSRange range1 = [str rangeOfString:str1];
+    NSFont  * font = [NSFont systemFontOfSize:11.0];
+    NSMutableAttributedString *mastring = [[NSMutableAttributedString alloc] initWithString:str attributes:@{NSFontAttributeName:font}];
+    CGSize size = [self sizeOfString:str witFontSize:font];
+    self.textViewHeight.constant = size.height;
+    
+    [mastring addAttribute:NSForegroundColorAttributeName value:[NSColor textColor] range:NSMakeRange(0, str.length)];
+    [mastring addAttribute:NSForegroundColorAttributeName value:[NSColor colorWithRed:0 green:122.0/255.0 blue:1.0 alpha:1.0] range:range1];
+    
+    NSString *valueString1 = [[NSString stringWithFormat:@"%@",@"https://www.pdfreaderpro.com/privacy-policy"] stringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLFragmentAllowedCharacterSet]];
+    
+    [mastring addAttribute:NSLinkAttributeName value:valueString1 range:range1];
+    [self.accoutTextView.textStorage appendAttributedString:mastring];
+    [self.accoutTextView setAlignment:NSTextAlignmentCenter];
+    
+    self.continueButtonLayer = [CALayer layer];
+    [self.continueButton.layer addSublayer:self.continueButtonLayer];
+    self.continueButtonLayer.frame = CGRectMake(0, 0, CGRectGetWidth(_continueButton.bounds), CGRectGetHeight(_continueButton.bounds));
+    self.continueButtonLayer.backgroundColor = [KMAppearance KMColor_Status_Sel].CGColor;
+    self.continueButtonLayer.cornerRadius = 0;
+    self.continueButtonLayer.hidden = YES;
+    __block KMVerificationTrialViewController *blockSelf = self;
+    self.continueButton.mouseMoveCallback = ^(BOOL mouseEntered) {
+        if (mouseEntered)
+            blockSelf.continueButtonLayer.hidden = NO;
+        else
+            blockSelf.continueButtonLayer.hidden = YES;
+    };
+    self.licenseButton.mouseMoveCallback = nil;
+    
+    [self.label setTextColor:[KMAppearance KMColor_Layout_H0]];
+    [self.sublabel setTextColor:[KMAppearance KM_242424_Color75]];
+    [self.licenseButton setTitleColor:[KMAppearance KMColor_Layout_H0]];
+    [self.continueButton setTitleColor:[NSColor whiteColor]];
+    [self.emailTextField setTextColor:[KMAppearance KMColor_Layout_H0]];
+    [self.nameTextField setTextColor:[KMAppearance KMColor_Layout_H0]];
+}
+
+- (NSSize)sizeOfString:(NSString *)string witFontSize:(NSFont *)font
+{
+    NSMutableDictionary *dictionary = [NSMutableDictionary dictionary];
+    [dictionary setObject:font forKey:NSFontAttributeName];
+    
+    CGSize size = [string boundingRectWithSize:CGSizeMake(self.accoutTextView.frame.size.width, MAXFLOAT)
+                                       options:NSStringDrawingUsesLineFragmentOrigin
+                                    attributes:dictionary].size;
+    
+    return size;
+}
+
+- (void)viewDidAppear {
+    [super viewDidAppear];
+    [self.nameTextField becomeFirstResponder];
+}
+
+#pragma mark Button Actions
+
+- (IBAction)licenseButtonAction:(id)sender {
+    if (self.callback) {
+        self.callback(0, self.emailTextField.stringValue, self.nameTextField.stringValue);
+    }
+}
+
+- (IBAction)continueButtonAction:(id)sender {
+    BOOL isValidate = YES;
+    if ([self isValidateEmail:self.emailTextField.stringValue]) {
+        self.emailInvalidLabel.hidden = YES;
+        self.emailTextFieldView.layer.borderColor = [NSColor lightGrayColor].CGColor;
+    } else {
+        self.emailInvalidLabel.hidden = NO;
+        self.emailTextFieldView.layer.borderColor = self.emailInvalidLabel.textColor.CGColor;
+        isValidate = NO;
+    }
+    if (self.nameTextField.stringValue.length > 0) {
+        self.nameInvalidLabel.hidden = YES;
+        self.nameTextFieldView.layer.borderColor = [NSColor lightGrayColor].CGColor;
+    } else {
+        self.nameInvalidLabel.hidden = NO;
+        self.nameTextFieldView.layer.borderColor = self.nameInvalidLabel.textColor.CGColor;
+        isValidate = NO;
+    }
+    if (!isValidate) {
+        return;
+    }
+    if (self.callback) {
+        self.callback(1, self.emailTextField.stringValue, self.nameTextField.stringValue);
+    }
+}
+
+- (void)setEnabled:(BOOL)enabled {
+    self.licenseButton.enabled = enabled;
+    self.continueButton.enabled = enabled;
+    self.emailTextField.enabled = enabled;
+    self.nameTextField.enabled = enabled;
+}
+
+#pragma mark NSTextFieldDelegate
+
+- (void)controlTextDidChange:(NSNotification *)notification {
+    NSTextField *textField = notification.object;
+    if (textField == self.emailTextField) {
+        self.emailInvalidLabel.hidden = YES;
+        self.emailTextFieldView.layer.borderColor = [NSColor lightGrayColor].CGColor;
+    } else if (textField == self.nameTextField) {
+        self.nameInvalidLabel.hidden = YES;
+        self.nameTextFieldView.layer.borderColor = [NSColor lightGrayColor].CGColor;
+    }
+}
+
+#pragma mark Private Methods
+
+- (BOOL)isValidateEmail:(NSString *)email {
+    NSString *emailRegex = @"[A-Z0-9a-z._%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,4}";
+    NSPredicate *emailTest = [NSPredicate predicateWithFormat:@"SELF MATCHES%@",emailRegex];
+    return [emailTest evaluateWithObject:email];
+}
+
+@end

+ 266 - 0
PDF Office/PDF Master/Class/Purchase/DMG/Verification/KMVerificationTrialViewController.xib

@@ -0,0 +1,266 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="22505" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" customObjectInstantitationMethod="direct">
+    <dependencies>
+        <deployment identifier="macosx"/>
+        <plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="22505"/>
+        <capability name="Named colors" minToolsVersion="9.0"/>
+        <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
+    </dependencies>
+    <objects>
+        <customObject id="-2" userLabel="File's Owner" customClass="KMVerificationTrialViewController">
+            <connections>
+                <outlet property="accoutTextView" destination="kPU-CD-EZ2" id="f7H-J0-zuc"/>
+                <outlet property="continueButton" destination="c9U-oA-IYb" id="Ijm-5z-CBB"/>
+                <outlet property="emailInvalidLabel" destination="bIq-PA-CtA" id="nT3-xG-Cbd"/>
+                <outlet property="emailTextField" destination="bXd-gq-DGn" id="Vlo-BM-E9n"/>
+                <outlet property="emailTextFieldView" destination="M8I-Ch-dr0" id="GDi-jn-seP"/>
+                <outlet property="label" destination="FMi-q8-lo4" id="xGk-oJ-Rf0"/>
+                <outlet property="licenseButton" destination="bT3-uU-96I" id="STG-hw-uZd"/>
+                <outlet property="nameInvalidLabel" destination="sQg-8Z-Bt4" id="EDt-Qu-4qB"/>
+                <outlet property="nameTextField" destination="wdT-za-jnm" id="yLI-8K-rdO"/>
+                <outlet property="nameTextFieldView" destination="YCo-RL-gIC" id="kRT-B2-yiZ"/>
+                <outlet property="sublabel" destination="1oE-s4-0j3" id="Dn8-N1-YcC"/>
+                <outlet property="textViewHeight" destination="jgn-sl-5To" id="Ia8-cS-znn"/>
+                <outlet property="view" destination="Hz6-mo-xeY" id="0bl-1N-x8E"/>
+            </connections>
+        </customObject>
+        <customObject id="-1" userLabel="First Responder" customClass="FirstResponder"/>
+        <customObject id="-3" userLabel="Application" customClass="NSObject"/>
+        <customView id="Hz6-mo-xeY">
+            <rect key="frame" x="0.0" y="0.0" width="442" height="397"/>
+            <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
+            <subviews>
+                <imageView horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="hj7-zJ-9tZ">
+                    <rect key="frame" x="197" y="305" width="48" height="48"/>
+                    <constraints>
+                        <constraint firstAttribute="width" constant="48" id="jAw-ig-SIC"/>
+                        <constraint firstAttribute="height" constant="48" id="mpq-ht-2CL"/>
+                    </constraints>
+                    <imageCell key="cell" refusesFirstResponder="YES" alignment="left" imageScaling="proportionallyDown" image="PDF Reader Pro Edition" id="1qR-b8-U2t"/>
+                </imageView>
+                <textField focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="FMi-q8-lo4">
+                    <rect key="frame" x="129" y="260" width="184" height="16"/>
+                    <textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Welcome to PDF Reader Pro" id="t9s-jy-Kah">
+                        <font key="font" metaFont="systemBold"/>
+                        <color key="textColor" red="0.20000000000000001" green="0.20000000000000001" blue="0.20000000000000001" alpha="1" colorSpace="calibratedRGB"/>
+                        <color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
+                    </textFieldCell>
+                </textField>
+                <textField focusRingType="none" verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" translatesAutoresizingMaskIntoConstraints="NO" id="1oE-s4-0j3">
+                    <rect key="frame" x="-44" y="236" width="530" height="14"/>
+                    <constraints>
+                        <constraint firstAttribute="width" constant="526" id="07Z-3y-tn5"/>
+                    </constraints>
+                    <textFieldCell key="cell" sendsActionOnEndEditing="YES" alignment="center" title="Enter your email to activate 7-Day Trial" id="gXI-9y-4Yl">
+                        <font key="font" metaFont="smallSystem"/>
+                        <color key="textColor" red="0.40000000000000002" green="0.40000000000000002" blue="0.40000000000000002" alpha="1" colorSpace="calibratedRGB"/>
+                        <color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
+                    </textFieldCell>
+                </textField>
+                <customView translatesAutoresizingMaskIntoConstraints="NO" id="M8I-Ch-dr0">
+                    <rect key="frame" x="52" y="139" width="370" height="28"/>
+                    <subviews>
+                        <textField focusRingType="none" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="bXd-gq-DGn">
+                            <rect key="frame" x="18" y="7" width="334" height="14"/>
+                            <textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" state="on" focusRingType="none" placeholderString="Enter your email" id="cL9-JU-PEx">
+                                <font key="font" metaFont="smallSystem"/>
+                                <color key="textColor" red="0.20000000000000001" green="0.20000000000000001" blue="0.20000000000000001" alpha="1" colorSpace="calibratedRGB"/>
+                                <color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
+                            </textFieldCell>
+                            <connections>
+                                <outlet property="delegate" destination="-2" id="afJ-wP-6QE"/>
+                                <outlet property="nextKeyView" destination="wdT-za-jnm" id="wow-wf-gQH"/>
+                            </connections>
+                        </textField>
+                    </subviews>
+                    <constraints>
+                        <constraint firstItem="bXd-gq-DGn" firstAttribute="leading" secondItem="M8I-Ch-dr0" secondAttribute="leading" constant="20" id="CkU-hR-oAE"/>
+                        <constraint firstAttribute="trailing" secondItem="bXd-gq-DGn" secondAttribute="trailing" constant="20" id="M8K-se-eem"/>
+                        <constraint firstAttribute="height" constant="28" id="QuR-fF-HJv"/>
+                        <constraint firstItem="bXd-gq-DGn" firstAttribute="centerY" secondItem="M8I-Ch-dr0" secondAttribute="centerY" id="n04-n8-eIt"/>
+                    </constraints>
+                </customView>
+                <imageView horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="4Rp-Ko-3ZF">
+                    <rect key="frame" x="20" y="141" width="24" height="24"/>
+                    <constraints>
+                        <constraint firstAttribute="width" constant="24" id="Sgj-p8-nUt"/>
+                        <constraint firstAttribute="height" constant="24" id="XR2-Co-8CH"/>
+                    </constraints>
+                    <imageCell key="cell" refusesFirstResponder="YES" alignment="left" imageScaling="proportionallyDown" image="KMImageNameLincenseEmail" id="C9z-Dx-f4O"/>
+                </imageView>
+                <textField hidden="YES" focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="bIq-PA-CtA">
+                    <rect key="frame" x="50" y="124" width="128" height="14"/>
+                    <textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Please enter valid email" id="pt9-EM-Bsy">
+                        <font key="font" metaFont="smallSystem"/>
+                        <color key="textColor" red="0.95686274509803915" green="0.27843137254901962" blue="0.27843137254901962" alpha="1" colorSpace="calibratedRGB"/>
+                        <color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
+                    </textFieldCell>
+                </textField>
+                <customView translatesAutoresizingMaskIntoConstraints="NO" id="YCo-RL-gIC">
+                    <rect key="frame" x="52" y="192" width="370" height="28"/>
+                    <subviews>
+                        <textField focusRingType="none" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="wdT-za-jnm">
+                            <rect key="frame" x="18" y="7" width="334" height="14"/>
+                            <textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" state="on" focusRingType="none" placeholderString="Enter your name" id="wOv-Xk-RAh">
+                                <font key="font" metaFont="smallSystem"/>
+                                <color key="textColor" red="0.20000000000000001" green="0.20000000000000001" blue="0.20000000000000001" alpha="1" colorSpace="calibratedRGB"/>
+                                <color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
+                            </textFieldCell>
+                            <connections>
+                                <outlet property="delegate" destination="-2" id="yqd-pu-31T"/>
+                            </connections>
+                        </textField>
+                    </subviews>
+                    <constraints>
+                        <constraint firstItem="wdT-za-jnm" firstAttribute="centerY" secondItem="YCo-RL-gIC" secondAttribute="centerY" id="Vh5-5S-Kh4"/>
+                        <constraint firstAttribute="height" constant="28" id="WGR-H4-TGw"/>
+                        <constraint firstItem="wdT-za-jnm" firstAttribute="leading" secondItem="YCo-RL-gIC" secondAttribute="leading" constant="20" id="oOu-6B-IIn"/>
+                        <constraint firstAttribute="trailing" secondItem="wdT-za-jnm" secondAttribute="trailing" constant="20" id="sZ9-NB-DnT"/>
+                    </constraints>
+                </customView>
+                <imageView horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="I9e-J4-PtF">
+                    <rect key="frame" x="20" y="194" width="24" height="24"/>
+                    <constraints>
+                        <constraint firstAttribute="width" constant="24" id="Le2-sa-J2i"/>
+                        <constraint firstAttribute="height" constant="24" id="Z4o-WK-Kp0"/>
+                    </constraints>
+                    <imageCell key="cell" refusesFirstResponder="YES" alignment="left" imageScaling="proportionallyDown" image="KMImageNameLincenseUSer" id="DtQ-GH-QCC"/>
+                </imageView>
+                <box boxType="custom" borderWidth="0.0" cornerRadius="1" title="Box" translatesAutoresizingMaskIntoConstraints="NO" id="5fU-Ox-j64">
+                    <rect key="frame" x="225" y="28" width="197" height="36"/>
+                    <view key="contentView" id="A9q-Yu-oUt">
+                        <rect key="frame" x="0.0" y="0.0" width="197" height="36"/>
+                        <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
+                    </view>
+                    <color key="fillColor" name="KMColor_Interactive_M0"/>
+                </box>
+                <button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="c9U-oA-IYb" customClass="KMCustomButton">
+                    <rect key="frame" x="225" y="28" width="197" height="36"/>
+                    <buttonCell key="cell" type="bevel" title="Activate" bezelStyle="rounded" alignment="center" imageScaling="proportionallyDown" inset="2" id="dYE-xo-KDt">
+                        <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
+                        <font key="font" metaFont="system"/>
+                        <string key="keyEquivalent" base64-UTF8="YES">
+DQ
+</string>
+                    </buttonCell>
+                    <constraints>
+                        <constraint firstAttribute="height" constant="36" id="aWX-5J-JBm"/>
+                    </constraints>
+                    <connections>
+                        <action selector="continueButtonAction:" target="-2" id="ztM-9l-EVZ"/>
+                    </connections>
+                </button>
+                <box boxType="custom" borderWidth="0.0" cornerRadius="1" title="Box" translatesAutoresizingMaskIntoConstraints="NO" id="VW9-UL-1CK">
+                    <rect key="frame" x="20" y="28" width="197" height="36"/>
+                    <view key="contentView" id="iR7-oJ-vgy">
+                        <rect key="frame" x="0.0" y="0.0" width="197" height="36"/>
+                        <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
+                    </view>
+                    <color key="fillColor" name="KMColor_Interactive_S0"/>
+                </box>
+                <button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="bT3-uU-96I" customClass="KMCustomButton">
+                    <rect key="frame" x="20" y="28" width="197" height="36"/>
+                    <buttonCell key="cell" type="bevel" title="Enter License Number" bezelStyle="rounded" alignment="center" imageScaling="proportionallyDown" inset="2" id="dZP-p7-1ny">
+                        <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
+                        <font key="font" metaFont="system"/>
+                    </buttonCell>
+                    <constraints>
+                        <constraint firstAttribute="height" constant="36" id="uex-h4-UKs"/>
+                    </constraints>
+                    <connections>
+                        <action selector="licenseButtonAction:" target="-2" id="cV0-TW-tfY"/>
+                    </connections>
+                </button>
+                <textField hidden="YES" focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="sQg-8Z-Bt4">
+                    <rect key="frame" x="50" y="177" width="152" height="14"/>
+                    <textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Please enter valid username" id="jHF-fJ-etH">
+                        <font key="font" metaFont="smallSystem"/>
+                        <color key="textColor" red="0.95686274510000002" green="0.2784313725" blue="0.2784313725" alpha="1" colorSpace="calibratedRGB"/>
+                        <color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
+                    </textFieldCell>
+                </textField>
+                <scrollView borderType="none" horizontalLineScroll="10" horizontalPageScroll="10" verticalLineScroll="10" verticalPageScroll="10" hasHorizontalScroller="NO" hasVerticalScroller="NO" translatesAutoresizingMaskIntoConstraints="NO" id="vOr-uC-ssM">
+                    <rect key="frame" x="20" y="80" width="402" height="28"/>
+                    <clipView key="contentView" drawsBackground="NO" copiesOnScroll="NO" id="Ggm-s9-dGo">
+                        <rect key="frame" x="0.0" y="0.0" width="402" height="28"/>
+                        <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
+                        <subviews>
+                            <textView editable="NO" importsGraphics="NO" richText="NO" verticallyResizable="YES" baseWritingDirection="leftToRight" spellingCorrection="YES" smartInsertDelete="YES" id="kPU-CD-EZ2">
+                                <rect key="frame" x="0.0" y="0.0" width="402" height="28"/>
+                                <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
+                                <color key="backgroundColor" red="1" green="1" blue="1" alpha="0.0" colorSpace="custom" customColorSpace="sRGB"/>
+                                <size key="minSize" width="402" height="28"/>
+                                <size key="maxSize" width="402" height="10000000"/>
+                                <color key="insertionPointColor" name="textColor" catalog="System" colorSpace="catalog"/>
+                            </textView>
+                        </subviews>
+                        <color key="backgroundColor" red="1" green="1" blue="1" alpha="0.0" colorSpace="custom" customColorSpace="sRGB"/>
+                    </clipView>
+                    <constraints>
+                        <constraint firstAttribute="height" constant="28" id="jgn-sl-5To"/>
+                    </constraints>
+                    <scroller key="horizontalScroller" hidden="YES" wantsLayer="YES" verticalHuggingPriority="750" horizontal="YES" id="tj0-fP-YfX">
+                        <rect key="frame" x="-100" y="-100" width="240" height="16"/>
+                        <autoresizingMask key="autoresizingMask"/>
+                    </scroller>
+                    <scroller key="verticalScroller" hidden="YES" wantsLayer="YES" verticalHuggingPriority="750" horizontal="NO" id="tyQ-aZ-G6O">
+                        <rect key="frame" x="-100" y="-100" width="16" height="100"/>
+                        <autoresizingMask key="autoresizingMask"/>
+                    </scroller>
+                </scrollView>
+            </subviews>
+            <constraints>
+                <constraint firstItem="M8I-Ch-dr0" firstAttribute="centerY" secondItem="4Rp-Ko-3ZF" secondAttribute="centerY" id="0tm-hl-s5G"/>
+                <constraint firstItem="M8I-Ch-dr0" firstAttribute="leading" secondItem="4Rp-Ko-3ZF" secondAttribute="trailing" constant="8" id="1Ld-ww-ITS"/>
+                <constraint firstItem="c9U-oA-IYb" firstAttribute="centerY" secondItem="bT3-uU-96I" secondAttribute="centerY" id="1X4-QM-VWd"/>
+                <constraint firstItem="YCo-RL-gIC" firstAttribute="top" secondItem="1oE-s4-0j3" secondAttribute="bottom" constant="16" id="1qS-KN-5K6"/>
+                <constraint firstItem="bT3-uU-96I" firstAttribute="leading" secondItem="Hz6-mo-xeY" secondAttribute="leading" constant="20" id="2wa-Uh-pGi"/>
+                <constraint firstItem="FMi-q8-lo4" firstAttribute="top" secondItem="hj7-zJ-9tZ" secondAttribute="bottom" constant="29" id="35R-W7-cO0"/>
+                <constraint firstItem="c9U-oA-IYb" firstAttribute="leading" secondItem="bT3-uU-96I" secondAttribute="trailing" constant="8" id="7sL-1K-GKV"/>
+                <constraint firstItem="YCo-RL-gIC" firstAttribute="leading" secondItem="I9e-J4-PtF" secondAttribute="trailing" constant="8" id="9ed-Kw-6BQ"/>
+                <constraint firstItem="1oE-s4-0j3" firstAttribute="centerX" secondItem="Hz6-mo-xeY" secondAttribute="centerX" id="C6p-RB-aS5"/>
+                <constraint firstItem="hj7-zJ-9tZ" firstAttribute="top" secondItem="Hz6-mo-xeY" secondAttribute="top" constant="44" id="CaY-Dp-KSJ"/>
+                <constraint firstAttribute="trailing" secondItem="YCo-RL-gIC" secondAttribute="trailing" constant="20" id="FHS-50-qSr"/>
+                <constraint firstItem="vOr-uC-ssM" firstAttribute="top" secondItem="bIq-PA-CtA" secondAttribute="bottom" constant="16" id="GDJ-6T-DZD"/>
+                <constraint firstItem="hj7-zJ-9tZ" firstAttribute="centerX" secondItem="Hz6-mo-xeY" secondAttribute="centerX" id="Iqh-gW-U3p"/>
+                <constraint firstItem="sQg-8Z-Bt4" firstAttribute="top" secondItem="YCo-RL-gIC" secondAttribute="bottom" constant="1" id="Ixw-M9-jBR"/>
+                <constraint firstItem="bT3-uU-96I" firstAttribute="leading" secondItem="VW9-UL-1CK" secondAttribute="leading" id="J8A-lu-rS4"/>
+                <constraint firstItem="M8I-Ch-dr0" firstAttribute="top" secondItem="sQg-8Z-Bt4" secondAttribute="bottom" constant="10" id="KCf-5o-dPA"/>
+                <constraint firstItem="bIq-PA-CtA" firstAttribute="top" secondItem="M8I-Ch-dr0" secondAttribute="bottom" constant="1" id="N9Q-dZ-Q27"/>
+                <constraint firstItem="bIq-PA-CtA" firstAttribute="leading" secondItem="M8I-Ch-dr0" secondAttribute="leading" id="QhX-JC-6PP"/>
+                <constraint firstItem="I9e-J4-PtF" firstAttribute="leading" secondItem="Hz6-mo-xeY" secondAttribute="leading" constant="20" id="S2J-R6-amr"/>
+                <constraint firstItem="bT3-uU-96I" firstAttribute="top" secondItem="vOr-uC-ssM" secondAttribute="bottom" constant="16" id="TVA-nN-vae"/>
+                <constraint firstItem="YCo-RL-gIC" firstAttribute="leading" secondItem="M8I-Ch-dr0" secondAttribute="leading" id="WAa-8K-cIN"/>
+                <constraint firstItem="YCo-RL-gIC" firstAttribute="centerY" secondItem="I9e-J4-PtF" secondAttribute="centerY" id="ZyF-QV-aCh"/>
+                <constraint firstItem="c9U-oA-IYb" firstAttribute="width" secondItem="bT3-uU-96I" secondAttribute="width" id="aD8-wj-TNo"/>
+                <constraint firstItem="sQg-8Z-Bt4" firstAttribute="leading" secondItem="YCo-RL-gIC" secondAttribute="leading" id="c2F-1F-qli"/>
+                <constraint firstAttribute="bottom" secondItem="bT3-uU-96I" secondAttribute="bottom" constant="28" id="dIJ-xA-yuC"/>
+                <constraint firstItem="vOr-uC-ssM" firstAttribute="trailing" secondItem="M8I-Ch-dr0" secondAttribute="trailing" id="dOt-sQ-qBc"/>
+                <constraint firstItem="FMi-q8-lo4" firstAttribute="centerX" secondItem="Hz6-mo-xeY" secondAttribute="centerX" id="eaa-UZ-fNn"/>
+                <constraint firstItem="c9U-oA-IYb" firstAttribute="trailing" secondItem="5fU-Ox-j64" secondAttribute="trailing" id="iUF-pe-bNy"/>
+                <constraint firstItem="c9U-oA-IYb" firstAttribute="top" secondItem="5fU-Ox-j64" secondAttribute="top" id="jdL-Ha-3II"/>
+                <constraint firstItem="YCo-RL-gIC" firstAttribute="trailing" secondItem="M8I-Ch-dr0" secondAttribute="trailing" id="kap-ed-3nU"/>
+                <constraint firstAttribute="trailing" secondItem="c9U-oA-IYb" secondAttribute="trailing" constant="20" id="l0r-pD-IJY"/>
+                <constraint firstItem="vOr-uC-ssM" firstAttribute="leading" secondItem="4Rp-Ko-3ZF" secondAttribute="leading" id="lUp-0S-DUB"/>
+                <constraint firstItem="1oE-s4-0j3" firstAttribute="top" secondItem="FMi-q8-lo4" secondAttribute="bottom" constant="10" id="ogh-iN-ekV"/>
+                <constraint firstItem="c9U-oA-IYb" firstAttribute="leading" secondItem="5fU-Ox-j64" secondAttribute="leading" id="otI-8G-TbE"/>
+                <constraint firstItem="bT3-uU-96I" firstAttribute="trailing" secondItem="VW9-UL-1CK" secondAttribute="trailing" id="tF1-Z4-rwH"/>
+                <constraint firstItem="c9U-oA-IYb" firstAttribute="bottom" secondItem="5fU-Ox-j64" secondAttribute="bottom" id="urd-MV-Spg"/>
+                <constraint firstItem="bT3-uU-96I" firstAttribute="bottom" secondItem="VW9-UL-1CK" secondAttribute="bottom" id="yI1-Td-tU3"/>
+                <constraint firstItem="bT3-uU-96I" firstAttribute="top" secondItem="VW9-UL-1CK" secondAttribute="top" id="ybd-BR-Tu9"/>
+            </constraints>
+            <point key="canvasLocation" x="98" y="190"/>
+        </customView>
+    </objects>
+    <resources>
+        <image name="KMImageNameLincenseEmail" width="24" height="24"/>
+        <image name="KMImageNameLincenseUSer" width="24" height="24"/>
+        <image name="PDF Reader Pro Edition" width="512" height="512"/>
+        <namedColor name="KMColor_Interactive_M0">
+            <color red="0.15294117647058825" green="0.23529411764705882" blue="0.3843137254901961" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
+        </namedColor>
+        <namedColor name="KMColor_Interactive_S0">
+            <color red="0.85490196078431369" green="0.85882352941176465" blue="0.87058823529411766" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
+        </namedColor>
+    </resources>
+</document>

+ 18 - 0
PDF Office/PDF Master/Class/Purchase/DMG/Verification/KMVerificationViewController.h

@@ -0,0 +1,18 @@
+//
+//  KMVerificationViewController.h
+//  PDF Reader Pro Edition
+//
+//  Created by 王帅 on 2018/5/9.
+//
+
+#import <Cocoa/Cocoa.h>
+
+@interface KMVerificationViewController : NSViewController
+
+@property (nonatomic,retain) NSString *titleText;
+@property (nonatomic,retain) NSString *messageText;
+@property (nonatomic,retain) NSString *buttonText;
+
+@property (nonatomic,copy) void (^callback) (NSInteger index);
+
+@end

+ 141 - 0
PDF Office/PDF Master/Class/Purchase/DMG/Verification/KMVerificationViewController.m

@@ -0,0 +1,141 @@
+//
+//  KMVerificationViewController.m
+//  PDF Reader Pro Edition
+//
+//  Created by 王帅 on 2018/5/9.
+//
+
+#import "KMVerificationViewController.h"
+#import "PDF_Master-Bridging-Header.h"
+#if VERSION_DMG
+#import <PDF_Master-Swift.h>
+#else
+#import <PDF_Master-Swift.h>
+#endif
+
+//#import "VerificationManager.h"
+
+@interface KMVerificationViewController ()
+
+@property (nonatomic,assign) IBOutlet NSTextField *label;
+@property (nonatomic,assign) IBOutlet NSTextField *sublabel;
+
+@property (nonatomic,assign) IBOutlet KMCustomButton *licenseButton;
+@property (nonatomic,assign) IBOutlet KMCustomButton *laterButton;
+@property (nonatomic,assign) IBOutlet KMCustomButton *buyButton;
+@property (nonatomic, retain) CALayer *buyButtonLayer;
+@property (assign) IBOutlet NSLayoutConstraint *laterBtnWidthConst;
+
+@property (assign) IBOutlet NSLayoutConstraint *buyBtnWidthConst;
+
+@end
+
+@implementation KMVerificationViewController
+
+#pragma mark Init Methods
+
+- (instancetype)init {
+    if (self = [super initWithNibName:@"KMVerificationViewController" bundle:nil]) {
+        
+    }
+    return self;
+}
+
+- (void)dealloc {
+    
+}
+
+#pragma mark Setter Methods
+
+- (void)setTitleText:(NSString *)titleText {
+    _titleText = titleText;
+
+    self.label.stringValue = titleText;
+}
+
+- (void)setMessageText:(NSString *)messageText {
+    _messageText = messageText;
+
+    self.sublabel.stringValue = messageText;
+}
+
+- (void)setButtonText:(NSString *)buttonText {
+    _buttonText = buttonText;
+ 
+    self.laterButton.title = buttonText;
+}
+
+#pragma mark View Methods
+
+- (void)loadView {
+    [super loadView];
+    // Do view setup here.
+    self.view.wantsLayer = YES;
+
+    [self.label setTextColor:[KMAppearance KMColor_Layout_H0]];
+    [self.sublabel setTextColor:[KMAppearance KMColor_Layout_H1]];
+    
+    self.licenseButton.wantsLayer = YES;
+    self.licenseButton.layer.masksToBounds = YES;
+    self.licenseButton.layer.cornerRadius = 1.0;
+    
+    self.laterButton.wantsLayer = YES;
+    self.laterButton.layer.masksToBounds = YES;
+    self.laterButton.layer.cornerRadius = 1.0;
+    
+    self.buyButton.wantsLayer = YES;
+    self.buyButton.layer.masksToBounds = YES;
+    self.buyButton.layer.cornerRadius = 1.0;
+    
+    self.label.stringValue = self.titleText ? : @"";
+    self.sublabel.stringValue = self.messageText ? : @"";
+    self.laterButton.title = self.buttonText ? : NSLocalizedString(@"Later", nil);
+    
+    self.licenseButton.title = NSLocalizedString(@"Enter License Number", nil);
+    self.buyButton.title = NSLocalizedString(@"Buy Full Version", nil);
+    CGSize size = [self.buyButton sizeThatFits:CGSizeMake(MAXFLOAT, self.buyButton.frame.size.width)];
+    self.buyBtnWidthConst.constant = MAX(size.width + 10, 140);
+    
+    [self.licenseButton setTitleColor:[KMAppearance KMColor_Layout_H0]];
+    [self.laterButton setTitleColor:[KMAppearance KMColor_Layout_H0]];
+    [self.buyButton setTitleColor:[NSColor whiteColor]];
+    
+    self.buyButtonLayer = [CALayer layer];
+    [self.buyButton.layer addSublayer:self.buyButtonLayer];
+    self.buyButtonLayer.frame = CGRectMake(0, 0, CGRectGetWidth(_buyButton.bounds), CGRectGetHeight(_buyButton.bounds));
+    self.buyButtonLayer.backgroundColor = [KMAppearance KMColor_Status_Sel].CGColor;
+    self.buyButtonLayer.cornerRadius = 0;
+    self.buyButtonLayer.hidden = YES;
+    __block KMVerificationViewController *blockSelf = self;
+    self.buyButton.mouseMoveCallback = ^(BOOL mouseEntered) {
+        if (mouseEntered) {
+            blockSelf.buyButtonLayer.hidden = NO;
+        }else {
+            blockSelf.buyButtonLayer.hidden = YES;
+        }
+    };
+    self.licenseButton.mouseMoveCallback = self.laterButton.mouseMoveCallback = nil;
+    
+}
+
+#pragma mark Button Actions
+
+- (IBAction)licenseButtonAction:(id)sender {
+    if (self.callback) {
+        self.callback(0);
+    }
+}
+
+- (IBAction)laterButtonAction:(id)sender {
+    if (self.callback) {
+        self.callback(1);
+    }
+}
+
+- (IBAction)buyButtonAction:(id)sender {
+    if (self.callback) {
+        self.callback(2);
+    }
+}
+
+@end

+ 174 - 0
PDF Office/PDF Master/Class/Purchase/DMG/Verification/KMVerificationViewController.xib

@@ -0,0 +1,174 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="22505" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" customObjectInstantitationMethod="direct">
+    <dependencies>
+        <deployment identifier="macosx"/>
+        <plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="22505"/>
+        <capability name="Named colors" minToolsVersion="9.0"/>
+        <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
+    </dependencies>
+    <objects>
+        <customObject id="-2" userLabel="File's Owner" customClass="KMVerificationViewController">
+            <connections>
+                <outlet property="buyBtnWidthConst" destination="cfU-ob-93l" id="OH2-SK-1dc"/>
+                <outlet property="buyButton" destination="U09-by-ylW" id="j4V-0P-NG7"/>
+                <outlet property="label" destination="fhe-gE-tgL" id="TDV-TA-8MH"/>
+                <outlet property="laterBtnWidthConst" destination="sdC-jT-ma3" id="xUo-UD-wyE"/>
+                <outlet property="laterButton" destination="qUy-X0-V6g" id="VuZ-YJ-IjN"/>
+                <outlet property="licenseButton" destination="1HI-Tj-QTM" id="kEk-Ze-4Tf"/>
+                <outlet property="sublabel" destination="Z02-5i-oDf" id="rCQ-Ut-Ggg"/>
+                <outlet property="view" destination="Hz6-mo-xeY" id="0bl-1N-x8E"/>
+            </connections>
+        </customObject>
+        <customObject id="-1" userLabel="First Responder" customClass="FirstResponder"/>
+        <customObject id="-3" userLabel="Application" customClass="NSObject"/>
+        <customView id="Hz6-mo-xeY">
+            <rect key="frame" x="0.0" y="0.0" width="567" height="169"/>
+            <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
+            <subviews>
+                <box fixedFrame="YES" boxType="custom" borderWidth="0.0" title="Box" translatesAutoresizingMaskIntoConstraints="NO" id="euw-H0-rug">
+                    <rect key="frame" x="0.0" y="0.0" width="567" height="169"/>
+                    <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
+                    <view key="contentView" id="mj3-9H-9rZ">
+                        <rect key="frame" x="0.0" y="0.0" width="567" height="169"/>
+                        <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
+                    </view>
+                    <color key="fillColor" name="KMColor_Layout_L0"/>
+                </box>
+                <imageView horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="YEj-pH-jUe">
+                    <rect key="frame" x="28" y="85" width="48" height="48"/>
+                    <constraints>
+                        <constraint firstAttribute="height" constant="48" id="8Ik-gg-h4u"/>
+                        <constraint firstAttribute="width" constant="48" id="KUo-A0-tPo"/>
+                    </constraints>
+                    <imageCell key="cell" refusesFirstResponder="YES" alignment="left" imageScaling="proportionallyDown" image="PDF Reader Pro Edition" id="W4I-tX-LHB"/>
+                </imageView>
+                <textField focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="fhe-gE-tgL">
+                    <rect key="frame" x="99" y="115" width="174" height="16"/>
+                    <textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="PDF Reader Pro Activation" id="BcW-z4-jmX">
+                        <font key="font" metaFont="systemBold"/>
+                        <color key="textColor" red="0.20000000000000001" green="0.20000000000000001" blue="0.20000000000000001" alpha="1" colorSpace="calibratedRGB"/>
+                        <color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
+                    </textFieldCell>
+                </textField>
+                <textField focusRingType="none" verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" translatesAutoresizingMaskIntoConstraints="NO" id="Z02-5i-oDf">
+                    <rect key="frame" x="99" y="89" width="424" height="14"/>
+                    <textFieldCell key="cell" sendsActionOnEndEditing="YES" alignment="left" title="Buy Full Version to annotate and edit your PDF documents." id="bvR-5d-z54">
+                        <font key="font" metaFont="smallSystem"/>
+                        <color key="textColor" red="0.59999999999999998" green="0.59999999999999998" blue="0.59999999999999998" alpha="1" colorSpace="calibratedRGB"/>
+                        <color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
+                    </textFieldCell>
+                </textField>
+                <box boxType="custom" borderWidth="0.0" cornerRadius="1" title="Box" translatesAutoresizingMaskIntoConstraints="NO" id="f7O-ZF-kt9">
+                    <rect key="frame" x="20" y="24" width="180" height="36"/>
+                    <view key="contentView" id="YZA-PT-ZSC">
+                        <rect key="frame" x="0.0" y="0.0" width="180" height="36"/>
+                        <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
+                    </view>
+                    <color key="fillColor" name="KMColor_Status_Sel"/>
+                </box>
+                <button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="1HI-Tj-QTM" customClass="KMCustomButton">
+                    <rect key="frame" x="20" y="24" width="180" height="36"/>
+                    <buttonCell key="cell" type="bevel" title="Enter License Number" bezelStyle="rounded" alignment="center" imageScaling="proportionallyDown" inset="2" id="XIG-UP-S4j">
+                        <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
+                        <font key="font" metaFont="system"/>
+                    </buttonCell>
+                    <constraints>
+                        <constraint firstAttribute="height" constant="36" id="9Sq-8y-Kvk"/>
+                        <constraint firstAttribute="width" constant="180" id="wvu-QL-Iw6"/>
+                    </constraints>
+                    <connections>
+                        <action selector="licenseButtonAction:" target="-2" id="VlB-vi-rg0"/>
+                    </connections>
+                </button>
+                <box boxType="custom" borderWidth="0.0" cornerRadius="1" title="Box" translatesAutoresizingMaskIntoConstraints="NO" id="8zQ-kp-Fc2">
+                    <rect key="frame" x="407" y="24" width="140" height="36"/>
+                    <view key="contentView" id="qIB-FX-MFw">
+                        <rect key="frame" x="0.0" y="0.0" width="140" height="36"/>
+                        <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
+                    </view>
+                    <color key="fillColor" name="KMColor_Interactive_M0"/>
+                </box>
+                <button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="U09-by-ylW" customClass="KMCustomButton">
+                    <rect key="frame" x="407" y="24" width="140" height="36"/>
+                    <buttonCell key="cell" type="bevel" title="Buy Full Version" bezelStyle="rounded" alignment="center" imageScaling="proportionallyDown" inset="2" id="JZ8-po-9RD">
+                        <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
+                        <font key="font" metaFont="system"/>
+                        <string key="keyEquivalent" base64-UTF8="YES">
+DQ
+</string>
+                    </buttonCell>
+                    <constraints>
+                        <constraint firstAttribute="height" constant="36" id="4A9-8e-OKC"/>
+                        <constraint firstAttribute="width" constant="140" id="cfU-ob-93l"/>
+                    </constraints>
+                    <connections>
+                        <action selector="buyButtonAction:" target="-2" id="mtq-MJ-rmG"/>
+                    </connections>
+                </button>
+                <box boxType="custom" borderWidth="0.0" cornerRadius="1" title="Box" translatesAutoresizingMaskIntoConstraints="NO" id="EDA-E3-Gss">
+                    <rect key="frame" x="319" y="24" width="80" height="36"/>
+                    <view key="contentView" id="Dba-tH-y8H">
+                        <rect key="frame" x="0.0" y="0.0" width="80" height="36"/>
+                        <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
+                    </view>
+                    <color key="fillColor" name="KMColor_Status_Sel"/>
+                </box>
+                <button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="qUy-X0-V6g" customClass="KMCustomButton">
+                    <rect key="frame" x="319" y="24" width="80" height="36"/>
+                    <buttonCell key="cell" type="bevel" title="Later" bezelStyle="rounded" alignment="center" imageScaling="proportionallyDown" inset="2" id="Q4e-IV-eFu">
+                        <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
+                        <font key="font" metaFont="system"/>
+                    </buttonCell>
+                    <constraints>
+                        <constraint firstAttribute="height" constant="36" id="eR8-l3-Lqc"/>
+                        <constraint firstAttribute="width" constant="80" id="sdC-jT-ma3"/>
+                    </constraints>
+                    <connections>
+                        <action selector="laterButtonAction:" target="-2" id="QNt-qK-Aec"/>
+                    </connections>
+                </button>
+            </subviews>
+            <constraints>
+                <constraint firstItem="U09-by-ylW" firstAttribute="trailing" secondItem="8zQ-kp-Fc2" secondAttribute="trailing" id="3hV-i0-RyG"/>
+                <constraint firstAttribute="bottom" secondItem="1HI-Tj-QTM" secondAttribute="bottom" constant="24" id="8no-og-41t"/>
+                <constraint firstItem="U09-by-ylW" firstAttribute="top" secondItem="8zQ-kp-Fc2" secondAttribute="top" id="8nz-fX-kC4"/>
+                <constraint firstItem="U09-by-ylW" firstAttribute="bottom" secondItem="8zQ-kp-Fc2" secondAttribute="bottom" id="Fud-TL-X3q"/>
+                <constraint firstItem="1HI-Tj-QTM" firstAttribute="leading" secondItem="Hz6-mo-xeY" secondAttribute="leading" constant="20" id="HEM-4u-opQ"/>
+                <constraint firstItem="U09-by-ylW" firstAttribute="centerY" secondItem="1HI-Tj-QTM" secondAttribute="centerY" id="I37-ma-9A9"/>
+                <constraint firstItem="U09-by-ylW" firstAttribute="leading" secondItem="8zQ-kp-Fc2" secondAttribute="leading" id="JPG-Nd-a9W"/>
+                <constraint firstItem="qUy-X0-V6g" firstAttribute="trailing" secondItem="EDA-E3-Gss" secondAttribute="trailing" id="L21-WJ-UAu"/>
+                <constraint firstAttribute="trailing" secondItem="Z02-5i-oDf" secondAttribute="trailing" constant="46" id="SWe-se-LgA"/>
+                <constraint firstItem="fhe-gE-tgL" firstAttribute="leading" secondItem="YEj-pH-jUe" secondAttribute="trailing" constant="25" id="SqH-LL-DVg"/>
+                <constraint firstItem="fhe-gE-tgL" firstAttribute="leading" secondItem="Z02-5i-oDf" secondAttribute="leading" id="bRF-VZ-maK"/>
+                <constraint firstItem="fhe-gE-tgL" firstAttribute="top" secondItem="YEj-pH-jUe" secondAttribute="top" constant="2" id="g1D-jZ-LLj"/>
+                <constraint firstItem="1HI-Tj-QTM" firstAttribute="bottom" secondItem="f7O-ZF-kt9" secondAttribute="bottom" id="idZ-gG-wpR"/>
+                <constraint firstItem="1HI-Tj-QTM" firstAttribute="top" secondItem="YEj-pH-jUe" secondAttribute="bottom" constant="25" id="kOj-Bu-IGJ"/>
+                <constraint firstAttribute="trailing" secondItem="U09-by-ylW" secondAttribute="trailing" constant="20" id="n1C-Po-1jn"/>
+                <constraint firstItem="YEj-pH-jUe" firstAttribute="top" secondItem="Hz6-mo-xeY" secondAttribute="top" constant="36" id="pgf-Ae-K49"/>
+                <constraint firstItem="1HI-Tj-QTM" firstAttribute="trailing" secondItem="f7O-ZF-kt9" secondAttribute="trailing" id="rFy-x0-LvW"/>
+                <constraint firstItem="1HI-Tj-QTM" firstAttribute="top" secondItem="f7O-ZF-kt9" secondAttribute="top" id="rbe-Mp-M4R"/>
+                <constraint firstItem="1HI-Tj-QTM" firstAttribute="leading" secondItem="f7O-ZF-kt9" secondAttribute="leading" id="s2y-5K-1f4"/>
+                <constraint firstItem="Z02-5i-oDf" firstAttribute="top" secondItem="fhe-gE-tgL" secondAttribute="bottom" constant="12" id="skR-5u-duZ"/>
+                <constraint firstItem="qUy-X0-V6g" firstAttribute="bottom" secondItem="EDA-E3-Gss" secondAttribute="bottom" id="tZe-Hx-6xj"/>
+                <constraint firstItem="qUy-X0-V6g" firstAttribute="leading" secondItem="EDA-E3-Gss" secondAttribute="leading" id="wIw-vI-yAn"/>
+                <constraint firstItem="qUy-X0-V6g" firstAttribute="top" secondItem="EDA-E3-Gss" secondAttribute="top" id="wkl-bp-fkr"/>
+                <constraint firstItem="U09-by-ylW" firstAttribute="leading" secondItem="qUy-X0-V6g" secondAttribute="trailing" constant="8" id="wtw-bo-egq"/>
+                <constraint firstItem="U09-by-ylW" firstAttribute="centerY" secondItem="qUy-X0-V6g" secondAttribute="centerY" id="wwI-ha-nlz"/>
+                <constraint firstItem="YEj-pH-jUe" firstAttribute="leading" secondItem="Hz6-mo-xeY" secondAttribute="leading" constant="28" id="y4q-ZQ-rmf"/>
+            </constraints>
+            <point key="canvasLocation" x="-149.5" y="113.5"/>
+        </customView>
+    </objects>
+    <resources>
+        <image name="PDF Reader Pro Edition" width="512" height="512"/>
+        <namedColor name="KMColor_Interactive_M0">
+            <color red="0.15294117647058825" green="0.23529411764705882" blue="0.3843137254901961" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
+        </namedColor>
+        <namedColor name="KMColor_Layout_L0">
+            <color red="0.9882352941176471" green="0.99215686274509807" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
+        </namedColor>
+        <namedColor name="KMColor_Status_Sel">
+            <color red="0.28627450980392155" green="0.50980392156862742" blue="0.90196078431372551" alpha="0.20000000298023224" colorSpace="custom" customColorSpace="sRGB"/>
+        </namedColor>
+    </resources>
+</document>

+ 46 - 0
PDF Office/PDF Master/Class/Purchase/DMG/Verification/KMVerificationWindowController.h

@@ -0,0 +1,46 @@
+//
+//  KMVerificationWindowController.h
+//  PDF Reader Pro Edition
+//
+//  Created by 王帅 on 2018/5/8.
+//
+
+#import <Cocoa/Cocoa.h>
+#import "PDF_Master-Bridging-Header.h"
+#if VERSION_DMG
+#import <PDF_Master-Swift.h>
+#else
+#import <PDF_Master-Swift.h>
+#endif
+
+typedef NS_ENUM(NSInteger, KMVerificationType) {
+    KMVerificationTypeNormal,
+    KMVerificationTypeActivate,
+    KMVerificationTypeTrial,
+    KMVerificationTypeActivateExpired,
+    KMVerificationTypeTrialExpired,
+    KMVerificationTypeTrialSuccess,//试用成功提示界面
+    KMVerificationTypeInfo,
+    KMVerificationTypeRepeatTrialSuccess,//二次试用成功
+    KMVerificationTypeRepeatTrialGuide,//二次试用引导界面
+    KMVerificationTypeRepeatTrialExpire,//二次试用到期提示
+    
+};
+
+@interface KMVerificationWindowController : NSWindowController
+
+@property (nonatomic, copy) void (^callback) (void);
+
++ (void)launching;
+
++ (instancetype)verificationWithType:(KMVerificationType)type;
+
++ (BOOL)allowsShowExpired;//第一次过期弹窗显示判断
+
++ (void)showExpiredInfo;//第一次过期弹窗提示
+
++ (BOOL)allowRepeatTrialAlertShow;//是否在开启APP时弹出二次试用弹窗提示框
+
++ (BOOL)allowRepeatTrialExpireShow;//是否允许弹出二次试用过期弹窗
+
+@end

+ 810 - 0
PDF Office/PDF Master/Class/Purchase/DMG/Verification/KMVerificationWindowController.m

@@ -0,0 +1,810 @@
+//
+//  KMVerificationWindowController.m
+//  PDF Reader Pro Edition
+//
+//  Created by 王帅 on 2018/5/8.
+//
+
+#import "KMVerificationWindowController.h"
+#import "KMVerificationViewController.h"
+#import "KMVerificationActivateViewController.h"
+#import "KMVerificationExpiredViewController.h"
+#import "KMVerificationTrialViewController.h"
+#import "KMVerificationAlertViewController.h"
+#import "KMActivityALertViewController.h"
+#import "KMVerificationInfoViewController.h"
+//#import "VerificationManager.h"
+//#import "KMMailHelper.h"
+#import "GBDeviceInfo.h"
+#import "Reachability.h"
+//#import "SKInspectPublicTool.h"
+//#import "FMTrackEventManager.h"
+#import "KMRepeatTrialAlertController.h"
+#import "KMRepeatVerifyExpireController.h"
+
+@interface KMVerificationWindowController ()
+
+@property (nonatomic, assign) KMVerificationType type;
+
+@property (nonatomic, assign) IBOutlet NSBox *box;
+
+@property (nonatomic, assign) IBOutlet NSProgressIndicator *progressIndicator;
+
+@property (nonatomic, retain) KMVerificationViewController *normalViewController;
+@property (nonatomic, retain) KMVerificationActivateViewController *activateViewController;
+@property (nonatomic, retain) KMVerificationExpiredViewController *expiredViewController;
+@property (nonatomic, retain) KMVerificationTrialViewController *trialViewController;
+@property (nonatomic, retain) KMVerificationAlertViewController *alertViewController;
+@property (nonatomic, retain) KMActivityALertViewController *activityAlertViewController;
+@property (nonatomic, retain) KMVerificationInfoViewController *infoViewController;
+@property (nonatomic, retain) KMRepeatTrialAlertController *repeatTrialAlertController;//二次试用提示弹窗
+@property (nonatomic, retain) KMRepeatVerifyExpireController *repeatTrialExpireController;//二次试用过期弹窗
+@property (nonatomic, retain) KMTrialSuccessController *trialSuccessController;
+
+@end
+
+@implementation KMVerificationWindowController
+
++ (void)launching {
+//    [VerificationManager manager];
+}
+
++ (BOOL)allowsShowExpired {
+//#if VERSION_DMG
+//    if ([VerificationManager manager].status == ActivityStatusTrialExpire &&
+//        [VerificationManager manager].secondTrialEnabled == NO) {
+//        if (![[NSUserDefaults standardUserDefaults] objectForKey:@"allowTrialExpireShowKeyDMG"]) {
+//            [[NSUserDefaults standardUserDefaults] setObject:@"YES" forKey:@"allowTrialExpireShowKeyDMG"];
+//            return YES;
+//        }
+//    }
+//    return NO;
+//#else
+//    NSDate *lastTimeDate = [[NSUserDefaults standardUserDefaults] objectForKey:@"kVerificationExpiredShowLastTimeDateKay"];
+//    if (lastTimeDate) {
+//        NSDate *date = [NSDate date];
+//        NSTimeInterval time = [date timeIntervalSinceDate:lastTimeDate];
+//        int days = ((int)time)/(3600*24);
+//        if (days < 15) {
+//            return NO;
+//        }
+//    }
+//#endif
+    return YES;
+}
+
++ (void)showExpiredInfo {
+//    if (ActivityStatusTrialExpire == [VerificationManager manager].status) {
+//        if ([KMVerificationWindowController allowsShowExpired]) {
+//            KMVerificationWindowController *vc = [KMVerificationWindowController verificationWithType:KMVerificationTypeTrialExpired];
+//            [vc showWindow:nil];
+//            [vc release];
+//            
+//            [[NSUserDefaults standardUserDefaults] setObject:[NSDate date] forKey:@"kVerificationExpiredShowLastTimeDateKay"];
+//            [[NSUserDefaults standardUserDefaults] synchronize];
+//        }
+//    } else if (ActivityStatusVerifExpire == [VerificationManager manager].status) {
+//        if ([KMVerificationWindowController allowsShowExpired]) {
+//            KMVerificationWindowController *vc = [KMVerificationWindowController verificationWithType:KMVerificationTypeActivateExpired];
+//            [vc showWindow:nil];
+//            [vc release];
+//            
+//            [[NSUserDefaults standardUserDefaults] setObject:[NSDate date] forKey:@"kVerificationExpiredShowLastTimeDateKay"];
+//            [[NSUserDefaults standardUserDefaults] synchronize];
+//        }
+//    }
+}
+
++ (BOOL)allowRepeatTrialAlertShow {
+//    //是否在开启APP时弹出二次试用弹窗提示框
+//    if ([VerificationManager manager].secondTrialEnabled) {
+//        if (![[NSUserDefaults standardUserDefaults] objectForKey:@"allowRepeatTrialAlertShowKey"]) {
+//            return YES;
+//        }
+//    }
+    return NO;
+}
+
++ (BOOL)allowRepeatTrialExpireShow {
+//    if ([VerificationManager manager].status == ActivityStatusTrialExpire &&
+//        [VerificationManager manager].trialTimes == 2) {
+//        if (![[NSUserDefaults standardUserDefaults] objectForKey:@"allowRepeatTrialExpireShowKey"]) {
+//            return YES;
+//        }
+//    }
+    return NO;
+}
+
+static KMVerificationWindowController *_currentWindowController = nil;
+
++ (instancetype)verificationWithType:(KMVerificationType)type {
+    if (_currentWindowController) {
+        if (type != _currentWindowController.type) {
+            [_currentWindowController close];
+        } else {
+            return _currentWindowController;
+        }
+    }
+    KMVerificationWindowController *vc = [[KMVerificationWindowController alloc] initWithType:type];
+    return vc;
+}
+
+#pragma mark Init Methods
+
+- (instancetype)initWithType:(KMVerificationType)type {
+    if (self = [super initWithWindowNibName:@"KMVerificationWindowController"]) {
+        _type = type;
+    }
+    return self;
+}
+
+- (void)dealloc {
+    [NSDistributedNotificationCenter.defaultCenter removeObserver:self];
+    
+}
+
+#pragma mark - Getter Methods
+
+- (KMVerificationViewController *)normalViewController {
+    if (!_normalViewController) {
+        __block __typeof(self) blockSelf = self;
+        _normalViewController = [[KMVerificationViewController alloc] init];
+        _normalViewController.callback = ^(NSInteger index) {
+            if (index == 0) {
+                [blockSelf setContentView:blockSelf.activateViewController.view];
+            } else if (index == 1) {
+                if (KMVerificationTypeActivateExpired == self.type) {
+                    [blockSelf verificationFeedback];
+                } else {
+                    [blockSelf close];
+                }
+            } else {
+                [blockSelf verificationBuy];
+            }
+        };
+        if (KMVerificationTypeTrialExpired == self.type) {
+            _normalViewController.titleText = NSLocalizedString(@"Thank you for trying PDF Reader Pro", nil);
+            _normalViewController.messageText = NSLocalizedString(@"Your trial has expired. Buy Full version to annotate and edit PDF files.", nil);
+        } else {
+            _normalViewController.titleText = NSLocalizedString(@"PDF Reader Pro Activation", nil);
+            _normalViewController.messageText = NSLocalizedString(@"Buy Full Version to annotate and edit your PDF documents.", nil);
+        }
+    }
+    return _normalViewController;
+}
+
+- (KMVerificationActivateViewController *)activateViewController {
+    if (!_activateViewController) {
+        __block __typeof(self) blockSelf = self;
+        _activateViewController = [[KMVerificationActivateViewController alloc] init];
+        _activateViewController.callback = ^(NSInteger index, NSString *string) {
+            if (index == 0) {
+                if (blockSelf.callback) {
+                    blockSelf.callback();
+                    blockSelf.callback = nil;
+                    [blockSelf close];
+                } else {
+                    if (KMVerificationTypeTrial == blockSelf.type) {
+                        [blockSelf setContentView:blockSelf.trialViewController.view];
+                    } else if (KMVerificationTypeActivateExpired == blockSelf.type) {
+                        [blockSelf setContentView:blockSelf.expiredViewController.view];
+                    } else {
+                        [blockSelf setContentView:blockSelf.normalViewController.view];
+                    }
+                }
+            } else {
+                [blockSelf verificationActivate:string];
+            }
+        };
+    }
+    return _activateViewController;
+}
+
+- (KMVerificationExpiredViewController *)expiredViewController {
+    if (!_expiredViewController) {
+        __block __typeof(self) blockSelf = self;
+        _expiredViewController = [[KMVerificationExpiredViewController alloc] init];
+        _expiredViewController.callback = ^(NSInteger index) {
+            if (index == 0) {
+                [blockSelf setContentView:blockSelf.activateViewController.view];
+            } else {
+                [blockSelf verificationFeedback];
+            }
+        };
+    }
+    return _expiredViewController;
+}
+
+- (KMVerificationTrialViewController *)trialViewController {
+    if (!_trialViewController) {
+        __block __typeof(self) blockSelf = self;
+        _trialViewController = [[KMVerificationTrialViewController alloc] init];
+        _trialViewController.callback = ^(NSInteger index, NSString *email, NSString *name) {
+            if (index == 0) {
+                [blockSelf setContentView:blockSelf.activateViewController.view];
+            } else {
+                [blockSelf verificationTrialForEmail:email name:name];
+            }
+        };
+    }
+    return _trialViewController;
+}
+
+- (KMVerificationAlertViewController *)alertViewController {
+    if (!_alertViewController) {
+        __block __typeof(self) blockSelf = self;
+        _alertViewController = [[KMVerificationAlertViewController alloc] init];
+        _alertViewController.callback = ^{
+            [blockSelf close];
+        };
+        _alertViewController.buyActionHandle = ^{
+#if VERSION_DMG
+            NSURL *url = [NSURL URLWithString:@"https://www.pdfreaderpro.com/store"];
+            if([SKInspectPublicTool currentisLanguageHans]) {
+                url = [NSURL URLWithString:@"https://www.pdfreaderpro.com/zh-cn/store"];
+            }
+            [[NSWorkspace sharedWorkspace] openURL:url];
+#endif
+//            [[FMTrackEventManager manager] trackEvent:@"PUW" withProperties:@{@"PUW_Btn":@"Btn_PUW_BuyNow-Trial"}];
+            [blockSelf close];
+        };
+    }
+    return _alertViewController;
+}
+
+- (KMActivityALertViewController *)activityAlertViewController {
+    if (!_activityAlertViewController) {
+        __block __typeof(self) blockSelf = self;
+        _activityAlertViewController = [[KMActivityALertViewController alloc] init];
+        _activityAlertViewController.callback = ^{
+            [blockSelf close];
+        };
+    }
+    return _activityAlertViewController;
+}
+
+- (KMVerificationInfoViewController *)infoViewController {
+    if (!_infoViewController) {
+        __block __typeof(self) blockSelf = self;
+        _infoViewController = [[KMVerificationInfoViewController alloc] init];
+        _infoViewController.callback = ^{
+            [blockSelf close];
+        };
+        _infoViewController.unbindAction = ^{
+            dispatch_async(dispatch_get_main_queue(), ^{
+                [blockSelf unbindAction];
+            });
+        };
+    }
+    return _infoViewController;
+}
+
+- (KMRepeatTrialAlertController *)repeatTrialAlertController {
+    if (!_repeatTrialAlertController) {
+        __block __typeof(self) blockSelf = self;
+        _repeatTrialAlertController = [[KMRepeatTrialAlertController alloc] init];
+        _repeatTrialAlertController.callback = ^(NSInteger clickIndex, KMRepeatTrialAlertController * _Nonnull tRController) {
+            if (clickIndex == 0) {
+                //免费试用
+//                [blockSelf verificationTrialForEmail:[VerificationManager manager].email
+//                                                name:[VerificationManager manager].accountName] ;
+            } else if (clickIndex == 1) {
+                //了解更多
+                NSURL *url = [NSURL URLWithString:@"https://www.pdfreaderpro.com/store?utm_source=app_dmg&utm_medium=dmg_puw_sec_free_trial"];
+//                if([SKInspectPublicTool currentisLanguageHans]) {
+//                    url = [NSURL URLWithString:@"https://www.pdfreaderpro.com/zh-cn/store?utm_source=app_dmg&utm_medium=dmg_puw_sec_free_trial"];
+//                }
+                [[NSWorkspace sharedWorkspace] openURL:url];
+                [blockSelf close];
+            } else if (clickIndex == 2) {
+                //输入序列码
+                KMVerificationWindowController *vc = [KMVerificationWindowController verificationWithType:KMVerificationTypeActivate];
+                vc.callback = ^{
+
+                };
+                [vc showWindow:nil];
+            }
+        };
+    }
+    return _repeatTrialAlertController;
+}
+
+- (KMRepeatVerifyExpireController *)repeatTrialExpireController {
+    if (!_repeatTrialExpireController) {
+        __block __typeof(self) blockSelf = self;
+        _repeatTrialExpireController = [[KMRepeatVerifyExpireController alloc] init];
+        _repeatTrialExpireController.callback = ^(NSInteger clickIndex, KMRepeatVerifyExpireController * _Nonnull tRController) {
+            if (clickIndex == 0) {
+                [blockSelf setContentView:blockSelf.activateViewController.view];
+            } else if (clickIndex == 1) {
+//                [[FMTrackEventManager manager] trackEvent:@"PUW" withProperties:@{@"PUW_Btn":@"Btn_PUW_SecondTrialExpire_Later"}];
+                [blockSelf close];
+            } else if (clickIndex == 2) {
+//                [[FMTrackEventManager manager] trackEvent:@"PUW" withProperties:@{@"PUW_Btn":@"Btn_PUW_SecondTrialExpire_Buy"}];
+                [blockSelf verificationBuy];
+            }
+        };
+    }
+    return _repeatTrialExpireController;
+}
+
+- (KMTrialSuccessController *)trialSuccessController {
+    if (!_trialSuccessController) {
+        __block __typeof(self) blockSelf = self;
+        _trialSuccessController = [[KMTrialSuccessController alloc] init];
+        _trialSuccessController.clickHandle = ^(KMTrialSuccessController * _Nonnull controller) {
+            [blockSelf close];
+        };
+    }
+    return _trialSuccessController;
+}
+
+#pragma mark Window Methods
+
+- (void)windowDidLoad {
+    [super windowDidLoad];
+    
+    // Implement this method to handle any initialization after your window controller's window has been loaded from its nib file.
+    self.window.title = @"";
+    
+    [[self.window standardWindowButton:NSWindowZoomButton] setHidden:YES];
+    [[self.window standardWindowButton:NSWindowMiniaturizeButton] setHidden:YES];
+   
+    [self updateViewInfo];
+    
+    [self updateViewColor];
+    [NSDistributedNotificationCenter.defaultCenter addObserver:self selector:@selector(themeChanged:) name:@"AppleInterfaceThemeChangedNotification" object: nil];
+}
+
+- (void)updateViewInfo {
+    if (KMVerificationTypeNormal == self.type) {
+        [self setContentView:self.normalViewController.view];
+    } else if (KMVerificationTypeActivate == self.type) {
+        [self setContentView:self.activateViewController.view];
+    } else if (KMVerificationTypeTrial == self.type) {
+        [self setContentView:self.trialViewController.view];
+    } else if (KMVerificationTypeActivateExpired == self.type) {
+        [self setContentView:self.expiredViewController.view];
+    } else if (KMVerificationTypeTrialExpired == self.type) {
+        [self setContentView:self.normalViewController.view];
+    } else if (KMVerificationTypeInfo == self.type) {
+        [self setContentView:self.infoViewController.view];
+    } else if (KMVerificationTypeRepeatTrialGuide == self.type) {
+        self.window.title = @"";
+        [self setContentView:self.repeatTrialAlertController.view];
+
+        [[NSUserDefaults standardUserDefaults] setObject:@"YES" forKey:@"allowRepeatTrialAlertShowKey"];
+        [[NSUserDefaults standardUserDefaults] synchronize];
+    } else if (KMVerificationTypeRepeatTrialExpire == self.type) {
+        [self setContentView:self.repeatTrialExpireController.view];
+
+        [[NSUserDefaults standardUserDefaults] setObject:@"YES" forKey:@"allowRepeatTrialExpireShowKey"];
+        [[NSUserDefaults standardUserDefaults] synchronize];
+    } else if (self.type == KMVerificationTypeTrialSuccess ||
+               self.type == KMVerificationTypeRepeatTrialSuccess) {
+        [self setContentView:self.trialSuccessController.view];
+    }
+}
+
+- (void)updateViewColor {
+    if (KMVerificationTypeNormal == self.type) {
+        
+    } else if (KMVerificationTypeActivate == self.type) {
+        
+    } else if (KMVerificationTypeTrial == self.type) {
+        
+    } else if (KMVerificationTypeActivateExpired == self.type) {
+        
+    } else if (KMVerificationTypeTrialExpired == self.type) {
+        
+    } else if (KMVerificationTypeInfo == self.type) {
+        
+    } else if (KMVerificationTypeRepeatTrialGuide == self.type) {
+        [self.repeatTrialAlertController updateViewColor];
+    } else if (KMVerificationTypeRepeatTrialExpire == self.type) {
+        [self.repeatTrialExpireController updateViewColor];
+    } else if (KMVerificationTypeTrialSuccess == self.type ||
+               KMVerificationTypeRepeatTrialSuccess == self.type) {
+        [self.trialSuccessController updateViewColor];
+    }
+}
+
+- (void)showWindow:(id)sender {
+    if (!_currentWindowController) {
+        _currentWindowController = self;
+    }
+    
+    [super showWindow:sender];
+}
+
+- (void)windowWillClose:(NSNotification *)notification {
+    if (_currentWindowController) {
+        _currentWindowController = nil;
+    }
+    
+}
+
+#pragma mark - Setter
+- (void)setContentView:(NSView *)view {
+    NSRect frame = self.window.frame;
+    frame.origin.y -= view.frame.size.height-frame.size.height;
+    frame.origin.x -= (view.frame.size.width-frame.size.width)/2.0;
+    frame.size.width = view.frame.size.width;
+    frame.size.height = view.frame.size.height;
+    [self.box setContentView:view];
+    [self.window setFrame:frame display:YES animate:YES];
+}
+
+#pragma mark - Private Methods
+
+- (void)verificationTrialForEmail:(NSString *)email name:(NSString *)name {
+    if (email.length <= 0) {
+        return;
+    }
+    if (![self isConnectionAvailable]) {
+        NSAlert *alert = [NSAlert alertWithMessageText:NSLocalizedString(@"Connection Error", nil)
+                                         defaultButton:NSLocalizedString(@"OK", nil)
+                                       alternateButton:nil
+                                           otherButton:nil
+                             informativeTextWithFormat:NSLocalizedString(@"Please make sure your internet connection is available.", nil), nil];
+        [alert runModal];
+        return;
+    }
+
+    __block __typeof(self) blockSelf = self;
+    self.progressIndicator.hidden = NO;
+    [self.progressIndicator startAnimation:nil];
+    [self.trialViewController setEnabled:NO];
+//    [[VerificationManager manager] trialForDays:7 email:email name:name complention:^(ActivityStatus status, NSDictionary *info, NSError *error) {
+//        blockSelf.progressIndicator.hidden = YES;
+//        [blockSelf.progressIndicator stopAnimation:nil];
+//        [blockSelf.trialViewController setEnabled:YES];
+//        if (error ||
+//            status != ActivityStatusTrial) {
+//            NSAlert *alert = [NSAlert alertWithMessageText:NSLocalizedString(@"Activation Error", nil)
+//                                             defaultButton:NSLocalizedString(@"Try Again", nil)
+//                                           alternateButton:nil
+//                                               otherButton:nil
+//                                 informativeTextWithFormat:NSLocalizedString(@"Failed to sign up for the free trial. Please make sure your internet connection is available and try again later.", nil), nil];
+//            [alert runModal];
+//        } else {
+//            blockSelf.type = KMVerificationTypeTrialSuccess;
+//            [blockSelf updateViewInfo];
+//        }
+//    }];
+}
+
+- (void)verificationActivate:(NSString *)license {
+    if (license.length <= 0) {
+        return;
+    }
+    if (![self isConnectionAvailable]) {
+        NSAlert *alert = [NSAlert alertWithMessageText:NSLocalizedString(@"Connection Error", nil)
+                                         defaultButton:NSLocalizedString(@"OK", nil)
+                                       alternateButton:nil
+                                           otherButton:nil
+                             informativeTextWithFormat:@"", nil];
+        
+        NSButton *accessryBtn = [[NSButton alloc] initWithFrame:CGRectMake(0, 0, 180, 44)];
+        accessryBtn.autoresizingMask = NSViewMaxXMargin | NSViewMinYMargin | NSViewMaxYMargin;
+        accessryBtn.bezelStyle = NSBezelStyleRegularSquare;
+        accessryBtn.bordered = NO;
+        accessryBtn.target = self;
+        accessryBtn.action = @selector(accessryBtnClicked:);
+        NSMutableAttributedString *mutAttrString = [[NSMutableAttributedString alloc] initWithString:NSLocalizedString(@"Please make sure your internet connection is available.", nil)];
+        [mutAttrString addAttribute:NSUnderlineStyleAttributeName value:[NSNumber numberWithInteger:NSUnderlineStyleSingle] range:NSMakeRange(0, [mutAttrString length])];
+        [mutAttrString addAttribute:NSFontAttributeName value:[NSFont systemFontOfSize:12] range:NSMakeRange(0, [mutAttrString length])];
+        [mutAttrString addAttribute:NSForegroundColorAttributeName value:[KMAppearance KMColor_Interactive_M0] range:NSMakeRange(0, [mutAttrString length])];
+        
+        accessryBtn.attributedTitle = mutAttrString;
+        
+        NSRect rect = [mutAttrString boundingRectWithSize:CGSizeMake(180, MAXFLOAT) options:NSStringDrawingUsesLineFragmentOrigin | NSStringDrawingUsesFontLeading];
+        CGRect frame = accessryBtn.frame;
+        frame.size.height = rect.size.height;
+        accessryBtn.frame = frame;
+        alert.accessoryView = accessryBtn;
+        
+        [alert runModal];
+        return;
+    }
+    __block __typeof(self) blockSelf = self;
+    self.progressIndicator.hidden = NO;
+    [self.progressIndicator startAnimation:nil];
+    [self.activateViewController setEnabled:NO];
+    NSDictionary *infoDic = @{@"cdkey":license};
+//    [[VerificationManager manager] activateDeviceWithInfo:infoDic complention:^(ActivityStatus status, NSDictionary *info, NSError *error) {
+//        blockSelf.progressIndicator.hidden = YES;
+//        [blockSelf.progressIndicator stopAnimation:nil];
+//        [blockSelf.activateViewController setEnabled:YES];
+//        if (error) {
+//
+//            NSString *tTitle0 = NSLocalizedString(@"The license you have entered is not correct. Please enter valid license.", nil);
+//            NSString *tTitle1 = NSLocalizedString(@"If you have already purchased PDF Reader Pro for Mac, you should find your license in an email confirmation.", nil);
+//
+//            NSString *message = [NSString stringWithFormat:@"%@\n\n%@", tTitle0, tTitle1];
+//
+//            if (ActivityErrorTypeCDKeyEmpty == error.code) {
+//                message = [NSString stringWithFormat:@"%@\n\n%@", NSLocalizedString(@"License number can not be empty.", nil), @""];
+//            } else if (ActivityErrorTypeCDKeyNotExist == error.code) {
+//                message = [NSString stringWithFormat:@"%@\n\n%@", NSLocalizedString(@"License number does not exist.", nil), @""];
+//            } else if (ActivityErrorTypeOutNumber == error.code) {
+//                NSString *tMsg0 = NSLocalizedString(@"The devices connected to the license number has outnumbered.", nil);
+//                NSString *tMsg1 = NSLocalizedString(@"Please deactivate license on one of them, to use PDF Reader Pro on this computer", nil);
+//                message = [NSString stringWithFormat:@"%@\n\n%@", tMsg0, tMsg1];
+//            } else if (ActivityErrorTypeNetworkDisable == error.code) {
+//                message = NSLocalizedString(@"The network is unavailable.", nil);
+//            } else if (ActivityErrorTypeCDKeyExpire == error.code) {
+//                message = NSLocalizedString(@"The license number expired.", nil);
+//            } else if (ActivityErrorTypeInvalidInfo == error.code) {
+//                message = NSLocalizedString(@"Activation error. Please try to input correct license, or contact us.", nil);
+//            } else if (ActivityErrorTypeNotMatchProduct == error.code) {
+//                message = NSLocalizedString(@"The license number is wrong, please input right license which is for this app.", nil);
+//            } else if (ActivityErrorTypeFormatError == error.code) {
+//                message = NSLocalizedString(@"The license format is wrong. Please input correct license.", nil);
+//            }
+//
+//            if ((ActivityErrorTypeUnknow == error.code) || (ActivityErrorTypeOutNumber == error.code) || (ActivityErrorTypeInvalidInfo == error.code)) {
+//                NSAlert *alert = [NSAlert alertWithMessageText:NSLocalizedString(@"Activation Error", nil)
+//                                                 defaultButton:NSLocalizedString(@"Contact Us", nil)
+//                                               alternateButton:NSLocalizedString(@"Try Again", nil)
+//                                                   otherButton:nil
+//                                     informativeTextWithFormat:message, nil];
+//                if ([alert runModal]) {
+//                    [blockSelf verificationFeedback];
+//                }
+//            } else {
+//                if (ActivityErrorTypeNetworkDisable == error.code) {
+//                    NSAlert *alert = [NSAlert alertWithMessageText:NSLocalizedString(@"Connection Error", nil)
+//                                                     defaultButton:NSLocalizedString(@"OK", nil)
+//                                                   alternateButton:nil
+//                                                       otherButton:nil
+//                                         informativeTextWithFormat:@"", nil];
+//                    
+//                    NSButton *accessryBtn = [[NSButton alloc] initWithFrame:CGRectMake(0, 0, 180, 44)];
+//                    accessryBtn.autoresizingMask = NSViewMaxXMargin | NSViewMinYMargin | NSViewMaxYMargin;
+//                    accessryBtn.bezelStyle = NSBezelStyleRegularSquare;
+//                    accessryBtn.bordered = NO;
+//                    accessryBtn.target = self;
+//                    accessryBtn.action = @selector(accessryBtnClicked:);
+//                    NSMutableAttributedString *mutAttrString = [[[NSMutableAttributedString alloc] initWithString:NSLocalizedString(@"Please make sure your internet connection is available.", nil)] autorelease];
+//                    [mutAttrString addAttribute:NSFontAttributeName value:[NSFont systemFontOfSize:12] range:NSMakeRange(0, [mutAttrString length])];
+//                    [mutAttrString addAttribute:NSUnderlineStyleAttributeName value:[NSNumber numberWithInteger:NSUnderlineStyleSingle] range:NSMakeRange(0, [mutAttrString length])];
+//                    [mutAttrString addAttribute:NSForegroundColorAttributeName value:[KMAppearance KMColor_Interactive_M0] range:NSMakeRange(0, [mutAttrString length])];
+//                    
+//                    accessryBtn.attributedTitle = mutAttrString;
+//                    NSRect rect = [mutAttrString boundingRectWithSize:CGSizeMake(180, MAXFLOAT) options:NSStringDrawingUsesLineFragmentOrigin | NSStringDrawingUsesFontLeading];
+//                    CGRect frame = accessryBtn.frame;
+//                    frame.size.height = rect.size.height;
+//                    accessryBtn.frame = frame;
+//                    alert.accessoryView = accessryBtn;
+//                    
+//                    [alert runModal];
+//                } else {
+//                    NSAlert *alert = [NSAlert alertWithMessageText:NSLocalizedString(@"Activation Error", nil)
+//                                                     defaultButton:NSLocalizedString(@"Try Again", nil)
+//                                                   alternateButton:nil
+//                                                       otherButton:nil
+//                                         informativeTextWithFormat:message, nil];
+//                    [alert runModal];
+//                }
+//            }
+//        } else {
+//            blockSelf.activityAlertViewController.alertTitle = NSLocalizedString(@"Successful activation!", nil);
+//            blockSelf.activityAlertViewController.alertMessage = NSLocalizedString(@"Congrats! You can start enjoying the advanced features of PDF Reader Pro.", nil);
+//            [blockSelf setContentView:blockSelf.activityAlertViewController.view];
+//        }
+//    }];
+    
+}
+
+- (void)verificationBuy {
+#if VERSION_DMG
+    NSURL *url = [NSURL URLWithString:@"https://www.pdfreaderpro.com/store?utm_source=MacAppDmg&utm_campaign=StoreLink&utm_medium=PdfStore"];
+    if([SKInspectPublicTool currentisLanguageHans]) {
+        url = [NSURL URLWithString:@"https://www.pdfreaderpro.com/zh-cn/store?utm_source=MacAppDmg&utm_campaign=StoreLink&utm_medium=PdfStore"];
+    }
+    [[NSWorkspace sharedWorkspace] openURL:url];
+#endif
+    
+}
+
+#pragma - 验证错误时反馈信息
+- (void)verificationFeedback {
+    unsigned major, minor, bugFix;
+    [self getSystemVersionMajor:&major minor:&minor bugFix:&bugFix];
+    NSString *versionString = [NSString stringWithFormat:@"%@ - %u.%u.%u", [GBDeviceInfo deviceInfo].rawSystemInfoString, major, minor, bugFix];
+    
+    //application version (use short version preferentially)
+    NSString *tAppVersion = [[NSBundle mainBundle] objectForInfoDictionaryKey:@"CFBundleShortVersionString"];
+    if ([tAppVersion length] < 1) {
+        tAppVersion = [[NSBundle mainBundle] objectForInfoDictionaryKey:(NSString *)kCFBundleVersionKey];
+    }
+    
+    NSString* subjects = [[self getAppNameForSupportEmail] stringByAppendingFormat:NSLocalizedString(@" - %@;Verification Feedback;%@", nil) ,tAppVersion,versionString];
+//    [KMMailHelper newEmailWithContacts:@"support@pdfreaderpro.com" andSubjects:subjects];
+}
+
+- (void)unbindAction {
+    unsigned major, minor, bugFix;
+    [self getSystemVersionMajor:&major minor:&minor bugFix:&bugFix];
+    NSString *versionString = [NSString stringWithFormat:@"%@ - %u.%u.%u", [GBDeviceInfo deviceInfo].rawSystemInfoString, major, minor, bugFix];
+    
+    //application version (use short version preferentially)
+    NSString *tAppVersion = [[NSBundle mainBundle] objectForInfoDictionaryKey:@"CFBundleShortVersionString"];
+    if ([tAppVersion length] < 1) {
+        tAppVersion = [[NSBundle mainBundle] objectForInfoDictionaryKey:(NSString *)kCFBundleVersionKey];
+    }
+    
+    NSString *subjects = [[self getAppNameForEmail] stringByAppendingString:[NSString stringWithFormat:@" %@",@"Verification:"]];
+    subjects = [subjects stringByAppendingString:[NSString stringWithFormat:@"%@;",tAppVersion]];
+    subjects = [subjects stringByAppendingString:[NSString stringWithFormat:@" %@;",versionString]];
+    subjects = [subjects stringByAppendingString:[NSString stringWithFormat:@" %@",NSLocalizedString(@"Unbind License Code:", nil)]];
+//    subjects = [subjects stringByAppendingString:[NSString stringWithFormat:@"%@",[VerificationManager manager].detailInfo[@"device"][@"unique_sn"]?:@""]];
+    
+    NSString *mailtoAddress = [NSString stringWithFormat:@"mailto:%@?Subject=%@&body=%@",@"support@pdfreaderpro.com",[self URLEncodedString:subjects],[self URLEncodedString:NSLocalizedString(@"Hi PDF Reader Pro Team, I need to unbind my license code, thanks!\nNotice: Please do not modify the subtitle content", nil)]];
+    [[NSWorkspace sharedWorkspace] openURL:[NSURL URLWithString:mailtoAddress]];
+}
+
+- (void)accessryBtnClicked:(NSButton *)btn {
+    
+    [[NSWorkspace sharedWorkspace] openURL:[NSURL URLWithString:@"https://www.pdfreaderpro.com/mac/help/activate-license-code-mac"]];
+}
+
+
+- (NSString *)URLEncodedString:(NSString *)string {
+    CFStringRef stringRef = CFBridgingRetain(string);
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wdeprecated-declarations"
+    CFStringRef encoded = CFURLCreateStringByAddingPercentEscapes(kCFAllocatorDefault,
+                                                                  stringRef,
+                                                                  NULL,
+                                                                  CFSTR("!*'\"();:@&=+$,/?%#[]% "),
+                                                                  kCFStringEncodingUTF8);
+#pragma clang diagnostic pop
+    CFRelease(stringRef);
+    return CFBridgingRelease(encoded);
+}
+
+- (void)getSystemVersionMajor:(unsigned *)major
+                        minor:(unsigned *)minor
+                       bugFix:(unsigned *)bugFix {
+    OSErr err;
+    SInt32 systemVersion, versionMajor, versionMinor, versionBugFix;
+    
+    if ([[NSProcessInfo processInfo] respondsToSelector:@selector(operatingSystemVersion)]) {
+        NSOperatingSystemVersion osSystemVersion = [[NSProcessInfo processInfo] operatingSystemVersion];
+        
+        *major = (unsigned)osSystemVersion.majorVersion;
+        *minor = (unsigned)osSystemVersion.minorVersion;
+        *bugFix = (unsigned)osSystemVersion.patchVersion;
+        
+        return;
+    } else {
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wdeprecated-declarations"
+        if ((err = Gestalt(gestaltSystemVersion, &systemVersion)) != noErr) goto fail;
+        if (systemVersion < 0x1040)
+        {
+            if (major) *major = ((systemVersion & 0xF000) >> 12) * 10 +
+                ((systemVersion & 0x0F00) >> 8);
+            if (minor) *minor = (systemVersion & 0x00F0) >> 4;
+            if (bugFix) *bugFix = (systemVersion & 0x000F);
+        }
+        else
+        {
+            if ((err = Gestalt(gestaltSystemVersionMajor, &versionMajor)) != noErr) goto fail;
+            if ((err = Gestalt(gestaltSystemVersionMinor, &versionMinor)) != noErr) goto fail;
+            if ((err = Gestalt(gestaltSystemVersionBugFix, &versionBugFix)) != noErr) goto fail;
+            if (major) *major = versionMajor;
+            if (minor) *minor = versionMinor;
+            if (bugFix) *bugFix = versionBugFix;
+        }
+        
+        return;
+#pragma clang diagnostic pop
+    }
+    
+fail:
+    NSLog(@"Unable to obtain system version: %ld", (long)err);
+    if (major) *major = 10;
+    if (minor) *minor = 0;
+    if (bugFix) *bugFix = 0;
+}
+
+- (NSString *)getAppNameForEmail {
+    NSString *tAppName = @"PDF Reader Pro Mac";
+    
+#if VERSION_FREE
+    
+#if VERSION_DMG
+    
+#else
+    
+    // AppStore 免费版本
+    tAppName = @"PDF Reader Pro Lite";
+#endif
+    
+#else
+    
+    // AppStore 付费版
+    tAppName = @"PDF Reader Pro Edition";
+#endif
+    
+    return tAppName;
+}
+
+- (NSString *)getAppNameForSupportEmail {
+    NSString *tAppName = @"PDF Reader Pro";
+    
+#if VERSION_FREE
+    
+#if VERSION_DMG
+    // 桌机版
+    VerificationManager *tManager = [VerificationManager manager];
+    switch ([tManager status]) {
+        case ActivityStatusTrial:
+            tAppName = @"PDF Reader Pro Trial";
+            break;
+            
+        case ActivityStatusVerification:
+            tAppName = @"PDF Reader Pro Verification";
+            break;
+            
+        case ActivityStatusTrialExpire:
+            tAppName = @"PDF Reader Pro TrialExpire";
+            break;
+            
+        case ActivityStatusVerifExpire:
+            tAppName = @"PDF Reader Pro VerifExpire";
+            break;
+            
+        default:
+            break;
+    }
+    
+#else
+    
+    // AppStore 免费版本
+    tAppName = @"PDF Reader Pro Lite";
+#endif
+    
+#else
+    
+    // AppStore 付费版
+    tAppName = @"PDF Reader Pro Edition";
+#endif
+    
+    return tAppName;
+}
+
+- (BOOL)isConnectionAvailable {
+    BOOL isExistenceNetwork = YES;
+    Reachability *reach = [Reachability reachabilityWithHostname:@"www.apple.com"];
+    switch ([reach currentReachabilityStatus]) {
+        case NotReachable:
+            isExistenceNetwork = NO;
+            //NSLog(@"notReachable");
+            break;
+        case ReachableViaWiFi:
+            isExistenceNetwork = YES;
+            //NSLog(@"WIFI");
+            break;
+        case ReachableViaWWAN:
+            isExistenceNetwork = YES;
+            //NSLog(@"3G");
+            break;
+    }
+    if (NotReachable == [[Reachability reachabilityForInternetConnection] currentReachabilityStatus]) {
+        return NO;
+    }
+    return YES;
+}
+
+#pragma mark - NSNotification
+- (void)themeChanged:(NSNotification *)notification {
+    dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.3 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
+        [self updateViewColor];
+    });
+}
+
+@end

+ 53 - 0
PDF Office/PDF Master/Class/Purchase/DMG/Verification/KMVerificationWindowController.xib

@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="22505" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" customObjectInstantitationMethod="direct">
+    <dependencies>
+        <deployment identifier="macosx"/>
+        <plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="22505"/>
+        <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
+    </dependencies>
+    <objects>
+        <customObject id="-2" userLabel="File's Owner" customClass="KMVerificationWindowController">
+            <connections>
+                <outlet property="box" destination="jnK-bx-53B" id="e95-xh-0vV"/>
+                <outlet property="progressIndicator" destination="Xgy-IB-b20" id="xXb-j0-Arg"/>
+                <outlet property="window" destination="F0z-JX-Cv5" id="gIp-Ho-8D9"/>
+            </connections>
+        </customObject>
+        <customObject id="-1" userLabel="First Responder" customClass="FirstResponder"/>
+        <customObject id="-3" userLabel="Application" customClass="NSObject"/>
+        <window title="Window" allowsToolTipsWhenApplicationIsInactive="NO" autorecalculatesKeyViewLoop="NO" releasedWhenClosed="NO" visibleAtLaunch="NO" animationBehavior="documentWindow" titlebarAppearsTransparent="YES" id="F0z-JX-Cv5">
+            <windowStyleMask key="styleMask" titled="YES" closable="YES" miniaturizable="YES" fullSizeContentView="YES"/>
+            <windowPositionMask key="initialPositionMask" leftStrut="YES" rightStrut="YES" topStrut="YES" bottomStrut="YES"/>
+            <rect key="contentRect" x="415" y="246" width="620" height="552"/>
+            <rect key="screenRect" x="0.0" y="0.0" width="1920" height="1055"/>
+            <view key="contentView" wantsLayer="YES" id="se5-gp-TjO">
+                <rect key="frame" x="0.0" y="0.0" width="620" height="552"/>
+                <autoresizingMask key="autoresizingMask"/>
+                <subviews>
+                    <box boxType="custom" borderType="none" cornerRadius="4" title="Box" translatesAutoresizingMaskIntoConstraints="NO" id="jnK-bx-53B">
+                        <rect key="frame" x="0.0" y="0.0" width="620" height="552"/>
+                        <view key="contentView" id="LQy-ej-CwB">
+                            <rect key="frame" x="0.0" y="0.0" width="620" height="552"/>
+                            <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
+                        </view>
+                    </box>
+                    <progressIndicator hidden="YES" wantsLayer="YES" horizontalHuggingPriority="750" verticalHuggingPriority="750" maxValue="100" bezeled="NO" indeterminate="YES" style="spinning" translatesAutoresizingMaskIntoConstraints="NO" id="Xgy-IB-b20">
+                        <rect key="frame" x="294" y="260" width="32" height="32"/>
+                    </progressIndicator>
+                </subviews>
+                <constraints>
+                    <constraint firstAttribute="bottom" secondItem="jnK-bx-53B" secondAttribute="bottom" id="1RK-qr-7Qw"/>
+                    <constraint firstItem="jnK-bx-53B" firstAttribute="top" secondItem="se5-gp-TjO" secondAttribute="top" id="1kj-lb-uff"/>
+                    <constraint firstItem="jnK-bx-53B" firstAttribute="leading" secondItem="se5-gp-TjO" secondAttribute="leading" id="Bem-2d-2KY"/>
+                    <constraint firstAttribute="trailing" secondItem="jnK-bx-53B" secondAttribute="trailing" id="F3d-q1-td6"/>
+                    <constraint firstItem="Xgy-IB-b20" firstAttribute="centerX" secondItem="se5-gp-TjO" secondAttribute="centerX" id="M4q-3N-9FP"/>
+                    <constraint firstItem="Xgy-IB-b20" firstAttribute="centerY" secondItem="se5-gp-TjO" secondAttribute="centerY" id="d63-pm-erM"/>
+                </constraints>
+            </view>
+            <connections>
+                <outlet property="delegate" destination="-2" id="0bl-1N-AYu"/>
+            </connections>
+            <point key="canvasLocation" x="140" y="144"/>
+        </window>
+    </objects>
+</document>