     //MARK: IBOutlet
     @IBOutlet open var passwordInputViews: [PasswordInputView]!
     @IBOutlet open weak var passwordDotView: PasswordDotView!
-    @IBOutlet weak var deleteButton: UIButton!
-    @IBOutlet weak var touchAuthenticationButton: UIButton!
+    @IBOutlet open weak var deleteButton: UIButton!
+    @IBOutlet open weak var touchAuthenticationButton: UIButton!
     
     //MARK: Property
     open var deleteButtonLocalizedTitle: String = "" {


private extension PasswordContainerView {
    func checkInputComplete() {
        if inputString.characters.count == passwordDotView.totalDotCount {
            delegate?.passwordInputComplete(self, input: inputString)
        }
    }
    func configureVibrancyEffect() {
        let whiteColor = UIColor.white
        let clearColor = UIColor.clear

    
    //MARK: IBAction
    @IBAction func deleteInputString(_ sender: AnyObject) {
        #if swift(>=3.2)
            guard inputString.count > 0 && !passwordDotView.isFull else {
                return
            }
            inputString = String(inputString.dropLast())
        #else
            guard inputString.characters.count > 0 && !passwordDotView.isFull else {
            return
            }
            inputString = String(inputString.characters.dropLast())
        #endif
    }
    
    @IBAction func touchAuthenticationAction(_ sender: UIButton) {
