diff --git a/Documentation/Classes.html b/Documentation/Classes.html index dde2478..c620c8a 100644 --- a/Documentation/Classes.html +++ b/Documentation/Classes.html @@ -14,6 +14,7 @@

VSAlert Docs (100% documented)

+

View on GitHub

@@ -147,7 +148,7 @@

Declaration

diff --git a/Documentation/Classes/VSAlertAction.html b/Documentation/Classes/VSAlertAction.html index 63f2917..8534526 100644 --- a/Documentation/Classes/VSAlertAction.html +++ b/Documentation/Classes/VSAlertAction.html @@ -15,6 +15,7 @@

VSAlert Docs (100% documented)

+

View on GitHub

@@ -468,7 +469,7 @@

Declaration

diff --git a/Documentation/Classes/VSAlertController.html b/Documentation/Classes/VSAlertController.html index e38b213..d2ef933 100644 --- a/Documentation/Classes/VSAlertController.html +++ b/Documentation/Classes/VSAlertController.html @@ -15,6 +15,7 @@

VSAlert Docs (100% documented)

+

View on GitHub

@@ -791,7 +792,7 @@

Declaration

diff --git a/Documentation/Constants.html b/Documentation/Constants.html index 11cd5e7..2232fd3 100644 --- a/Documentation/Constants.html +++ b/Documentation/Constants.html @@ -14,6 +14,7 @@

VSAlert Docs (100% documented)

+

View on GitHub

@@ -141,7 +142,7 @@

Declaration

diff --git a/Documentation/Enums.html b/Documentation/Enums.html index b5b3c41..b5d0b6f 100644 --- a/Documentation/Enums.html +++ b/Documentation/Enums.html @@ -14,6 +14,7 @@

VSAlert Docs (100% documented)

+

View on GitHub

@@ -197,7 +198,7 @@

Declaration

diff --git a/Documentation/Enums/VSAlertActionStyle.html b/Documentation/Enums/VSAlertActionStyle.html index de3fb45..b6202af 100644 --- a/Documentation/Enums/VSAlertActionStyle.html +++ b/Documentation/Enums/VSAlertActionStyle.html @@ -15,6 +15,7 @@

VSAlert Docs (100% documented)

+

View on GitHub

@@ -181,7 +182,7 @@

Declaration

diff --git a/Documentation/Enums/VSAlertControllerAnimationStyle.html b/Documentation/Enums/VSAlertControllerAnimationStyle.html index 37fb25d..5b9b6c1 100644 --- a/Documentation/Enums/VSAlertControllerAnimationStyle.html +++ b/Documentation/Enums/VSAlertControllerAnimationStyle.html @@ -15,6 +15,7 @@

VSAlert Docs (100% documented)

+

View on GitHub

@@ -293,7 +294,7 @@

Declaration

diff --git a/Documentation/Enums/VSAlertControllerStyle.html b/Documentation/Enums/VSAlertControllerStyle.html index acf7476..de7d855 100644 --- a/Documentation/Enums/VSAlertControllerStyle.html +++ b/Documentation/Enums/VSAlertControllerStyle.html @@ -15,6 +15,7 @@

VSAlert Docs (100% documented)

+

View on GitHub

@@ -181,7 +182,7 @@

Declaration

diff --git a/Documentation/Protocols.html b/Documentation/Protocols.html index 6ec8e19..de7c678 100644 --- a/Documentation/Protocols.html +++ b/Documentation/Protocols.html @@ -14,6 +14,7 @@

VSAlert Docs (100% documented)

+

View on GitHub

@@ -115,7 +116,7 @@

Declaration

diff --git a/Documentation/Protocols/VSAlertControllerDelegate.html b/Documentation/Protocols/VSAlertControllerDelegate.html index 2b8c997..d547ded 100644 --- a/Documentation/Protocols/VSAlertControllerDelegate.html +++ b/Documentation/Protocols/VSAlertControllerDelegate.html @@ -15,6 +15,7 @@

VSAlert Docs (100% documented)

+

View on GitHub

@@ -153,7 +154,7 @@

Parameters

diff --git a/Documentation/docsets/.docset/Contents/Info.plist b/Documentation/docsets/.docset/Contents/Info.plist deleted file mode 100644 index 61863ec..0000000 --- a/Documentation/docsets/.docset/Contents/Info.plist +++ /dev/null @@ -1,20 +0,0 @@ - - - - - CFBundleIdentifier - com.jazzy. - CFBundleName - - DocSetPlatformFamily - - isDashDocset - - dashIndexFilePath - index.html - isJavaScriptEnabled - - DashDocSetFamily - dashtoc - - diff --git a/Documentation/docsets/.docset/Contents/Resources/Documents/Classes.html b/Documentation/docsets/.docset/Contents/Resources/Documents/Classes.html deleted file mode 100644 index fde28aa..0000000 --- a/Documentation/docsets/.docset/Contents/Resources/Documents/Classes.html +++ /dev/null @@ -1,157 +0,0 @@ - - - - Classes Reference - - - - - - - - - -
-
-

Docs (100% documented)

-
-
-
- -
-
- -
-
-
-

Classes

-

The following classes are available globally.

- -
-
-
-
    -
  • -
    - - - - VSAlertAction - -
    -
    -
    -
    -
    -
    -

    VSAlertAction is a specialized subclass of UIButton that is used to populate and provide interactive controls to an instance of VSAlertController.

    - - See more -
    -
    -

    Declaration

    -
    -

    Objective-C

    -
    @interface VSAlertAction : UIButton <UIAppearance>
    - -
    -
    -
    -
    -
  • -
-
-
-
    -
  • -
    - - - - VSAlertController - -
    -
    -
    -
    -
    -
    -

    VSAlertController is a drop-in replacement for UIAlertController with more features. It is created using the +alertControllerWithTitle:description:image:style: class method, and configured using instances of VSAlertAction. You can add text fields by calling -addTextField: on an instance of VSAlertController. Instantiate the controller, add your actions and textfieds. and any other configuration you might need. Present the controller modally using UIViewController’s -presentViewController:animated:completion: method. VSAlertController respects the animation paramater of this call, and you configure the animation in question by setting your instances animationStyle property before presentation. You can also change this property in the handler of an action to use a different animation on dismissal.

    - - See more -
    -
    -

    Declaration

    -
    -

    Objective-C

    -
    @interface VSAlertController : UIViewController <UIAppearance>
    - -
    -
    -
    -
    -
  • -
-
-
-
- -
-
- -
- diff --git a/Documentation/docsets/.docset/Contents/Resources/Documents/Classes/VSAlertAction.html b/Documentation/docsets/.docset/Contents/Resources/Documents/Classes/VSAlertAction.html deleted file mode 100644 index fe72256..0000000 --- a/Documentation/docsets/.docset/Contents/Resources/Documents/Classes/VSAlertAction.html +++ /dev/null @@ -1,478 +0,0 @@ - - - - VSAlertAction Class Reference - - - - - - - - - - -
-
-

Docs (100% documented)

-
-
-
- -
-
- -
-
-
-

VSAlertAction

-
-
-
@interface VSAlertAction : UIButton <UIAppearance>
- -
-
-

VSAlertAction is a specialized subclass of UIButton that is used to populate and provide interactive controls to an instance of VSAlertController.

- -
-
-
- -
    -
  • - -
    -
    -
    -
    -
    -

    A factory method to create an instance of UIAlertAction. This is the prefered way to create alert actions.

    - -
    -
    -

    Declaration

    -
    -

    Objective-C

    -
    + (nullable instancetype)
    -alertActionWithTitle:(nonnull NSString *)title
    -               style:(VSAlertActionStyle)style
    -              action:(void (^_Nullable)(VSAlertAction *_Nonnull))action;
    - -
    -
    -
    -

    Parameters

    - - - - - - - - - - - - - - - -
    - - title - - -
    -

    The title of the action

    -
    -
    - - style - - -
    -

    The style of the action

    -
    -
    - - action - - -
    -

    The block to be executed when the user interacts with the action, but before the alert is dismissed

    -
    -
    -
    -
    -

    Return Value

    -

    The instantiaed action

    -
    -
    -
    -
  • -
  • - -
    -
    -
    -
    -
    -

    Create an instance of UIAlertAction

    - -
    -
    -

    Declaration

    -
    -

    Objective-C

    -
    - (nullable instancetype)
    -initWithTitle:(nonnull NSString *)title
    -        style:(VSAlertActionStyle)style
    -       action:(void (^_Nullable)(VSAlertAction *_Nonnull))action;
    - -
    -
    -
    -

    Parameters

    - - - - - - - - - - - - - - - -
    - - title - - -
    -

    The title of the action

    -
    -
    - - style - - -
    -

    The style of the action

    -
    -
    - - action - - -
    -

    The block to be executed when the user interacts with the action, but before the alert is dismissed

    -
    -
    -
    -
    -

    Return Value

    -

    The instantiaed action

    -
    -
    -
    -
  • -
-
-
- -
    -
  • -
    - - - - actionTextColor - -
    -
    -
    -
    -
    -
    -

    The color of the title text used in non-desctructive actions

    - -
    -
    -

    Declaration

    -
    -

    Objective-C

    -
    @property (readwrite, strong, nonatomic, nonnull) UIColor *actionTextColor;
    - -
    -
    -
    -
    -
  • -
  • - -
    -
    -
    -
    -
    -

    The color of the title text used in destructive actions

    - -
    -
    -

    Declaration

    -
    -

    Objective-C

    -
    @property (readwrite, strong, nonatomic, nonnull)
    -    UIColor *destructiveActionTextColor;
    - -
    -
    -
    -
    -
  • -
  • -
    - - - - actionTextFont - -
    -
    -
    -
    -
    -
    -

    The font of the title used in non-cancel actions

    - -
    -
    -

    Declaration

    -
    -

    Objective-C

    -
    @property (readwrite, strong, nonatomic, nonnull) UIFont *actionTextFont;
    - -
    -
    -
    -
    -
  • -
  • -
    - - - - cancelActionTextFont - -
    -
    -
    -
    -
    -
    -

    The font of the title used in cancel actions

    - -
    -
    -

    Declaration

    -
    -

    Objective-C

    -
    @property (readwrite, strong, nonatomic, nonnull) UIFont *cancelActionTextFont;
    - -
    -
    -
    -
    -
  • -
-
-
- -
    -
  • -
    - - - - alertTitle - -
    -
    -
    -
    -
    -
    -

    The title of the alert

    - -
    -
    -

    Declaration

    -
    -

    Objective-C

    -
    @property (readonly, copy, nonatomic, nullable) NSString *alertTitle;
    - -
    -
    -
    -
    -
  • -
  • -
    - - - - style - -
    -
    -
    -
    -
    -
    -

    The display style of the alert

    - -
    -
    -

    Declaration

    -
    -

    Objective-C

    -
    @property (readonly, assign, nonatomic) VSAlertActionStyle style;
    - -
    -
    -
    -
    -
  • -
  • -
    - - - - action - -
    -
    -
    -
    -
    -
    -

    The block that will be executed when the user interacts with the action. The block is called on the main thread always, and begins executed before the alert is dismissed

    - -
    -
    -

    Declaration

    -
    -

    Objective-C

    -
    @property (readonly, copy, nonatomic, nullable) void (^)(VSAlertAction *_Nonnull)
    -    action;
    - -
    -
    -
    -
    -
  • -
-
-
-
- -
-
- -
- diff --git a/Documentation/docsets/.docset/Contents/Resources/Documents/Classes/VSAlertController.html b/Documentation/docsets/.docset/Contents/Resources/Documents/Classes/VSAlertController.html deleted file mode 100644 index 7e81f02..0000000 --- a/Documentation/docsets/.docset/Contents/Resources/Documents/Classes/VSAlertController.html +++ /dev/null @@ -1,801 +0,0 @@ - - - - VSAlertController Class Reference - - - - - - - - - - -
-
-

Docs (100% documented)

-
-
-
- -
-
- -
-
-
-

VSAlertController

-
-
-
@interface VSAlertController : UIViewController <UIAppearance>
- -
-
-

VSAlertController is a drop-in replacement for UIAlertController with more features. It is created using the +alertControllerWithTitle:description:image:style: class method, and configured using instances of VSAlertAction. You can add text fields by calling -addTextField: on an instance of VSAlertController. Instantiate the controller, add your actions and textfieds. and any other configuration you might need. Present the controller modally using UIViewController’s -presentViewController:animated:completion: method. VSAlertController respects the animation paramater of this call, and you configure the animation in question by setting your instances animationStyle property before presentation. You can also change this property in the handler of an action to use a different animation on dismissal.

- -
-
-
- -
    -
  • - -
    -
    -
    -
    -
    -

    A factory method to create an instance of VSAlertController. This is the preffered way to instantiate alerts

    - -
    -
    -

    Declaration

    -
    -

    Objective-C

    -
    + (nullable instancetype)alertControllerWithTitle:(nullable NSString *)title
    -                                          message:(nullable NSString *)message
    -                                            image:(nullable UIImage *)image
    -                                            style:(VSAlertControllerStyle)style;
    - -
    -
    -
    -

    Parameters

    - - - - - - - - - - - - - - - - - - - -
    - - title - - -
    -

    The title of the alert

    -
    -
    - - message - - -
    -

    The message of the alert

    -
    -
    - - image - - -
    -

    The image to be displayed in the header of the alert.

    -
    -
    - - style - - -
    -

    The style of the alert

    -
    -
    -
    -
    -

    Return Value

    -

    The instantiated alert object

    -
    -
    -
    -
  • -
  • - -
    -
    -
    -
    -
    -

    A factory method to create an instance of VSAlertController.

    - -
    -
    -

    Declaration

    -
    -

    Objective-C

    -
    + (nullable instancetype)alertControllerWithTitle:(nullable NSString *)title
    -                                          message:(nullable NSString *)message
    -                                            style:(VSAlertControllerStyle)style;
    - -
    -
    -
    -

    Parameters

    - - - - - - - - - - - - - - - -
    - - title - - -
    -

    The title of the alert

    -
    -
    - - message - - -
    -

    The message of the alert

    -
    -
    - - style - - -
    -

    The style of the alert

    -
    -
    -
    -
    -

    Return Value

    -

    The instantiated alert object

    -
    -
    -
    -
  • -
  • - -
    -
    -
    -
    -
    -

    Create an instance of VSAlertController

    - -
    -
    -

    Declaration

    -
    -

    Objective-C

    -
    - (nullable instancetype)initWithTitle:(nullable NSString *)title
    -                               message:(nullable NSString *)message
    -                                 image:(nullable UIImage *)image
    -                                 style:(VSAlertControllerStyle)style;
    - -
    -
    -
    -

    Parameters

    - - - - - - - - - - - - - - - - - - - -
    - - title - - -
    -

    The title of the alert

    -
    -
    - - message - - -
    -

    The message of the alert

    -
    -
    - - image - - -
    -

    The image to be displayed in the header of the alert.

    -
    -
    - - style - - -
    -

    The style of the alert

    -
    -
    -
    -
    -

    Return Value

    -

    The instantiated alert object

    -
    -
    -
    -
  • -
-
-
- -
    -
  • -
    - - - - alertTitleTextColor - -
    -
    -
    -
    -
    -
    -

    The color of the alert title. The default value is black.

    - -
    -
    -

    Declaration

    -
    -

    Objective-C

    -
    @property (readwrite, strong, nonatomic, nonnull) UIColor *alertTitleTextColor;
    - -
    -
    -
    -
    -
  • -
  • -
    - - - - alertMessageTextColor - -
    -
    -
    -
    -
    -
    -

    The color of the alert message (description). The default value is black.

    - -
    -
    -

    Declaration

    -
    -

    Objective-C

    -
    @property (readwrite, strong, nonatomic, nonnull) UIColor *alertMessageTextColor;
    - -
    -
    -
    -
    -
  • -
  • -
    - - - - alertTitleTextFont - -
    -
    -
    -
    -
    -
    -

    The font of the alert title. The default value is the system font size 17 weight medium.

    - -
    -
    -

    Declaration

    -
    -

    Objective-C

    -
    @property (readwrite, strong, nonatomic, nonnull) UIFont *alertTitleTextFont;
    - -
    -
    -
    -
    -
  • -
  • -
    - - - - alertMessageTextFont - -
    -
    -
    -
    -
    -
    -

    The font of the alert message (description). The default value is the system font size 15 weight regular.

    - -
    -
    -

    Declaration

    -
    -

    Objective-C

    -
    @property (readwrite, strong, nonatomic, nonnull) UIFont *alertMessageTextFont;
    - -
    -
    -
    -
    -
  • -
-
-
- -
    -
  • -
    - - - - -addAction: - -
    -
    -
    -
    -
    -
    -

    Add an action to an alert

    - -
    -
    -

    Declaration

    -
    -

    Objective-C

    -
    - (void)addAction:(nonnull VSAlertAction *)alertAction;
    - -
    -
    -
    -

    Parameters

    - - - - - - - -
    - - alertAction - - -
    -

    The action to add to the alert.

    -
    -
    -
    -
    -
    -
  • -
  • -
    - - - - -addTextField: - -
    -
    -
    -
    -
    -
    -

    Add a text field to the alert. Rather than instantiating a UITextField object yourself, VSAlertController instantiates one for you. You can configure it using the optional configuration block

    - -
    -
    -

    Declaration

    -
    -

    Objective-C

    -
    - (void)addTextField:(void (^_Nullable)(UITextField *_Nonnull))configuration;
    - -
    -
    -
    -

    Parameters

    - - - - - - - -
    - - configuration - - -
    -

    The block used to configure the text field.

    -
    -
    -
    -
    -
    -
  • -
-
-
- -
    -
  • - -
    -
    -
    -
    -
    -

    Set to YES if you want the alert to dismiss itself when the user taps on the background of the alert. Default is NO.

    - -
    -
    -

    Declaration

    -
    -

    Objective-C

    -
    @property (getter=shouldDismissOnBackgroundTap, assign, readwrite, nonatomic)
    -    BOOL dismissOnBackgroundTap;
    - -
    -
    -
    -
    -
  • -
  • -
    - - - - animationStyle - -
    -
    -
    -
    -
    -
    -

    Change the animation used when the alert is presented AND dismissed. Default is VSAlertControllerAnimationStyleRise.

    - -
    -
    -

    Declaration

    -
    -

    Objective-C

    -
    @property (assign, readwrite, nonatomic)
    -    VSAlertControllerAnimationStyle animationStyle;
    - -
    -
    -
    -
    -
  • -
-
-
- -
    -
  • -
    - - - - delegate - -
    -
    -
    -
    -
    -
    -

    The delegate object to handle alert action interactions

    - -
    -
    -

    Declaration

    -
    -

    Objective-C

    -
    @property (readwrite, atomic, nullable) id<VSAlertControllerDelegate> delegate;
    - -
    -
    -
    -
    -
  • -
  • -
    - - - - textFields - -
    -
    -
    -
    -
    -
    -

    Returns the array of text field objects that are displayed in the alert, so you can interact with the user’s inputs.

    - -
    -
    -

    Declaration

    -
    -

    Objective-C

    -
    @property (readonly, strong, nonatomic, nonnull)
    -    NSArray<UITextField *> *textFields;
    - -
    -
    -
    -
    -
  • -
  • -
    - - - - style - -
    -
    -
    -
    -
    -
    -

    The style of the alert

    - -
    -
    -

    Declaration

    -
    -

    Objective-C

    -
    @property (readonly, assign, nonatomic) VSAlertControllerStyle style;
    - -
    -
    -
    -
    -
  • -
  • -
    - - - - message - -
    -
    -
    -
    -
    -
    -

    The message of the alert

    - -
    -
    -

    Declaration

    -
    -

    Objective-C

    -
    @property (readonly, copy, nonatomic, nonnull) NSString *message;
    - -
    -
    -
    -
    -
  • -
  • -
    - - - - image - -
    -
    -
    -
    -
    -
    -

    The image of the alert

    - -
    -
    -

    Declaration

    -
    -

    Objective-C

    -
    @property (readonly, strong, nonatomic, nullable) UIImage *image;
    - -
    -
    -
    -
    -
  • -
-
-
-
- -
-
- -
- diff --git a/Documentation/docsets/.docset/Contents/Resources/Documents/Constants.html b/Documentation/docsets/.docset/Contents/Resources/Documents/Constants.html deleted file mode 100644 index 8230313..0000000 --- a/Documentation/docsets/.docset/Contents/Resources/Documents/Constants.html +++ /dev/null @@ -1,151 +0,0 @@ - - - - Constants Reference - - - - - - - - - -
-
-

Docs (100% documented)

-
-
-
- -
-
- -
-
-
-

Constants

-

The following constants are available globally.

- -
-
-
-
    -
  • - -
    -
    -
    -
    -
    -

    An exception thrown when an unimplemented feature is encountered at runtime.

    - -
    -
    -

    Declaration

    -
    -

    Objective-C

    -
    extern NSString *const _Nonnull VSAlertControllerNotImplementedException
    - -
    -
    -
    -
    -
  • -
  • - -
    -
    -
    -
    -
    -

    An exception thrown when a text field is added to an alert controller which doesn’t support text fields

    - -
    -
    -

    Declaration

    -
    -

    Objective-C

    -
    extern NSString *const _Nonnull VSAlertControllerTextFieldInvalidException
    - -
    -
    -
    -
    -
  • -
-
-
-
- -
-
- -
- diff --git a/Documentation/docsets/.docset/Contents/Resources/Documents/Enums.html b/Documentation/docsets/.docset/Contents/Resources/Documents/Enums.html deleted file mode 100644 index 542e9d3..0000000 --- a/Documentation/docsets/.docset/Contents/Resources/Documents/Enums.html +++ /dev/null @@ -1,207 +0,0 @@ - - - - Enumerations Reference - - - - - - - - - -
-
-

Docs (100% documented)

-
-
-
- -
-
- -
-
-
-

Enumerations

-

The following enumerations are available globally.

- -
-
-
-
    -
  • -
    - - - - VSAlertActionStyle - -
    -
    -
    -
    -
    -
    -

    An enumeration for the kinds of actions that can be created

    - -
      -
    • VSAlertActionStyleDefault: A normal action
    • -
    • VSAlertActionStyleCancel: An action that indicates to the user that the current process wil be cancelled
    • -
    • VSAlertActionStyleDestructive: An action indicates to the user that an irreversible process is about to happen.
    • -
    - - See more -
    -
    -

    Declaration

    -
    -

    Objective-C

    -
    enum VSAlertActionStyle {}
    - -
    -
    -
    -
    -
  • -
-
-
-
    -
  • - -
    -
    -
    -
    -
    -

    An enumeration describing the kinds of alerts that VSAlertController can display

    - -
      -
    • VSAlertControllerStyleAlert: A standard alert, 270pt wide, variable height. Supports text fields
    • -
    • VSAlertControllerStyleWalkthroughAlert: A wider alert that stretches to the margins of the device - 18pt in either direction. Supports text fields, useful for onboarding.
    • -
    • VSAlertControllerStyleActionSheet: An alert that appears at the bottom of the display, similar to Apple’s action sheet stlye. Does NOT support text fields.
    • -
    - - See more -
    -
    -

    Declaration

    -
    -

    Objective-C

    -
    enum VSAlertControllerStyle {}
    - -
    -
    -
    -
    -
  • -
  • - -
    -
    -
    -
    -
    -

    An enumeration describing the kinds of animations that can be used to present and hide an alert

    - -
      -
    • VSAlertControllerAnimationStyleRise: The alert rises from the bottom of the screen and falls down when dismissed.
    • -
    • VSAlertControllerAnimationStyleFall: The alert falls from the top of the screen and rises up when dismissed.
    • -
    • VSAlertControllerAnimationStyleSlide: The alert slides from the left of the screen and slides to the right when dismissed.
    • -
    • VSAlertControllerAnimationStyleFlip: The alert flips from the right, and flips to the left when dismissed.
    • -
    • VSAlertControllerAnimationStyleSticker: The alert page flips from the top, then again from the bottom when dismissed.
    • -
    • VSAlertControllerAnimationStyleCrossDisolve: The alert page fades in, then fades out dismissed. -= VSAlertControllerAnimationStyleAutomatic: The alert chooses its presentation and dismissal styles automatically.
    • -
    - - See more -
    -
    -

    Declaration

    -
    -

    Objective-C

    -
    enum VSAlertControllerAnimationStyle {}
    - -
    -
    -
    -
    -
  • -
-
-
-
- -
-
- -
- diff --git a/Documentation/docsets/.docset/Contents/Resources/Documents/Enums/VSAlertActionStyle.html b/Documentation/docsets/.docset/Contents/Resources/Documents/Enums/VSAlertActionStyle.html deleted file mode 100644 index 3fc28f8..0000000 --- a/Documentation/docsets/.docset/Contents/Resources/Documents/Enums/VSAlertActionStyle.html +++ /dev/null @@ -1,191 +0,0 @@ - - - - VSAlertActionStyle Enumeration Reference - - - - - - - - - - -
-
-

Docs (100% documented)

-
-
-
- -
-
- -
-
-
-

VSAlertActionStyle

-
-
-
enum VSAlertActionStyle {}
- -
-
-

An enumeration for the kinds of actions that can be created

- -
    -
  • VSAlertActionStyleDefault: A normal action
  • -
  • VSAlertActionStyleCancel: An action that indicates to the user that the current process wil be cancelled
  • -
  • VSAlertActionStyleDestructive: An action indicates to the user that an irreversible process is about to happen.
  • -
- -
-
-
-
    -
  • - -
    -
    -
    -
    -
    -

    A normal action

    - -
    -
    -

    Declaration

    -
    -

    Objective-C

    -
    VSAlertActionStyleDefault
    - -
    -
    -
    -
    -
  • -
  • - -
    -
    -
    -
    -
    -

    An action that indicates to the user that the current process wil be cancelled

    - -
    -
    -

    Declaration

    -
    -

    Objective-C

    -
    VSAlertActionStyleCancel
    - -
    -
    -
    -
    -
  • -
  • - -
    -
    -
    -
    -
    -

    An action indicates to the user that an irreversible process is about to happen.

    - -
    -
    -

    Declaration

    -
    -

    Objective-C

    -
    VSAlertActionStyleDestructive
    - -
    -
    -
    -
    -
  • -
-
-
-
- -
-
- -
- diff --git a/Documentation/docsets/.docset/Contents/Resources/Documents/Enums/VSAlertControllerAnimationStyle.html b/Documentation/docsets/.docset/Contents/Resources/Documents/Enums/VSAlertControllerAnimationStyle.html deleted file mode 100644 index 8ea347e..0000000 --- a/Documentation/docsets/.docset/Contents/Resources/Documents/Enums/VSAlertControllerAnimationStyle.html +++ /dev/null @@ -1,303 +0,0 @@ - - - - VSAlertControllerAnimationStyle Enumeration Reference - - - - - - - - - - -
-
-

Docs (100% documented)

-
-
-
- -
-
- -
-
-
-

VSAlertControllerAnimationStyle

-
-
-
enum VSAlertControllerAnimationStyle {}
- -
-
-

An enumeration describing the kinds of animations that can be used to present and hide an alert

- -
    -
  • VSAlertControllerAnimationStyleRise: The alert rises from the bottom of the screen and falls down when dismissed.
  • -
  • VSAlertControllerAnimationStyleFall: The alert falls from the top of the screen and rises up when dismissed.
  • -
  • VSAlertControllerAnimationStyleSlide: The alert slides from the left of the screen and slides to the right when dismissed.
  • -
  • VSAlertControllerAnimationStyleFlip: The alert flips from the right, and flips to the left when dismissed.
  • -
  • VSAlertControllerAnimationStyleSticker: The alert page flips from the top, then again from the bottom when dismissed.
  • -
  • VSAlertControllerAnimationStyleCrossDisolve: The alert page fades in, then fades out dismissed. -= VSAlertControllerAnimationStyleAutomatic: The alert chooses its presentation and dismissal styles automatically.
  • -
- -
-
-
-
    -
  • - -
    -
    -
    -
    -
    -

    The alert rises from the bottom of the screen and falls down when dismissed.

    - -
    -
    -

    Declaration

    -
    -

    Objective-C

    -
    VSAlertControllerAnimationStyleRise
    - -
    -
    -
    -
    -
  • -
  • - -
    -
    -
    -
    -
    -

    The alert falls from the top of the screen and rises up when dismissed.

    - -
    -
    -

    Declaration

    -
    -

    Objective-C

    -
    VSAlertControllerAnimationStyleFall
    - -
    -
    -
    -
    -
  • -
  • - -
    -
    -
    -
    -
    -

    The alert slides from the left of the screen and slides to the right when dismissed.

    - -
    -
    -

    Declaration

    -
    -

    Objective-C

    -
    VSAlertControllerAnimationStyleSlide
    - -
    -
    -
    -
    -
  • -
  • - -
    -
    -
    -
    -
    -

    The alert flips from the right, and flips to the left when dismissed.

    - -
    -
    -

    Declaration

    -
    -

    Objective-C

    -
    VSAlertControllerAnimationStyleFlip
    - -
    -
    -
    -
    -
  • -
  • - -
    -
    -
    -
    -
    -

    The alert page flips from the top, then again from the bottom when dismissed.

    - -
    -
    -

    Declaration

    -
    -

    Objective-C

    -
    VSAlertControllerAnimationStyleSticker
    - -
    -
    -
    -
    -
  • -
  • - -
    -
    -
    -
    -
    -

    The alert page fades in, then fades out dismissed.

    - -
    -
    -

    Declaration

    -
    -

    Objective-C

    -
    VSAlertControllerAnimationStyleCrossDisolve
    - -
    -
    -
    -
    -
  • -
  • - -
    -
    -
    -
    -
    -

    The alert chooses its presentation and dismissal styles automatically.

    - -
    -
    -

    Declaration

    -
    -

    Objective-C

    -
    VSAlertControllerAnimationStyleAutomatic
    - -
    -
    -
    -
    -
  • -
-
-
-
- -
-
- -
- diff --git a/Documentation/docsets/.docset/Contents/Resources/Documents/Enums/VSAlertControllerStyle.html b/Documentation/docsets/.docset/Contents/Resources/Documents/Enums/VSAlertControllerStyle.html deleted file mode 100644 index e05e574..0000000 --- a/Documentation/docsets/.docset/Contents/Resources/Documents/Enums/VSAlertControllerStyle.html +++ /dev/null @@ -1,191 +0,0 @@ - - - - VSAlertControllerStyle Enumeration Reference - - - - - - - - - - -
-
-

Docs (100% documented)

-
-
-
- -
-
- -
-
-
-

VSAlertControllerStyle

-
-
-
enum VSAlertControllerStyle {}
- -
-
-

An enumeration describing the kinds of alerts that VSAlertController can display

- -
    -
  • VSAlertControllerStyleAlert: A standard alert, 270pt wide, variable height. Supports text fields
  • -
  • VSAlertControllerStyleWalkthroughAlert: A wider alert that stretches to the margins of the device - 18pt in either direction. Supports text fields, useful for onboarding.
  • -
  • VSAlertControllerStyleActionSheet: An alert that appears at the bottom of the display, similar to Apple’s action sheet stlye. Does NOT support text fields.
  • -
- -
-
-
-
    -
  • - -
    -
    -
    -
    -
    -

    A standard alert, 270pt wide, variable height. Supports text fields

    - -
    -
    -

    Declaration

    -
    -

    Objective-C

    -
    VSAlertControllerStyleAlert
    - -
    -
    -
    -
    -
  • -
  • - -
    -
    -
    -
    -
    -

    A wider alert that stretches to the margins of the device - 18pt in either direction. Supports text fields, useful for onboarding. 500px wide on iPad.

    - -
    -
    -

    Declaration

    -
    -

    Objective-C

    -
    VSAlertControllerStyleWalkthroughAlert
    - -
    -
    -
    -
    -
  • -
  • - -
    -
    -
    -
    -
    -

    An alert that appears at the bottom of the display, similar to Apple’s action sheet stlye. Does NOT support text fields.

    - -
    -
    -

    Declaration

    -
    -

    Objective-C

    -
    VSAlertControllerStyleActionSheet
    - -
    -
    -
    -
    -
  • -
-
-
-
- -
-
- -
- diff --git a/Documentation/docsets/.docset/Contents/Resources/Documents/Protocols.html b/Documentation/docsets/.docset/Contents/Resources/Documents/Protocols.html deleted file mode 100644 index 4392dfd..0000000 --- a/Documentation/docsets/.docset/Contents/Resources/Documents/Protocols.html +++ /dev/null @@ -1,125 +0,0 @@ - - - - Protocols Reference - - - - - - - - - -
-
-

Docs (100% documented)

-
-
-
- -
-
- -
-
-
-

Protocols

-

The following protocols are available globally.

- -
-
-
-
    -
  • - -
    -
    -
    -
    -
    -

    VSAlertControllerDelegate is a protocol used to inform an object about user intractions with alerts

    - - See more -
    -
    -

    Declaration

    -
    -

    Objective-C

    -
    @protocol VSAlertControllerDelegate <NSObject>
    - -
    -
    -
    -
    -
  • -
-
-
-
- -
-
- -
- diff --git a/Documentation/docsets/.docset/Contents/Resources/Documents/Protocols/VSAlertControllerDelegate.html b/Documentation/docsets/.docset/Contents/Resources/Documents/Protocols/VSAlertControllerDelegate.html deleted file mode 100644 index fbd5ecf..0000000 --- a/Documentation/docsets/.docset/Contents/Resources/Documents/Protocols/VSAlertControllerDelegate.html +++ /dev/null @@ -1,163 +0,0 @@ - - - - VSAlertControllerDelegate Protocol Reference - - - - - - - - - - -
-
-

Docs (100% documented)

-
-
-
- -
-
- -
-
-
-

VSAlertControllerDelegate

-
-
-
@protocol VSAlertControllerDelegate <NSObject>
- -
-
-

VSAlertControllerDelegate is a protocol used to inform an object about user intractions with alerts

- -
-
-
-
    -
  • - -
    -
    -
    -
    -
    -

    Sent to the delegate when the user taps on an action. Message is sent before the action block is executed.

    - -
    -
    -

    Declaration

    -
    -

    Objective-C

    -
    - (void)alertController:(nonnull VSAlertController *)alertController
    -        didSelectAction:(nonnull VSAlertAction *)action;
    - -
    -
    -
    -

    Parameters

    - - - - - - - - - - - -
    - - alertController - - -
    -

    The alert controller that houses the action.

    -
    -
    - - action - - -
    -

    The action that was interacted with.

    -
    -
    -
    -
    -
    -
  • -
-
-
-
- -
-
- -
- diff --git a/Documentation/docsets/.docset/Contents/Resources/Documents/badge.svg b/Documentation/docsets/.docset/Contents/Resources/Documents/badge.svg deleted file mode 100644 index a096fec..0000000 --- a/Documentation/docsets/.docset/Contents/Resources/Documents/badge.svg +++ /dev/null @@ -1,28 +0,0 @@ - - - - - - - - - - - - - - - - documentation - - - documentation - - - 100% - - - 100% - - - diff --git a/Documentation/docsets/.docset/Contents/Resources/Documents/css/highlight.css b/Documentation/docsets/.docset/Contents/Resources/Documents/css/highlight.css deleted file mode 100644 index d0db0e1..0000000 --- a/Documentation/docsets/.docset/Contents/Resources/Documents/css/highlight.css +++ /dev/null @@ -1,200 +0,0 @@ -/* Credit to https://gist.github.com/wataru420/2048287 */ -.highlight { - /* Comment */ - /* Error */ - /* Keyword */ - /* Operator */ - /* Comment.Multiline */ - /* Comment.Preproc */ - /* Comment.Single */ - /* Comment.Special */ - /* Generic.Deleted */ - /* Generic.Deleted.Specific */ - /* Generic.Emph */ - /* Generic.Error */ - /* Generic.Heading */ - /* Generic.Inserted */ - /* Generic.Inserted.Specific */ - /* Generic.Output */ - /* Generic.Prompt */ - /* Generic.Strong */ - /* Generic.Subheading */ - /* Generic.Traceback */ - /* Keyword.Constant */ - /* Keyword.Declaration */ - /* Keyword.Pseudo */ - /* Keyword.Reserved */ - /* Keyword.Type */ - /* Literal.Number */ - /* Literal.String */ - /* Name.Attribute */ - /* Name.Builtin */ - /* Name.Class */ - /* Name.Constant */ - /* Name.Entity */ - /* Name.Exception */ - /* Name.Function */ - /* Name.Namespace */ - /* Name.Tag */ - /* Name.Variable */ - /* Operator.Word */ - /* Text.Whitespace */ - /* Literal.Number.Float */ - /* Literal.Number.Hex */ - /* Literal.Number.Integer */ - /* Literal.Number.Oct */ - /* Literal.String.Backtick */ - /* Literal.String.Char */ - /* Literal.String.Doc */ - /* Literal.String.Double */ - /* Literal.String.Escape */ - /* Literal.String.Heredoc */ - /* Literal.String.Interpol */ - /* Literal.String.Other */ - /* Literal.String.Regex */ - /* Literal.String.Single */ - /* Literal.String.Symbol */ - /* Name.Builtin.Pseudo */ - /* Name.Variable.Class */ - /* Name.Variable.Global */ - /* Name.Variable.Instance */ - /* Literal.Number.Integer.Long */ } - .highlight .c { - color: #999988; - font-style: italic; } - .highlight .err { - color: #a61717; - background-color: #e3d2d2; } - .highlight .k { - color: #000000; - font-weight: bold; } - .highlight .o { - color: #000000; - font-weight: bold; } - .highlight .cm { - color: #999988; - font-style: italic; } - .highlight .cp { - color: #999999; - font-weight: bold; } - .highlight .c1 { - color: #999988; - font-style: italic; } - .highlight .cs { - color: #999999; - font-weight: bold; - font-style: italic; } - .highlight .gd { - color: #000000; - background-color: #ffdddd; } - .highlight .gd .x { - color: #000000; - background-color: #ffaaaa; } - .highlight .ge { - color: #000000; - font-style: italic; } - .highlight .gr { - color: #aa0000; } - .highlight .gh { - color: #999999; } - .highlight .gi { - color: #000000; - background-color: #ddffdd; } - .highlight .gi .x { - color: #000000; - background-color: #aaffaa; } - .highlight .go { - color: #888888; } - .highlight .gp { - color: #555555; } - .highlight .gs { - font-weight: bold; } - .highlight .gu { - color: #aaaaaa; } - .highlight .gt { - color: #aa0000; } - .highlight .kc { - color: #000000; - font-weight: bold; } - .highlight .kd { - color: #000000; - font-weight: bold; } - .highlight .kp { - color: #000000; - font-weight: bold; } - .highlight .kr { - color: #000000; - font-weight: bold; } - .highlight .kt { - color: #445588; } - .highlight .m { - color: #009999; } - .highlight .s { - color: #d14; } - .highlight .na { - color: #008080; } - .highlight .nb { - color: #0086B3; } - .highlight .nc { - color: #445588; - font-weight: bold; } - .highlight .no { - color: #008080; } - .highlight .ni { - color: #800080; } - .highlight .ne { - color: #990000; - font-weight: bold; } - .highlight .nf { - color: #990000; } - .highlight .nn { - color: #555555; } - .highlight .nt { - color: #000080; } - .highlight .nv { - color: #008080; } - .highlight .ow { - color: #000000; - font-weight: bold; } - .highlight .w { - color: #bbbbbb; } - .highlight .mf { - color: #009999; } - .highlight .mh { - color: #009999; } - .highlight .mi { - color: #009999; } - .highlight .mo { - color: #009999; } - .highlight .sb { - color: #d14; } - .highlight .sc { - color: #d14; } - .highlight .sd { - color: #d14; } - .highlight .s2 { - color: #d14; } - .highlight .se { - color: #d14; } - .highlight .sh { - color: #d14; } - .highlight .si { - color: #d14; } - .highlight .sx { - color: #d14; } - .highlight .sr { - color: #009926; } - .highlight .s1 { - color: #d14; } - .highlight .ss { - color: #990073; } - .highlight .bp { - color: #999999; } - .highlight .vc { - color: #008080; } - .highlight .vg { - color: #008080; } - .highlight .vi { - color: #008080; } - .highlight .il { - color: #009999; } diff --git a/Documentation/docsets/.docset/Contents/Resources/Documents/css/jazzy.css b/Documentation/docsets/.docset/Contents/Resources/Documents/css/jazzy.css deleted file mode 100644 index d628282..0000000 --- a/Documentation/docsets/.docset/Contents/Resources/Documents/css/jazzy.css +++ /dev/null @@ -1,337 +0,0 @@ -html, body, div, span, h1, h3, h4, p, a, code, em, img, ul, li, table, tbody, tr, td { - background: transparent; - border: 0; - margin: 0; - outline: 0; - padding: 0; - vertical-align: baseline; } - -body { - background-color: #f2f2f2; - font-family: Helvetica, freesans, Arial, sans-serif; - font-size: 14px; - -webkit-font-smoothing: subpixel-antialiased; - word-wrap: break-word; } - -h1, h2, h3 { - margin-top: 0.8em; - margin-bottom: 0.3em; - font-weight: 100; - color: black; } - -h1 { - font-size: 2.5em; } - -h2 { - font-size: 2em; - border-bottom: 1px solid #e2e2e2; } - -h4 { - font-size: 13px; - line-height: 1.5; - margin-top: 21px; } - -h5 { - font-size: 1.1em; } - -h6 { - font-size: 1.1em; - color: #777; } - -.section-name { - color: gray; - display: block; - font-family: Helvetica; - font-size: 22px; - font-weight: 100; - margin-bottom: 15px; } - -pre, code { - font: 0.95em Menlo, monospace; - color: #777; - word-wrap: normal; } - -p code, li code { - background-color: #eee; - padding: 2px 4px; - border-radius: 4px; } - -a { - color: #0088cc; - text-decoration: none; } - -ul { - padding-left: 15px; } - -li { - line-height: 1.8em; } - -img { - max-width: 100%; } - -blockquote { - margin-left: 0; - padding: 0 10px; - border-left: 4px solid #ccc; } - -.content-wrapper { - margin: 0 auto; - width: 980px; } - -header { - font-size: 0.85em; - line-height: 26px; - background-color: #414141; - position: fixed; - width: 100%; - z-index: 1; } - header img { - padding-right: 6px; - vertical-align: -4px; - height: 16px; } - header a { - color: #fff; } - header p { - float: left; - color: #999; } - header .header-right { - float: right; - margin-left: 16px; } - -#breadcrumbs { - background-color: #f2f2f2; - height: 27px; - padding-top: 17px; - position: fixed; - width: 100%; - z-index: 1; - margin-top: 26px; } - #breadcrumbs #carat { - height: 10px; - margin: 0 5px; } - -.sidebar { - background-color: #f9f9f9; - border: 1px solid #e2e2e2; - overflow-y: auto; - overflow-x: hidden; - position: fixed; - top: 70px; - bottom: 0; - width: 230px; - word-wrap: normal; } - -.nav-groups { - list-style-type: none; - background: #fff; - padding-left: 0; } - -.nav-group-name { - border-bottom: 1px solid #e2e2e2; - font-size: 1.1em; - font-weight: 100; - padding: 15px 0 15px 20px; } - .nav-group-name > a { - color: #333; } - -.nav-group-tasks { - margin-top: 5px; } - -.nav-group-task { - font-size: 0.9em; - list-style-type: none; - white-space: nowrap; } - .nav-group-task a { - color: #888; } - -.main-content { - background-color: #fff; - border: 1px solid #e2e2e2; - margin-left: 246px; - position: absolute; - overflow: hidden; - padding-bottom: 60px; - top: 70px; - width: 734px; } - .main-content p, .main-content a, .main-content code, .main-content em, .main-content ul, .main-content table, .main-content blockquote { - margin-bottom: 1em; } - .main-content p { - line-height: 1.8em; } - .main-content section .section:first-child { - margin-top: 0; - padding-top: 0; } - .main-content section .task-group-section .task-group:first-of-type { - padding-top: 10px; } - .main-content section .task-group-section .task-group:first-of-type .section-name { - padding-top: 15px; } - .main-content section .heading:before { - content: ""; - display: block; - padding-top: 70px; - margin: -70px 0 0; } - -.section { - padding: 0 25px; } - -.highlight { - background-color: #eee; - padding: 10px 12px; - border: 1px solid #e2e2e2; - border-radius: 4px; - overflow-x: auto; } - -.declaration .highlight { - overflow-x: initial; - padding: 0 40px 40px 0; - margin-bottom: -25px; - background-color: transparent; - border: none; } - -.section-name { - margin: 0; - margin-left: 18px; } - -.task-group-section { - padding-left: 6px; - border-top: 1px solid #e2e2e2; } - -.task-group { - padding-top: 0px; } - -.task-name-container a[name]:before { - content: ""; - display: block; - padding-top: 70px; - margin: -70px 0 0; } - -.item { - padding-top: 8px; - width: 100%; - list-style-type: none; } - .item a[name]:before { - content: ""; - display: block; - padding-top: 70px; - margin: -70px 0 0; } - .item code { - background-color: transparent; - padding: 0; } - .item .token { - padding-left: 3px; - margin-left: 15px; - font-size: 11.9px; } - .item .declaration-note { - font-size: .85em; - color: gray; - font-style: italic; } - -.pointer-container { - border-bottom: 1px solid #e2e2e2; - left: -23px; - padding-bottom: 13px; - position: relative; - width: 110%; } - -.pointer { - background: #f9f9f9; - border-left: 1px solid #e2e2e2; - border-top: 1px solid #e2e2e2; - height: 12px; - left: 21px; - top: -7px; - -webkit-transform: rotate(45deg); - -moz-transform: rotate(45deg); - -o-transform: rotate(45deg); - transform: rotate(45deg); - position: absolute; - width: 12px; } - -.height-container { - display: none; - left: -25px; - padding: 0 25px; - position: relative; - width: 100%; - overflow: hidden; } - .height-container .section { - background: #f9f9f9; - border-bottom: 1px solid #e2e2e2; - left: -25px; - position: relative; - width: 100%; - padding-top: 10px; - padding-bottom: 5px; } - -.aside, .language { - padding: 6px 12px; - margin: 12px 0; - border-left: 5px solid #dddddd; - overflow-y: hidden; } - .aside .aside-title, .language .aside-title { - font-size: 9px; - letter-spacing: 2px; - text-transform: uppercase; - padding-bottom: 0; - margin: 0; - color: #aaa; - -webkit-user-select: none; } - .aside p:last-child, .language p:last-child { - margin-bottom: 0; } - -.language { - border-left: 5px solid #cde9f4; } - .language .aside-title { - color: #4b8afb; } - -.aside-warning { - border-left: 5px solid #ff6666; } - .aside-warning .aside-title { - color: #ff0000; } - -.graybox { - border-collapse: collapse; - width: 100%; } - .graybox p { - margin: 0; - word-break: break-word; - min-width: 50px; } - .graybox td { - border: 1px solid #e2e2e2; - padding: 5px 25px 5px 10px; - vertical-align: middle; } - .graybox tr td:first-of-type { - text-align: right; - padding: 7px; - vertical-align: top; - word-break: normal; - width: 40px; } - -.slightly-smaller { - font-size: 0.9em; } - -#footer { - position: absolute; - bottom: 10px; - margin-left: 25px; } - #footer p { - margin: 0; - color: #aaa; - font-size: 0.8em; } - -html.dash header, html.dash #breadcrumbs, html.dash .sidebar { - display: none; } -html.dash .main-content { - width: 980px; - margin-left: 0; - border: none; - width: 100%; - top: 0; - padding-bottom: 0; } -html.dash .height-container { - display: block; } -html.dash .item .token { - margin-left: 0; } -html.dash .content-wrapper { - width: auto; } -html.dash #footer { - position: static; } diff --git a/Documentation/docsets/.docset/Contents/Resources/Documents/img/carat.png b/Documentation/docsets/.docset/Contents/Resources/Documents/img/carat.png deleted file mode 100755 index 29d2f7f..0000000 Binary files a/Documentation/docsets/.docset/Contents/Resources/Documents/img/carat.png and /dev/null differ diff --git a/Documentation/docsets/.docset/Contents/Resources/Documents/img/dash.png b/Documentation/docsets/.docset/Contents/Resources/Documents/img/dash.png deleted file mode 100755 index 6f694c7..0000000 Binary files a/Documentation/docsets/.docset/Contents/Resources/Documents/img/dash.png and /dev/null differ diff --git a/Documentation/docsets/.docset/Contents/Resources/Documents/img/gh.png b/Documentation/docsets/.docset/Contents/Resources/Documents/img/gh.png deleted file mode 100755 index 628da97..0000000 Binary files a/Documentation/docsets/.docset/Contents/Resources/Documents/img/gh.png and /dev/null differ diff --git a/Documentation/docsets/.docset/Contents/Resources/Documents/index.html b/Documentation/docsets/.docset/Contents/Resources/Documents/index.html deleted file mode 100644 index 158ab44..0000000 --- a/Documentation/docsets/.docset/Contents/Resources/Documents/index.html +++ /dev/null @@ -1,161 +0,0 @@ - - - - Reference - - - - - - - - - -
-
-

Docs (100% documented)

-
-
-
- -
-
- -
-
-
- -

VSAlert

- -

An drop-in replacement for UIAlertController that looks a hell of a lot better, built in Objective-C. Based on Codedio’s aweomse Swift library, PMAlertController.

- -

Like PMAlertController, VSAlert builds on the functionality of UIAlertController by adding:

- -
    -
  • Built-in support for images in the heading of the alert
  • -
  • Much better animation
  • -
  • Much more flexible customization, because alert actions are subclasses of UIButton.
  • -
- -

VSAlertController differs from PMAlertController in a few ways:

- -
    -
  1. VSAlert doesn’t build it’s UI using a XIB file, which makes it a little bit more portable and easier to manage.
  2. -
  3. VSAlert is written in Objective-C rather than Swift (but is marked up using nullability for easy use in Swift)
  4. -
  5. VSAlert allows for a bit more customization at runtime.
  6. -
  7. VSAlert adds the destructive action style from Apple’s UIAlertController that was missing in PMAlertController
  8. -
  9. VSAlert doesn’t add actions and text fields in the order you create them, but rather in a dynamic order based on how many there are and what style they are (again, like Apple’s UIAlertController)
  10. -
  11. VSAlert doesn’t rely on UITextFieldDelegate, so you can freely assign your UITextField’s .delegate property without fear and the library will continue to work as expected.
  12. -
  13. VSAlert executes action blocks on the main-thread, to allow for UI actions and not get caught up by the main thread checker in Xcode 9.
  14. -
  15. VSAlert adds the Action Sheet style from Apple’s UIAlertController, missing from PMAlertController
  16. -
  17. VSAlert uses propertransition, and respects the animated parameter in UIViewController’s -presentViewController:animated:completion: method
  18. -
-

Just Give Me The Code

- -

VSAlert is packaged as a static library (with slices for all modern iPhones and the simulator), but the six files for the three classes that comprise the library are also available in the repo. Open the project, build the Framework targetfor Generic iOS Device if you want to re-compile the static library. The framework is built as a clang module, so you can use the @import module; syntax. (More info here: https://clang.llvm.org/docs/Modules.html). VSAlert makes use of Objective-C categories, so you’ll need to add the appropriate linker flags.

-

Getting Started (Static Framework)

- -
    -
  1. Go to (RepoDirectory)/Release/VSAlert.framework, and add it to your project directory.
  2. -
  3. In your app target’s settings, go to General –> Linked Frameworks and Libraries, and add VSAlert.framework
  4. -
  5. In your target’s build settings, go to Other Linker Flags, and add -all_load and -ObjC.
  6. -
-

Getting Started (Using the source code directly)

- -
    -
  1. Go to (RepoDirectory)/Library, and add all six files to your project. Make sure to add all three of the the implementation files to your target’s compile sources build phase, incase Xcode doesn’t do this for you automatically when adding the files to the target’s membership
  2. -
-

Usage

- -

The included Xcode project allows you to build the static library and an example application. Take a look at the example app to see all customization options, but here’s a basic implementation:

-

-#import "MyViewController.h"
-
-@import VSAlert;
-
-@implementation MyViewController
-
-- (void)showAlert:(id)sender {
-
-    VSAlertController *alertController = [VSAlertController alertControllerWithTitle:NSLocalizedString(@"Alert!", nil) description:NSLocalizedString(@"This app needs your attention right now", nil) style:VSAlertControllerStyleAlert];
-    VSAlertAction *action = [VSAlertAction actionWithTitle:NSLocalizedString(@"Close", nil) style:VSAlertActionStyleDefault action:^(VSAlertAction *action) {
-
-        NSLog(@"Do Something");
-
-    }
-
-    [alertController addAction:action];
-    [self presentViewController:alertController animated:YES completion:nil];
-
-}
-
-@end
-
- -

Full documentation is here

-

Image Template

- -

VSAlertController includes template images to help you size your images to make them look just right on an alert. I suggest using an Image that is 270pt tall and 180pt high, with your actual content centered in the middle at 116 x 116 pt. I’ve included PNGs with the appropriate outline, as well as a .sketch file

- -
-
- -
-
- - - diff --git a/Documentation/docsets/.docset/Contents/Resources/Documents/js/jazzy.js b/Documentation/docsets/.docset/Contents/Resources/Documents/js/jazzy.js deleted file mode 100755 index 3965b5f..0000000 --- a/Documentation/docsets/.docset/Contents/Resources/Documents/js/jazzy.js +++ /dev/null @@ -1,46 +0,0 @@ -window.jazzy = {'docset': false} -if (typeof window.dash != 'undefined') { - document.documentElement.className += ' dash' - window.jazzy.docset = true -} -if (navigator.userAgent.match(/xcode/i)) { - document.documentElement.className += ' xcode' - window.jazzy.docset = true -} - -// On doc load, toggle the URL hash discussion if present -$(document).ready(function() { - if (!window.jazzy.docset) { - var linkToHash = $('a[href="' + window.location.hash +'"]'); - linkToHash.trigger("click"); - } -}); - -// On token click, toggle its discussion and animate token.marginLeft -$(".token").click(function(event) { - if (window.jazzy.docset) { - return; - } - var link = $(this); - var animationDuration = 300; - var tokenOffset = "15px"; - var original = link.css('marginLeft') == tokenOffset; - link.animate({'margin-left':original ? "0px" : tokenOffset}, animationDuration); - $content = link.parent().parent().next(); - $content.slideToggle(animationDuration); - - // Keeps the document from jumping to the hash. - var href = $(this).attr('href'); - if (history.pushState) { - history.pushState({}, '', href); - } else { - location.hash = href; - } - event.preventDefault(); -}); - -// Dumb down quotes within code blocks that delimit strings instead of quotations -// https://github.com/realm/jazzy/issues/714 -$("code q").replaceWith(function () { - return ["\"", $(this).contents(), "\""]; -}); diff --git a/Documentation/docsets/.docset/Contents/Resources/Documents/js/jquery.min.js b/Documentation/docsets/.docset/Contents/Resources/Documents/js/jquery.min.js deleted file mode 100755 index ab28a24..0000000 --- a/Documentation/docsets/.docset/Contents/Resources/Documents/js/jquery.min.js +++ /dev/null @@ -1,4 +0,0 @@ -/*! jQuery v1.11.1 | (c) 2005, 2014 jQuery Foundation, Inc. | jquery.org/license */ -!function(a,b){"object"==typeof module&&"object"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error("jQuery requires a window with a document");return b(a)}:b(a)}("undefined"!=typeof window?window:this,function(a,b){var c=[],d=c.slice,e=c.concat,f=c.push,g=c.indexOf,h={},i=h.toString,j=h.hasOwnProperty,k={},l="1.11.1",m=function(a,b){return new m.fn.init(a,b)},n=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,o=/^-ms-/,p=/-([\da-z])/gi,q=function(a,b){return b.toUpperCase()};m.fn=m.prototype={jquery:l,constructor:m,selector:"",length:0,toArray:function(){return d.call(this)},get:function(a){return null!=a?0>a?this[a+this.length]:this[a]:d.call(this)},pushStack:function(a){var b=m.merge(this.constructor(),a);return b.prevObject=this,b.context=this.context,b},each:function(a,b){return m.each(this,a,b)},map:function(a){return this.pushStack(m.map(this,function(b,c){return a.call(b,c,b)}))},slice:function(){return this.pushStack(d.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(a){var b=this.length,c=+a+(0>a?b:0);return this.pushStack(c>=0&&b>c?[this[c]]:[])},end:function(){return this.prevObject||this.constructor(null)},push:f,sort:c.sort,splice:c.splice},m.extend=m.fn.extend=function(){var a,b,c,d,e,f,g=arguments[0]||{},h=1,i=arguments.length,j=!1;for("boolean"==typeof g&&(j=g,g=arguments[h]||{},h++),"object"==typeof g||m.isFunction(g)||(g={}),h===i&&(g=this,h--);i>h;h++)if(null!=(e=arguments[h]))for(d in e)a=g[d],c=e[d],g!==c&&(j&&c&&(m.isPlainObject(c)||(b=m.isArray(c)))?(b?(b=!1,f=a&&m.isArray(a)?a:[]):f=a&&m.isPlainObject(a)?a:{},g[d]=m.extend(j,f,c)):void 0!==c&&(g[d]=c));return g},m.extend({expando:"jQuery"+(l+Math.random()).replace(/\D/g,""),isReady:!0,error:function(a){throw new Error(a)},noop:function(){},isFunction:function(a){return"function"===m.type(a)},isArray:Array.isArray||function(a){return"array"===m.type(a)},isWindow:function(a){return null!=a&&a==a.window},isNumeric:function(a){return!m.isArray(a)&&a-parseFloat(a)>=0},isEmptyObject:function(a){var b;for(b in a)return!1;return!0},isPlainObject:function(a){var b;if(!a||"object"!==m.type(a)||a.nodeType||m.isWindow(a))return!1;try{if(a.constructor&&!j.call(a,"constructor")&&!j.call(a.constructor.prototype,"isPrototypeOf"))return!1}catch(c){return!1}if(k.ownLast)for(b in a)return j.call(a,b);for(b in a);return void 0===b||j.call(a,b)},type:function(a){return null==a?a+"":"object"==typeof a||"function"==typeof a?h[i.call(a)]||"object":typeof a},globalEval:function(b){b&&m.trim(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},camelCase:function(a){return a.replace(o,"ms-").replace(p,q)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()},each:function(a,b,c){var d,e=0,f=a.length,g=r(a);if(c){if(g){for(;f>e;e++)if(d=b.apply(a[e],c),d===!1)break}else for(e in a)if(d=b.apply(a[e],c),d===!1)break}else if(g){for(;f>e;e++)if(d=b.call(a[e],e,a[e]),d===!1)break}else for(e in a)if(d=b.call(a[e],e,a[e]),d===!1)break;return a},trim:function(a){return null==a?"":(a+"").replace(n,"")},makeArray:function(a,b){var c=b||[];return null!=a&&(r(Object(a))?m.merge(c,"string"==typeof a?[a]:a):f.call(c,a)),c},inArray:function(a,b,c){var d;if(b){if(g)return g.call(b,a,c);for(d=b.length,c=c?0>c?Math.max(0,d+c):c:0;d>c;c++)if(c in b&&b[c]===a)return c}return-1},merge:function(a,b){var c=+b.length,d=0,e=a.length;while(c>d)a[e++]=b[d++];if(c!==c)while(void 0!==b[d])a[e++]=b[d++];return a.length=e,a},grep:function(a,b,c){for(var d,e=[],f=0,g=a.length,h=!c;g>f;f++)d=!b(a[f],f),d!==h&&e.push(a[f]);return e},map:function(a,b,c){var d,f=0,g=a.length,h=r(a),i=[];if(h)for(;g>f;f++)d=b(a[f],f,c),null!=d&&i.push(d);else for(f in a)d=b(a[f],f,c),null!=d&&i.push(d);return e.apply([],i)},guid:1,proxy:function(a,b){var c,e,f;return"string"==typeof b&&(f=a[b],b=a,a=f),m.isFunction(a)?(c=d.call(arguments,2),e=function(){return a.apply(b||this,c.concat(d.call(arguments)))},e.guid=a.guid=a.guid||m.guid++,e):void 0},now:function(){return+new Date},support:k}),m.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(a,b){h["[object "+b+"]"]=b.toLowerCase()});function r(a){var b=a.length,c=m.type(a);return"function"===c||m.isWindow(a)?!1:1===a.nodeType&&b?!0:"array"===c||0===b||"number"==typeof b&&b>0&&b-1 in a}var s=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u="sizzle"+-new Date,v=a.document,w=0,x=0,y=gb(),z=gb(),A=gb(),B=function(a,b){return a===b&&(l=!0),0},C="undefined",D=1<<31,E={}.hasOwnProperty,F=[],G=F.pop,H=F.push,I=F.push,J=F.slice,K=F.indexOf||function(a){for(var b=0,c=this.length;c>b;b++)if(this[b]===a)return b;return-1},L="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",M="[\\x20\\t\\r\\n\\f]",N="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",O=N.replace("w","w#"),P="\\["+M+"*("+N+")(?:"+M+"*([*^$|!~]?=)"+M+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+O+"))|)"+M+"*\\]",Q=":("+N+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+P+")*)|.*)\\)|)",R=new RegExp("^"+M+"+|((?:^|[^\\\\])(?:\\\\.)*)"+M+"+$","g"),S=new RegExp("^"+M+"*,"+M+"*"),T=new RegExp("^"+M+"*([>+~]|"+M+")"+M+"*"),U=new RegExp("="+M+"*([^\\]'\"]*?)"+M+"*\\]","g"),V=new RegExp(Q),W=new RegExp("^"+O+"$"),X={ID:new RegExp("^#("+N+")"),CLASS:new RegExp("^\\.("+N+")"),TAG:new RegExp("^("+N.replace("w","w*")+")"),ATTR:new RegExp("^"+P),PSEUDO:new RegExp("^"+Q),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+L+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/^(?:input|select|textarea|button)$/i,Z=/^h\d$/i,$=/^[^{]+\{\s*\[native \w/,_=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ab=/[+~]/,bb=/'|\\/g,cb=new RegExp("\\\\([\\da-f]{1,6}"+M+"?|("+M+")|.)","ig"),db=function(a,b,c){var d="0x"+b-65536;return d!==d||c?b:0>d?String.fromCharCode(d+65536):String.fromCharCode(d>>10|55296,1023&d|56320)};try{I.apply(F=J.call(v.childNodes),v.childNodes),F[v.childNodes.length].nodeType}catch(eb){I={apply:F.length?function(a,b){H.apply(a,J.call(b))}:function(a,b){var c=a.length,d=0;while(a[c++]=b[d++]);a.length=c-1}}}function fb(a,b,d,e){var f,h,j,k,l,o,r,s,w,x;if((b?b.ownerDocument||b:v)!==n&&m(b),b=b||n,d=d||[],!a||"string"!=typeof a)return d;if(1!==(k=b.nodeType)&&9!==k)return[];if(p&&!e){if(f=_.exec(a))if(j=f[1]){if(9===k){if(h=b.getElementById(j),!h||!h.parentNode)return d;if(h.id===j)return d.push(h),d}else if(b.ownerDocument&&(h=b.ownerDocument.getElementById(j))&&t(b,h)&&h.id===j)return d.push(h),d}else{if(f[2])return I.apply(d,b.getElementsByTagName(a)),d;if((j=f[3])&&c.getElementsByClassName&&b.getElementsByClassName)return I.apply(d,b.getElementsByClassName(j)),d}if(c.qsa&&(!q||!q.test(a))){if(s=r=u,w=b,x=9===k&&a,1===k&&"object"!==b.nodeName.toLowerCase()){o=g(a),(r=b.getAttribute("id"))?s=r.replace(bb,"\\$&"):b.setAttribute("id",s),s="[id='"+s+"'] ",l=o.length;while(l--)o[l]=s+qb(o[l]);w=ab.test(a)&&ob(b.parentNode)||b,x=o.join(",")}if(x)try{return I.apply(d,w.querySelectorAll(x)),d}catch(y){}finally{r||b.removeAttribute("id")}}}return i(a.replace(R,"$1"),b,d,e)}function gb(){var a=[];function b(c,e){return a.push(c+" ")>d.cacheLength&&delete b[a.shift()],b[c+" "]=e}return b}function hb(a){return a[u]=!0,a}function ib(a){var b=n.createElement("div");try{return!!a(b)}catch(c){return!1}finally{b.parentNode&&b.parentNode.removeChild(b),b=null}}function jb(a,b){var c=a.split("|"),e=a.length;while(e--)d.attrHandle[c[e]]=b}function kb(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&(~b.sourceIndex||D)-(~a.sourceIndex||D);if(d)return d;if(c)while(c=c.nextSibling)if(c===b)return-1;return a?1:-1}function lb(a){return function(b){var c=b.nodeName.toLowerCase();return"input"===c&&b.type===a}}function mb(a){return function(b){var c=b.nodeName.toLowerCase();return("input"===c||"button"===c)&&b.type===a}}function nb(a){return hb(function(b){return b=+b,hb(function(c,d){var e,f=a([],c.length,b),g=f.length;while(g--)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function ob(a){return a&&typeof a.getElementsByTagName!==C&&a}c=fb.support={},f=fb.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return b?"HTML"!==b.nodeName:!1},m=fb.setDocument=function(a){var b,e=a?a.ownerDocument||a:v,g=e.defaultView;return e!==n&&9===e.nodeType&&e.documentElement?(n=e,o=e.documentElement,p=!f(e),g&&g!==g.top&&(g.addEventListener?g.addEventListener("unload",function(){m()},!1):g.attachEvent&&g.attachEvent("onunload",function(){m()})),c.attributes=ib(function(a){return a.className="i",!a.getAttribute("className")}),c.getElementsByTagName=ib(function(a){return a.appendChild(e.createComment("")),!a.getElementsByTagName("*").length}),c.getElementsByClassName=$.test(e.getElementsByClassName)&&ib(function(a){return a.innerHTML="
",a.firstChild.className="i",2===a.getElementsByClassName("i").length}),c.getById=ib(function(a){return o.appendChild(a).id=u,!e.getElementsByName||!e.getElementsByName(u).length}),c.getById?(d.find.ID=function(a,b){if(typeof b.getElementById!==C&&p){var c=b.getElementById(a);return c&&c.parentNode?[c]:[]}},d.filter.ID=function(a){var b=a.replace(cb,db);return function(a){return a.getAttribute("id")===b}}):(delete d.find.ID,d.filter.ID=function(a){var b=a.replace(cb,db);return function(a){var c=typeof a.getAttributeNode!==C&&a.getAttributeNode("id");return c&&c.value===b}}),d.find.TAG=c.getElementsByTagName?function(a,b){return typeof b.getElementsByTagName!==C?b.getElementsByTagName(a):void 0}:function(a,b){var c,d=[],e=0,f=b.getElementsByTagName(a);if("*"===a){while(c=f[e++])1===c.nodeType&&d.push(c);return d}return f},d.find.CLASS=c.getElementsByClassName&&function(a,b){return typeof b.getElementsByClassName!==C&&p?b.getElementsByClassName(a):void 0},r=[],q=[],(c.qsa=$.test(e.querySelectorAll))&&(ib(function(a){a.innerHTML="",a.querySelectorAll("[msallowclip^='']").length&&q.push("[*^$]="+M+"*(?:''|\"\")"),a.querySelectorAll("[selected]").length||q.push("\\["+M+"*(?:value|"+L+")"),a.querySelectorAll(":checked").length||q.push(":checked")}),ib(function(a){var b=e.createElement("input");b.setAttribute("type","hidden"),a.appendChild(b).setAttribute("name","D"),a.querySelectorAll("[name=d]").length&&q.push("name"+M+"*[*^$|!~]?="),a.querySelectorAll(":enabled").length||q.push(":enabled",":disabled"),a.querySelectorAll("*,:x"),q.push(",.*:")})),(c.matchesSelector=$.test(s=o.matches||o.webkitMatchesSelector||o.mozMatchesSelector||o.oMatchesSelector||o.msMatchesSelector))&&ib(function(a){c.disconnectedMatch=s.call(a,"div"),s.call(a,"[s!='']:x"),r.push("!=",Q)}),q=q.length&&new RegExp(q.join("|")),r=r.length&&new RegExp(r.join("|")),b=$.test(o.compareDocumentPosition),t=b||$.test(o.contains)?function(a,b){var c=9===a.nodeType?a.documentElement:a,d=b&&b.parentNode;return a===d||!(!d||1!==d.nodeType||!(c.contains?c.contains(d):a.compareDocumentPosition&&16&a.compareDocumentPosition(d)))}:function(a,b){if(b)while(b=b.parentNode)if(b===a)return!0;return!1},B=b?function(a,b){if(a===b)return l=!0,0;var d=!a.compareDocumentPosition-!b.compareDocumentPosition;return d?d:(d=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):1,1&d||!c.sortDetached&&b.compareDocumentPosition(a)===d?a===e||a.ownerDocument===v&&t(v,a)?-1:b===e||b.ownerDocument===v&&t(v,b)?1:k?K.call(k,a)-K.call(k,b):0:4&d?-1:1)}:function(a,b){if(a===b)return l=!0,0;var c,d=0,f=a.parentNode,g=b.parentNode,h=[a],i=[b];if(!f||!g)return a===e?-1:b===e?1:f?-1:g?1:k?K.call(k,a)-K.call(k,b):0;if(f===g)return kb(a,b);c=a;while(c=c.parentNode)h.unshift(c);c=b;while(c=c.parentNode)i.unshift(c);while(h[d]===i[d])d++;return d?kb(h[d],i[d]):h[d]===v?-1:i[d]===v?1:0},e):n},fb.matches=function(a,b){return fb(a,null,null,b)},fb.matchesSelector=function(a,b){if((a.ownerDocument||a)!==n&&m(a),b=b.replace(U,"='$1']"),!(!c.matchesSelector||!p||r&&r.test(b)||q&&q.test(b)))try{var d=s.call(a,b);if(d||c.disconnectedMatch||a.document&&11!==a.document.nodeType)return d}catch(e){}return fb(b,n,null,[a]).length>0},fb.contains=function(a,b){return(a.ownerDocument||a)!==n&&m(a),t(a,b)},fb.attr=function(a,b){(a.ownerDocument||a)!==n&&m(a);var e=d.attrHandle[b.toLowerCase()],f=e&&E.call(d.attrHandle,b.toLowerCase())?e(a,b,!p):void 0;return void 0!==f?f:c.attributes||!p?a.getAttribute(b):(f=a.getAttributeNode(b))&&f.specified?f.value:null},fb.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},fb.uniqueSort=function(a){var b,d=[],e=0,f=0;if(l=!c.detectDuplicates,k=!c.sortStable&&a.slice(0),a.sort(B),l){while(b=a[f++])b===a[f]&&(e=d.push(f));while(e--)a.splice(d[e],1)}return k=null,a},e=fb.getText=function(a){var b,c="",d=0,f=a.nodeType;if(f){if(1===f||9===f||11===f){if("string"==typeof a.textContent)return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=e(a)}else if(3===f||4===f)return a.nodeValue}else while(b=a[d++])c+=e(b);return c},d=fb.selectors={cacheLength:50,createPseudo:hb,match:X,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(cb,db),a[3]=(a[3]||a[4]||a[5]||"").replace(cb,db),"~="===a[2]&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),"nth"===a[1].slice(0,3)?(a[3]||fb.error(a[0]),a[4]=+(a[4]?a[5]+(a[6]||1):2*("even"===a[3]||"odd"===a[3])),a[5]=+(a[7]+a[8]||"odd"===a[3])):a[3]&&fb.error(a[0]),a},PSEUDO:function(a){var b,c=!a[6]&&a[2];return X.CHILD.test(a[0])?null:(a[3]?a[2]=a[4]||a[5]||"":c&&V.test(c)&&(b=g(c,!0))&&(b=c.indexOf(")",c.length-b)-c.length)&&(a[0]=a[0].slice(0,b),a[2]=c.slice(0,b)),a.slice(0,3))}},filter:{TAG:function(a){var b=a.replace(cb,db).toLowerCase();return"*"===a?function(){return!0}:function(a){return a.nodeName&&a.nodeName.toLowerCase()===b}},CLASS:function(a){var b=y[a+" "];return b||(b=new RegExp("(^|"+M+")"+a+"("+M+"|$)"))&&y(a,function(a){return b.test("string"==typeof a.className&&a.className||typeof a.getAttribute!==C&&a.getAttribute("class")||"")})},ATTR:function(a,b,c){return function(d){var e=fb.attr(d,a);return null==e?"!="===b:b?(e+="","="===b?e===c:"!="===b?e!==c:"^="===b?c&&0===e.indexOf(c):"*="===b?c&&e.indexOf(c)>-1:"$="===b?c&&e.slice(-c.length)===c:"~="===b?(" "+e+" ").indexOf(c)>-1:"|="===b?e===c||e.slice(0,c.length+1)===c+"-":!1):!0}},CHILD:function(a,b,c,d,e){var f="nth"!==a.slice(0,3),g="last"!==a.slice(-4),h="of-type"===b;return 1===d&&0===e?function(a){return!!a.parentNode}:function(b,c,i){var j,k,l,m,n,o,p=f!==g?"nextSibling":"previousSibling",q=b.parentNode,r=h&&b.nodeName.toLowerCase(),s=!i&&!h;if(q){if(f){while(p){l=b;while(l=l[p])if(h?l.nodeName.toLowerCase()===r:1===l.nodeType)return!1;o=p="only"===a&&!o&&"nextSibling"}return!0}if(o=[g?q.firstChild:q.lastChild],g&&s){k=q[u]||(q[u]={}),j=k[a]||[],n=j[0]===w&&j[1],m=j[0]===w&&j[2],l=n&&q.childNodes[n];while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if(1===l.nodeType&&++m&&l===b){k[a]=[w,n,m];break}}else if(s&&(j=(b[u]||(b[u]={}))[a])&&j[0]===w)m=j[1];else while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if((h?l.nodeName.toLowerCase()===r:1===l.nodeType)&&++m&&(s&&((l[u]||(l[u]={}))[a]=[w,m]),l===b))break;return m-=e,m===d||m%d===0&&m/d>=0}}},PSEUDO:function(a,b){var c,e=d.pseudos[a]||d.setFilters[a.toLowerCase()]||fb.error("unsupported pseudo: "+a);return e[u]?e(b):e.length>1?(c=[a,a,"",b],d.setFilters.hasOwnProperty(a.toLowerCase())?hb(function(a,c){var d,f=e(a,b),g=f.length;while(g--)d=K.call(a,f[g]),a[d]=!(c[d]=f[g])}):function(a){return e(a,0,c)}):e}},pseudos:{not:hb(function(a){var b=[],c=[],d=h(a.replace(R,"$1"));return d[u]?hb(function(a,b,c,e){var f,g=d(a,null,e,[]),h=a.length;while(h--)(f=g[h])&&(a[h]=!(b[h]=f))}):function(a,e,f){return b[0]=a,d(b,null,f,c),!c.pop()}}),has:hb(function(a){return function(b){return fb(a,b).length>0}}),contains:hb(function(a){return function(b){return(b.textContent||b.innerText||e(b)).indexOf(a)>-1}}),lang:hb(function(a){return W.test(a||"")||fb.error("unsupported lang: "+a),a=a.replace(cb,db).toLowerCase(),function(b){var c;do if(c=p?b.lang:b.getAttribute("xml:lang")||b.getAttribute("lang"))return c=c.toLowerCase(),c===a||0===c.indexOf(a+"-");while((b=b.parentNode)&&1===b.nodeType);return!1}}),target:function(b){var c=a.location&&a.location.hash;return c&&c.slice(1)===b.id},root:function(a){return a===o},focus:function(a){return a===n.activeElement&&(!n.hasFocus||n.hasFocus())&&!!(a.type||a.href||~a.tabIndex)},enabled:function(a){return a.disabled===!1},disabled:function(a){return a.disabled===!0},checked:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&!!a.checked||"option"===b&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},empty:function(a){for(a=a.firstChild;a;a=a.nextSibling)if(a.nodeType<6)return!1;return!0},parent:function(a){return!d.pseudos.empty(a)},header:function(a){return Z.test(a.nodeName)},input:function(a){return Y.test(a.nodeName)},button:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&"button"===a.type||"button"===b},text:function(a){var b;return"input"===a.nodeName.toLowerCase()&&"text"===a.type&&(null==(b=a.getAttribute("type"))||"text"===b.toLowerCase())},first:nb(function(){return[0]}),last:nb(function(a,b){return[b-1]}),eq:nb(function(a,b,c){return[0>c?c+b:c]}),even:nb(function(a,b){for(var c=0;b>c;c+=2)a.push(c);return a}),odd:nb(function(a,b){for(var c=1;b>c;c+=2)a.push(c);return a}),lt:nb(function(a,b,c){for(var d=0>c?c+b:c;--d>=0;)a.push(d);return a}),gt:nb(function(a,b,c){for(var d=0>c?c+b:c;++db;b++)d+=a[b].value;return d}function rb(a,b,c){var d=b.dir,e=c&&"parentNode"===d,f=x++;return b.first?function(b,c,f){while(b=b[d])if(1===b.nodeType||e)return a(b,c,f)}:function(b,c,g){var h,i,j=[w,f];if(g){while(b=b[d])if((1===b.nodeType||e)&&a(b,c,g))return!0}else while(b=b[d])if(1===b.nodeType||e){if(i=b[u]||(b[u]={}),(h=i[d])&&h[0]===w&&h[1]===f)return j[2]=h[2];if(i[d]=j,j[2]=a(b,c,g))return!0}}}function sb(a){return a.length>1?function(b,c,d){var e=a.length;while(e--)if(!a[e](b,c,d))return!1;return!0}:a[0]}function tb(a,b,c){for(var d=0,e=b.length;e>d;d++)fb(a,b[d],c);return c}function ub(a,b,c,d,e){for(var f,g=[],h=0,i=a.length,j=null!=b;i>h;h++)(f=a[h])&&(!c||c(f,d,e))&&(g.push(f),j&&b.push(h));return g}function vb(a,b,c,d,e,f){return d&&!d[u]&&(d=vb(d)),e&&!e[u]&&(e=vb(e,f)),hb(function(f,g,h,i){var j,k,l,m=[],n=[],o=g.length,p=f||tb(b||"*",h.nodeType?[h]:h,[]),q=!a||!f&&b?p:ub(p,m,a,h,i),r=c?e||(f?a:o||d)?[]:g:q;if(c&&c(q,r,h,i),d){j=ub(r,n),d(j,[],h,i),k=j.length;while(k--)(l=j[k])&&(r[n[k]]=!(q[n[k]]=l))}if(f){if(e||a){if(e){j=[],k=r.length;while(k--)(l=r[k])&&j.push(q[k]=l);e(null,r=[],j,i)}k=r.length;while(k--)(l=r[k])&&(j=e?K.call(f,l):m[k])>-1&&(f[j]=!(g[j]=l))}}else r=ub(r===g?r.splice(o,r.length):r),e?e(null,g,r,i):I.apply(g,r)})}function wb(a){for(var b,c,e,f=a.length,g=d.relative[a[0].type],h=g||d.relative[" "],i=g?1:0,k=rb(function(a){return a===b},h,!0),l=rb(function(a){return K.call(b,a)>-1},h,!0),m=[function(a,c,d){return!g&&(d||c!==j)||((b=c).nodeType?k(a,c,d):l(a,c,d))}];f>i;i++)if(c=d.relative[a[i].type])m=[rb(sb(m),c)];else{if(c=d.filter[a[i].type].apply(null,a[i].matches),c[u]){for(e=++i;f>e;e++)if(d.relative[a[e].type])break;return vb(i>1&&sb(m),i>1&&qb(a.slice(0,i-1).concat({value:" "===a[i-2].type?"*":""})).replace(R,"$1"),c,e>i&&wb(a.slice(i,e)),f>e&&wb(a=a.slice(e)),f>e&&qb(a))}m.push(c)}return sb(m)}function xb(a,b){var c=b.length>0,e=a.length>0,f=function(f,g,h,i,k){var l,m,o,p=0,q="0",r=f&&[],s=[],t=j,u=f||e&&d.find.TAG("*",k),v=w+=null==t?1:Math.random()||.1,x=u.length;for(k&&(j=g!==n&&g);q!==x&&null!=(l=u[q]);q++){if(e&&l){m=0;while(o=a[m++])if(o(l,g,h)){i.push(l);break}k&&(w=v)}c&&((l=!o&&l)&&p--,f&&r.push(l))}if(p+=q,c&&q!==p){m=0;while(o=b[m++])o(r,s,g,h);if(f){if(p>0)while(q--)r[q]||s[q]||(s[q]=G.call(i));s=ub(s)}I.apply(i,s),k&&!f&&s.length>0&&p+b.length>1&&fb.uniqueSort(i)}return k&&(w=v,j=t),r};return c?hb(f):f}return h=fb.compile=function(a,b){var c,d=[],e=[],f=A[a+" "];if(!f){b||(b=g(a)),c=b.length;while(c--)f=wb(b[c]),f[u]?d.push(f):e.push(f);f=A(a,xb(e,d)),f.selector=a}return f},i=fb.select=function(a,b,e,f){var i,j,k,l,m,n="function"==typeof a&&a,o=!f&&g(a=n.selector||a);if(e=e||[],1===o.length){if(j=o[0]=o[0].slice(0),j.length>2&&"ID"===(k=j[0]).type&&c.getById&&9===b.nodeType&&p&&d.relative[j[1].type]){if(b=(d.find.ID(k.matches[0].replace(cb,db),b)||[])[0],!b)return e;n&&(b=b.parentNode),a=a.slice(j.shift().value.length)}i=X.needsContext.test(a)?0:j.length;while(i--){if(k=j[i],d.relative[l=k.type])break;if((m=d.find[l])&&(f=m(k.matches[0].replace(cb,db),ab.test(j[0].type)&&ob(b.parentNode)||b))){if(j.splice(i,1),a=f.length&&qb(j),!a)return I.apply(e,f),e;break}}}return(n||h(a,o))(f,b,!p,e,ab.test(a)&&ob(b.parentNode)||b),e},c.sortStable=u.split("").sort(B).join("")===u,c.detectDuplicates=!!l,m(),c.sortDetached=ib(function(a){return 1&a.compareDocumentPosition(n.createElement("div"))}),ib(function(a){return a.innerHTML="","#"===a.firstChild.getAttribute("href")})||jb("type|href|height|width",function(a,b,c){return c?void 0:a.getAttribute(b,"type"===b.toLowerCase()?1:2)}),c.attributes&&ib(function(a){return a.innerHTML="",a.firstChild.setAttribute("value",""),""===a.firstChild.getAttribute("value")})||jb("value",function(a,b,c){return c||"input"!==a.nodeName.toLowerCase()?void 0:a.defaultValue}),ib(function(a){return null==a.getAttribute("disabled")})||jb(L,function(a,b,c){var d;return c?void 0:a[b]===!0?b.toLowerCase():(d=a.getAttributeNode(b))&&d.specified?d.value:null}),fb}(a);m.find=s,m.expr=s.selectors,m.expr[":"]=m.expr.pseudos,m.unique=s.uniqueSort,m.text=s.getText,m.isXMLDoc=s.isXML,m.contains=s.contains;var t=m.expr.match.needsContext,u=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,v=/^.[^:#\[\.,]*$/;function w(a,b,c){if(m.isFunction(b))return m.grep(a,function(a,d){return!!b.call(a,d,a)!==c});if(b.nodeType)return m.grep(a,function(a){return a===b!==c});if("string"==typeof b){if(v.test(b))return m.filter(b,a,c);b=m.filter(b,a)}return m.grep(a,function(a){return m.inArray(a,b)>=0!==c})}m.filter=function(a,b,c){var d=b[0];return c&&(a=":not("+a+")"),1===b.length&&1===d.nodeType?m.find.matchesSelector(d,a)?[d]:[]:m.find.matches(a,m.grep(b,function(a){return 1===a.nodeType}))},m.fn.extend({find:function(a){var b,c=[],d=this,e=d.length;if("string"!=typeof a)return this.pushStack(m(a).filter(function(){for(b=0;e>b;b++)if(m.contains(d[b],this))return!0}));for(b=0;e>b;b++)m.find(a,d[b],c);return c=this.pushStack(e>1?m.unique(c):c),c.selector=this.selector?this.selector+" "+a:a,c},filter:function(a){return this.pushStack(w(this,a||[],!1))},not:function(a){return this.pushStack(w(this,a||[],!0))},is:function(a){return!!w(this,"string"==typeof a&&t.test(a)?m(a):a||[],!1).length}});var x,y=a.document,z=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,A=m.fn.init=function(a,b){var c,d;if(!a)return this;if("string"==typeof a){if(c="<"===a.charAt(0)&&">"===a.charAt(a.length-1)&&a.length>=3?[null,a,null]:z.exec(a),!c||!c[1]&&b)return!b||b.jquery?(b||x).find(a):this.constructor(b).find(a);if(c[1]){if(b=b instanceof m?b[0]:b,m.merge(this,m.parseHTML(c[1],b&&b.nodeType?b.ownerDocument||b:y,!0)),u.test(c[1])&&m.isPlainObject(b))for(c in b)m.isFunction(this[c])?this[c](b[c]):this.attr(c,b[c]);return this}if(d=y.getElementById(c[2]),d&&d.parentNode){if(d.id!==c[2])return x.find(a);this.length=1,this[0]=d}return this.context=y,this.selector=a,this}return a.nodeType?(this.context=this[0]=a,this.length=1,this):m.isFunction(a)?"undefined"!=typeof x.ready?x.ready(a):a(m):(void 0!==a.selector&&(this.selector=a.selector,this.context=a.context),m.makeArray(a,this))};A.prototype=m.fn,x=m(y);var B=/^(?:parents|prev(?:Until|All))/,C={children:!0,contents:!0,next:!0,prev:!0};m.extend({dir:function(a,b,c){var d=[],e=a[b];while(e&&9!==e.nodeType&&(void 0===c||1!==e.nodeType||!m(e).is(c)))1===e.nodeType&&d.push(e),e=e[b];return d},sibling:function(a,b){for(var c=[];a;a=a.nextSibling)1===a.nodeType&&a!==b&&c.push(a);return c}}),m.fn.extend({has:function(a){var b,c=m(a,this),d=c.length;return this.filter(function(){for(b=0;d>b;b++)if(m.contains(this,c[b]))return!0})},closest:function(a,b){for(var c,d=0,e=this.length,f=[],g=t.test(a)||"string"!=typeof a?m(a,b||this.context):0;e>d;d++)for(c=this[d];c&&c!==b;c=c.parentNode)if(c.nodeType<11&&(g?g.index(c)>-1:1===c.nodeType&&m.find.matchesSelector(c,a))){f.push(c);break}return this.pushStack(f.length>1?m.unique(f):f)},index:function(a){return a?"string"==typeof a?m.inArray(this[0],m(a)):m.inArray(a.jquery?a[0]:a,this):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(a,b){return this.pushStack(m.unique(m.merge(this.get(),m(a,b))))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}});function D(a,b){do a=a[b];while(a&&1!==a.nodeType);return a}m.each({parent:function(a){var b=a.parentNode;return b&&11!==b.nodeType?b:null},parents:function(a){return m.dir(a,"parentNode")},parentsUntil:function(a,b,c){return m.dir(a,"parentNode",c)},next:function(a){return D(a,"nextSibling")},prev:function(a){return D(a,"previousSibling")},nextAll:function(a){return m.dir(a,"nextSibling")},prevAll:function(a){return m.dir(a,"previousSibling")},nextUntil:function(a,b,c){return m.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return m.dir(a,"previousSibling",c)},siblings:function(a){return m.sibling((a.parentNode||{}).firstChild,a)},children:function(a){return m.sibling(a.firstChild)},contents:function(a){return m.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:m.merge([],a.childNodes)}},function(a,b){m.fn[a]=function(c,d){var e=m.map(this,b,c);return"Until"!==a.slice(-5)&&(d=c),d&&"string"==typeof d&&(e=m.filter(d,e)),this.length>1&&(C[a]||(e=m.unique(e)),B.test(a)&&(e=e.reverse())),this.pushStack(e)}});var E=/\S+/g,F={};function G(a){var b=F[a]={};return m.each(a.match(E)||[],function(a,c){b[c]=!0}),b}m.Callbacks=function(a){a="string"==typeof a?F[a]||G(a):m.extend({},a);var b,c,d,e,f,g,h=[],i=!a.once&&[],j=function(l){for(c=a.memory&&l,d=!0,f=g||0,g=0,e=h.length,b=!0;h&&e>f;f++)if(h[f].apply(l[0],l[1])===!1&&a.stopOnFalse){c=!1;break}b=!1,h&&(i?i.length&&j(i.shift()):c?h=[]:k.disable())},k={add:function(){if(h){var d=h.length;!function f(b){m.each(b,function(b,c){var d=m.type(c);"function"===d?a.unique&&k.has(c)||h.push(c):c&&c.length&&"string"!==d&&f(c)})}(arguments),b?e=h.length:c&&(g=d,j(c))}return this},remove:function(){return h&&m.each(arguments,function(a,c){var d;while((d=m.inArray(c,h,d))>-1)h.splice(d,1),b&&(e>=d&&e--,f>=d&&f--)}),this},has:function(a){return a?m.inArray(a,h)>-1:!(!h||!h.length)},empty:function(){return h=[],e=0,this},disable:function(){return h=i=c=void 0,this},disabled:function(){return!h},lock:function(){return i=void 0,c||k.disable(),this},locked:function(){return!i},fireWith:function(a,c){return!h||d&&!i||(c=c||[],c=[a,c.slice?c.slice():c],b?i.push(c):j(c)),this},fire:function(){return k.fireWith(this,arguments),this},fired:function(){return!!d}};return k},m.extend({Deferred:function(a){var b=[["resolve","done",m.Callbacks("once memory"),"resolved"],["reject","fail",m.Callbacks("once memory"),"rejected"],["notify","progress",m.Callbacks("memory")]],c="pending",d={state:function(){return c},always:function(){return e.done(arguments).fail(arguments),this},then:function(){var a=arguments;return m.Deferred(function(c){m.each(b,function(b,f){var g=m.isFunction(a[b])&&a[b];e[f[1]](function(){var a=g&&g.apply(this,arguments);a&&m.isFunction(a.promise)?a.promise().done(c.resolve).fail(c.reject).progress(c.notify):c[f[0]+"With"](this===d?c.promise():this,g?[a]:arguments)})}),a=null}).promise()},promise:function(a){return null!=a?m.extend(a,d):d}},e={};return d.pipe=d.then,m.each(b,function(a,f){var g=f[2],h=f[3];d[f[1]]=g.add,h&&g.add(function(){c=h},b[1^a][2].disable,b[2][2].lock),e[f[0]]=function(){return e[f[0]+"With"](this===e?d:this,arguments),this},e[f[0]+"With"]=g.fireWith}),d.promise(e),a&&a.call(e,e),e},when:function(a){var b=0,c=d.call(arguments),e=c.length,f=1!==e||a&&m.isFunction(a.promise)?e:0,g=1===f?a:m.Deferred(),h=function(a,b,c){return function(e){b[a]=this,c[a]=arguments.length>1?d.call(arguments):e,c===i?g.notifyWith(b,c):--f||g.resolveWith(b,c)}},i,j,k;if(e>1)for(i=new Array(e),j=new Array(e),k=new Array(e);e>b;b++)c[b]&&m.isFunction(c[b].promise)?c[b].promise().done(h(b,k,c)).fail(g.reject).progress(h(b,j,i)):--f;return f||g.resolveWith(k,c),g.promise()}});var H;m.fn.ready=function(a){return m.ready.promise().done(a),this},m.extend({isReady:!1,readyWait:1,holdReady:function(a){a?m.readyWait++:m.ready(!0)},ready:function(a){if(a===!0?!--m.readyWait:!m.isReady){if(!y.body)return setTimeout(m.ready);m.isReady=!0,a!==!0&&--m.readyWait>0||(H.resolveWith(y,[m]),m.fn.triggerHandler&&(m(y).triggerHandler("ready"),m(y).off("ready")))}}});function I(){y.addEventListener?(y.removeEventListener("DOMContentLoaded",J,!1),a.removeEventListener("load",J,!1)):(y.detachEvent("onreadystatechange",J),a.detachEvent("onload",J))}function J(){(y.addEventListener||"load"===event.type||"complete"===y.readyState)&&(I(),m.ready())}m.ready.promise=function(b){if(!H)if(H=m.Deferred(),"complete"===y.readyState)setTimeout(m.ready);else if(y.addEventListener)y.addEventListener("DOMContentLoaded",J,!1),a.addEventListener("load",J,!1);else{y.attachEvent("onreadystatechange",J),a.attachEvent("onload",J);var c=!1;try{c=null==a.frameElement&&y.documentElement}catch(d){}c&&c.doScroll&&!function e(){if(!m.isReady){try{c.doScroll("left")}catch(a){return setTimeout(e,50)}I(),m.ready()}}()}return H.promise(b)};var K="undefined",L;for(L in m(k))break;k.ownLast="0"!==L,k.inlineBlockNeedsLayout=!1,m(function(){var a,b,c,d;c=y.getElementsByTagName("body")[0],c&&c.style&&(b=y.createElement("div"),d=y.createElement("div"),d.style.cssText="position:absolute;border:0;width:0;height:0;top:0;left:-9999px",c.appendChild(d).appendChild(b),typeof b.style.zoom!==K&&(b.style.cssText="display:inline;margin:0;border:0;padding:1px;width:1px;zoom:1",k.inlineBlockNeedsLayout=a=3===b.offsetWidth,a&&(c.style.zoom=1)),c.removeChild(d))}),function(){var a=y.createElement("div");if(null==k.deleteExpando){k.deleteExpando=!0;try{delete a.test}catch(b){k.deleteExpando=!1}}a=null}(),m.acceptData=function(a){var b=m.noData[(a.nodeName+" ").toLowerCase()],c=+a.nodeType||1;return 1!==c&&9!==c?!1:!b||b!==!0&&a.getAttribute("classid")===b};var M=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,N=/([A-Z])/g;function O(a,b,c){if(void 0===c&&1===a.nodeType){var d="data-"+b.replace(N,"-$1").toLowerCase();if(c=a.getAttribute(d),"string"==typeof c){try{c="true"===c?!0:"false"===c?!1:"null"===c?null:+c+""===c?+c:M.test(c)?m.parseJSON(c):c}catch(e){}m.data(a,b,c)}else c=void 0}return c}function P(a){var b;for(b in a)if(("data"!==b||!m.isEmptyObject(a[b]))&&"toJSON"!==b)return!1;return!0}function Q(a,b,d,e){if(m.acceptData(a)){var f,g,h=m.expando,i=a.nodeType,j=i?m.cache:a,k=i?a[h]:a[h]&&h; -if(k&&j[k]&&(e||j[k].data)||void 0!==d||"string"!=typeof b)return k||(k=i?a[h]=c.pop()||m.guid++:h),j[k]||(j[k]=i?{}:{toJSON:m.noop}),("object"==typeof b||"function"==typeof b)&&(e?j[k]=m.extend(j[k],b):j[k].data=m.extend(j[k].data,b)),g=j[k],e||(g.data||(g.data={}),g=g.data),void 0!==d&&(g[m.camelCase(b)]=d),"string"==typeof b?(f=g[b],null==f&&(f=g[m.camelCase(b)])):f=g,f}}function R(a,b,c){if(m.acceptData(a)){var d,e,f=a.nodeType,g=f?m.cache:a,h=f?a[m.expando]:m.expando;if(g[h]){if(b&&(d=c?g[h]:g[h].data)){m.isArray(b)?b=b.concat(m.map(b,m.camelCase)):b in d?b=[b]:(b=m.camelCase(b),b=b in d?[b]:b.split(" ")),e=b.length;while(e--)delete d[b[e]];if(c?!P(d):!m.isEmptyObject(d))return}(c||(delete g[h].data,P(g[h])))&&(f?m.cleanData([a],!0):k.deleteExpando||g!=g.window?delete g[h]:g[h]=null)}}}m.extend({cache:{},noData:{"applet ":!0,"embed ":!0,"object ":"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"},hasData:function(a){return a=a.nodeType?m.cache[a[m.expando]]:a[m.expando],!!a&&!P(a)},data:function(a,b,c){return Q(a,b,c)},removeData:function(a,b){return R(a,b)},_data:function(a,b,c){return Q(a,b,c,!0)},_removeData:function(a,b){return R(a,b,!0)}}),m.fn.extend({data:function(a,b){var c,d,e,f=this[0],g=f&&f.attributes;if(void 0===a){if(this.length&&(e=m.data(f),1===f.nodeType&&!m._data(f,"parsedAttrs"))){c=g.length;while(c--)g[c]&&(d=g[c].name,0===d.indexOf("data-")&&(d=m.camelCase(d.slice(5)),O(f,d,e[d])));m._data(f,"parsedAttrs",!0)}return e}return"object"==typeof a?this.each(function(){m.data(this,a)}):arguments.length>1?this.each(function(){m.data(this,a,b)}):f?O(f,a,m.data(f,a)):void 0},removeData:function(a){return this.each(function(){m.removeData(this,a)})}}),m.extend({queue:function(a,b,c){var d;return a?(b=(b||"fx")+"queue",d=m._data(a,b),c&&(!d||m.isArray(c)?d=m._data(a,b,m.makeArray(c)):d.push(c)),d||[]):void 0},dequeue:function(a,b){b=b||"fx";var c=m.queue(a,b),d=c.length,e=c.shift(),f=m._queueHooks(a,b),g=function(){m.dequeue(a,b)};"inprogress"===e&&(e=c.shift(),d--),e&&("fx"===b&&c.unshift("inprogress"),delete f.stop,e.call(a,g,f)),!d&&f&&f.empty.fire()},_queueHooks:function(a,b){var c=b+"queueHooks";return m._data(a,c)||m._data(a,c,{empty:m.Callbacks("once memory").add(function(){m._removeData(a,b+"queue"),m._removeData(a,c)})})}}),m.fn.extend({queue:function(a,b){var c=2;return"string"!=typeof a&&(b=a,a="fx",c--),arguments.lengthh;h++)b(a[h],c,g?d:d.call(a[h],h,b(a[h],c)));return e?a:j?b.call(a):i?b(a[0],c):f},W=/^(?:checkbox|radio)$/i;!function(){var a=y.createElement("input"),b=y.createElement("div"),c=y.createDocumentFragment();if(b.innerHTML="
a",k.leadingWhitespace=3===b.firstChild.nodeType,k.tbody=!b.getElementsByTagName("tbody").length,k.htmlSerialize=!!b.getElementsByTagName("link").length,k.html5Clone="<:nav>"!==y.createElement("nav").cloneNode(!0).outerHTML,a.type="checkbox",a.checked=!0,c.appendChild(a),k.appendChecked=a.checked,b.innerHTML="",k.noCloneChecked=!!b.cloneNode(!0).lastChild.defaultValue,c.appendChild(b),b.innerHTML="",k.checkClone=b.cloneNode(!0).cloneNode(!0).lastChild.checked,k.noCloneEvent=!0,b.attachEvent&&(b.attachEvent("onclick",function(){k.noCloneEvent=!1}),b.cloneNode(!0).click()),null==k.deleteExpando){k.deleteExpando=!0;try{delete b.test}catch(d){k.deleteExpando=!1}}}(),function(){var b,c,d=y.createElement("div");for(b in{submit:!0,change:!0,focusin:!0})c="on"+b,(k[b+"Bubbles"]=c in a)||(d.setAttribute(c,"t"),k[b+"Bubbles"]=d.attributes[c].expando===!1);d=null}();var X=/^(?:input|select|textarea)$/i,Y=/^key/,Z=/^(?:mouse|pointer|contextmenu)|click/,$=/^(?:focusinfocus|focusoutblur)$/,_=/^([^.]*)(?:\.(.+)|)$/;function ab(){return!0}function bb(){return!1}function cb(){try{return y.activeElement}catch(a){}}m.event={global:{},add:function(a,b,c,d,e){var f,g,h,i,j,k,l,n,o,p,q,r=m._data(a);if(r){c.handler&&(i=c,c=i.handler,e=i.selector),c.guid||(c.guid=m.guid++),(g=r.events)||(g=r.events={}),(k=r.handle)||(k=r.handle=function(a){return typeof m===K||a&&m.event.triggered===a.type?void 0:m.event.dispatch.apply(k.elem,arguments)},k.elem=a),b=(b||"").match(E)||[""],h=b.length;while(h--)f=_.exec(b[h])||[],o=q=f[1],p=(f[2]||"").split(".").sort(),o&&(j=m.event.special[o]||{},o=(e?j.delegateType:j.bindType)||o,j=m.event.special[o]||{},l=m.extend({type:o,origType:q,data:d,handler:c,guid:c.guid,selector:e,needsContext:e&&m.expr.match.needsContext.test(e),namespace:p.join(".")},i),(n=g[o])||(n=g[o]=[],n.delegateCount=0,j.setup&&j.setup.call(a,d,p,k)!==!1||(a.addEventListener?a.addEventListener(o,k,!1):a.attachEvent&&a.attachEvent("on"+o,k))),j.add&&(j.add.call(a,l),l.handler.guid||(l.handler.guid=c.guid)),e?n.splice(n.delegateCount++,0,l):n.push(l),m.event.global[o]=!0);a=null}},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,n,o,p,q,r=m.hasData(a)&&m._data(a);if(r&&(k=r.events)){b=(b||"").match(E)||[""],j=b.length;while(j--)if(h=_.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o){l=m.event.special[o]||{},o=(d?l.delegateType:l.bindType)||o,n=k[o]||[],h=h[2]&&new RegExp("(^|\\.)"+p.join("\\.(?:.*\\.|)")+"(\\.|$)"),i=f=n.length;while(f--)g=n[f],!e&&q!==g.origType||c&&c.guid!==g.guid||h&&!h.test(g.namespace)||d&&d!==g.selector&&("**"!==d||!g.selector)||(n.splice(f,1),g.selector&&n.delegateCount--,l.remove&&l.remove.call(a,g));i&&!n.length&&(l.teardown&&l.teardown.call(a,p,r.handle)!==!1||m.removeEvent(a,o,r.handle),delete k[o])}else for(o in k)m.event.remove(a,o+b[j],c,d,!0);m.isEmptyObject(k)&&(delete r.handle,m._removeData(a,"events"))}},trigger:function(b,c,d,e){var f,g,h,i,k,l,n,o=[d||y],p=j.call(b,"type")?b.type:b,q=j.call(b,"namespace")?b.namespace.split("."):[];if(h=l=d=d||y,3!==d.nodeType&&8!==d.nodeType&&!$.test(p+m.event.triggered)&&(p.indexOf(".")>=0&&(q=p.split("."),p=q.shift(),q.sort()),g=p.indexOf(":")<0&&"on"+p,b=b[m.expando]?b:new m.Event(p,"object"==typeof b&&b),b.isTrigger=e?2:3,b.namespace=q.join("."),b.namespace_re=b.namespace?new RegExp("(^|\\.)"+q.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,b.result=void 0,b.target||(b.target=d),c=null==c?[b]:m.makeArray(c,[b]),k=m.event.special[p]||{},e||!k.trigger||k.trigger.apply(d,c)!==!1)){if(!e&&!k.noBubble&&!m.isWindow(d)){for(i=k.delegateType||p,$.test(i+p)||(h=h.parentNode);h;h=h.parentNode)o.push(h),l=h;l===(d.ownerDocument||y)&&o.push(l.defaultView||l.parentWindow||a)}n=0;while((h=o[n++])&&!b.isPropagationStopped())b.type=n>1?i:k.bindType||p,f=(m._data(h,"events")||{})[b.type]&&m._data(h,"handle"),f&&f.apply(h,c),f=g&&h[g],f&&f.apply&&m.acceptData(h)&&(b.result=f.apply(h,c),b.result===!1&&b.preventDefault());if(b.type=p,!e&&!b.isDefaultPrevented()&&(!k._default||k._default.apply(o.pop(),c)===!1)&&m.acceptData(d)&&g&&d[p]&&!m.isWindow(d)){l=d[g],l&&(d[g]=null),m.event.triggered=p;try{d[p]()}catch(r){}m.event.triggered=void 0,l&&(d[g]=l)}return b.result}},dispatch:function(a){a=m.event.fix(a);var b,c,e,f,g,h=[],i=d.call(arguments),j=(m._data(this,"events")||{})[a.type]||[],k=m.event.special[a.type]||{};if(i[0]=a,a.delegateTarget=this,!k.preDispatch||k.preDispatch.call(this,a)!==!1){h=m.event.handlers.call(this,a,j),b=0;while((f=h[b++])&&!a.isPropagationStopped()){a.currentTarget=f.elem,g=0;while((e=f.handlers[g++])&&!a.isImmediatePropagationStopped())(!a.namespace_re||a.namespace_re.test(e.namespace))&&(a.handleObj=e,a.data=e.data,c=((m.event.special[e.origType]||{}).handle||e.handler).apply(f.elem,i),void 0!==c&&(a.result=c)===!1&&(a.preventDefault(),a.stopPropagation()))}return k.postDispatch&&k.postDispatch.call(this,a),a.result}},handlers:function(a,b){var c,d,e,f,g=[],h=b.delegateCount,i=a.target;if(h&&i.nodeType&&(!a.button||"click"!==a.type))for(;i!=this;i=i.parentNode||this)if(1===i.nodeType&&(i.disabled!==!0||"click"!==a.type)){for(e=[],f=0;h>f;f++)d=b[f],c=d.selector+" ",void 0===e[c]&&(e[c]=d.needsContext?m(c,this).index(i)>=0:m.find(c,this,null,[i]).length),e[c]&&e.push(d);e.length&&g.push({elem:i,handlers:e})}return h]","i"),hb=/^\s+/,ib=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,jb=/<([\w:]+)/,kb=/\s*$/g,rb={option:[1,""],legend:[1,"
","
"],area:[1,"",""],param:[1,"",""],thead:[1,"","
"],tr:[2,"","
"],col:[2,"","
"],td:[3,"","
"],_default:k.htmlSerialize?[0,"",""]:[1,"X
","
"]},sb=db(y),tb=sb.appendChild(y.createElement("div"));rb.optgroup=rb.option,rb.tbody=rb.tfoot=rb.colgroup=rb.caption=rb.thead,rb.th=rb.td;function ub(a,b){var c,d,e=0,f=typeof a.getElementsByTagName!==K?a.getElementsByTagName(b||"*"):typeof a.querySelectorAll!==K?a.querySelectorAll(b||"*"):void 0;if(!f)for(f=[],c=a.childNodes||a;null!=(d=c[e]);e++)!b||m.nodeName(d,b)?f.push(d):m.merge(f,ub(d,b));return void 0===b||b&&m.nodeName(a,b)?m.merge([a],f):f}function vb(a){W.test(a.type)&&(a.defaultChecked=a.checked)}function wb(a,b){return m.nodeName(a,"table")&&m.nodeName(11!==b.nodeType?b:b.firstChild,"tr")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function xb(a){return a.type=(null!==m.find.attr(a,"type"))+"/"+a.type,a}function yb(a){var b=pb.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function zb(a,b){for(var c,d=0;null!=(c=a[d]);d++)m._data(c,"globalEval",!b||m._data(b[d],"globalEval"))}function Ab(a,b){if(1===b.nodeType&&m.hasData(a)){var c,d,e,f=m._data(a),g=m._data(b,f),h=f.events;if(h){delete g.handle,g.events={};for(c in h)for(d=0,e=h[c].length;e>d;d++)m.event.add(b,c,h[c][d])}g.data&&(g.data=m.extend({},g.data))}}function Bb(a,b){var c,d,e;if(1===b.nodeType){if(c=b.nodeName.toLowerCase(),!k.noCloneEvent&&b[m.expando]){e=m._data(b);for(d in e.events)m.removeEvent(b,d,e.handle);b.removeAttribute(m.expando)}"script"===c&&b.text!==a.text?(xb(b).text=a.text,yb(b)):"object"===c?(b.parentNode&&(b.outerHTML=a.outerHTML),k.html5Clone&&a.innerHTML&&!m.trim(b.innerHTML)&&(b.innerHTML=a.innerHTML)):"input"===c&&W.test(a.type)?(b.defaultChecked=b.checked=a.checked,b.value!==a.value&&(b.value=a.value)):"option"===c?b.defaultSelected=b.selected=a.defaultSelected:("input"===c||"textarea"===c)&&(b.defaultValue=a.defaultValue)}}m.extend({clone:function(a,b,c){var d,e,f,g,h,i=m.contains(a.ownerDocument,a);if(k.html5Clone||m.isXMLDoc(a)||!gb.test("<"+a.nodeName+">")?f=a.cloneNode(!0):(tb.innerHTML=a.outerHTML,tb.removeChild(f=tb.firstChild)),!(k.noCloneEvent&&k.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||m.isXMLDoc(a)))for(d=ub(f),h=ub(a),g=0;null!=(e=h[g]);++g)d[g]&&Bb(e,d[g]);if(b)if(c)for(h=h||ub(a),d=d||ub(f),g=0;null!=(e=h[g]);g++)Ab(e,d[g]);else Ab(a,f);return d=ub(f,"script"),d.length>0&&zb(d,!i&&ub(a,"script")),d=h=e=null,f},buildFragment:function(a,b,c,d){for(var e,f,g,h,i,j,l,n=a.length,o=db(b),p=[],q=0;n>q;q++)if(f=a[q],f||0===f)if("object"===m.type(f))m.merge(p,f.nodeType?[f]:f);else if(lb.test(f)){h=h||o.appendChild(b.createElement("div")),i=(jb.exec(f)||["",""])[1].toLowerCase(),l=rb[i]||rb._default,h.innerHTML=l[1]+f.replace(ib,"<$1>")+l[2],e=l[0];while(e--)h=h.lastChild;if(!k.leadingWhitespace&&hb.test(f)&&p.push(b.createTextNode(hb.exec(f)[0])),!k.tbody){f="table"!==i||kb.test(f)?""!==l[1]||kb.test(f)?0:h:h.firstChild,e=f&&f.childNodes.length;while(e--)m.nodeName(j=f.childNodes[e],"tbody")&&!j.childNodes.length&&f.removeChild(j)}m.merge(p,h.childNodes),h.textContent="";while(h.firstChild)h.removeChild(h.firstChild);h=o.lastChild}else p.push(b.createTextNode(f));h&&o.removeChild(h),k.appendChecked||m.grep(ub(p,"input"),vb),q=0;while(f=p[q++])if((!d||-1===m.inArray(f,d))&&(g=m.contains(f.ownerDocument,f),h=ub(o.appendChild(f),"script"),g&&zb(h),c)){e=0;while(f=h[e++])ob.test(f.type||"")&&c.push(f)}return h=null,o},cleanData:function(a,b){for(var d,e,f,g,h=0,i=m.expando,j=m.cache,l=k.deleteExpando,n=m.event.special;null!=(d=a[h]);h++)if((b||m.acceptData(d))&&(f=d[i],g=f&&j[f])){if(g.events)for(e in g.events)n[e]?m.event.remove(d,e):m.removeEvent(d,e,g.handle);j[f]&&(delete j[f],l?delete d[i]:typeof d.removeAttribute!==K?d.removeAttribute(i):d[i]=null,c.push(f))}}}),m.fn.extend({text:function(a){return V(this,function(a){return void 0===a?m.text(this):this.empty().append((this[0]&&this[0].ownerDocument||y).createTextNode(a))},null,a,arguments.length)},append:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=wb(this,a);b.appendChild(a)}})},prepend:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=wb(this,a);b.insertBefore(a,b.firstChild)}})},before:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this)})},after:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this.nextSibling)})},remove:function(a,b){for(var c,d=a?m.filter(a,this):this,e=0;null!=(c=d[e]);e++)b||1!==c.nodeType||m.cleanData(ub(c)),c.parentNode&&(b&&m.contains(c.ownerDocument,c)&&zb(ub(c,"script")),c.parentNode.removeChild(c));return this},empty:function(){for(var a,b=0;null!=(a=this[b]);b++){1===a.nodeType&&m.cleanData(ub(a,!1));while(a.firstChild)a.removeChild(a.firstChild);a.options&&m.nodeName(a,"select")&&(a.options.length=0)}return this},clone:function(a,b){return a=null==a?!1:a,b=null==b?a:b,this.map(function(){return m.clone(this,a,b)})},html:function(a){return V(this,function(a){var b=this[0]||{},c=0,d=this.length;if(void 0===a)return 1===b.nodeType?b.innerHTML.replace(fb,""):void 0;if(!("string"!=typeof a||mb.test(a)||!k.htmlSerialize&&gb.test(a)||!k.leadingWhitespace&&hb.test(a)||rb[(jb.exec(a)||["",""])[1].toLowerCase()])){a=a.replace(ib,"<$1>");try{for(;d>c;c++)b=this[c]||{},1===b.nodeType&&(m.cleanData(ub(b,!1)),b.innerHTML=a);b=0}catch(e){}}b&&this.empty().append(a)},null,a,arguments.length)},replaceWith:function(){var a=arguments[0];return this.domManip(arguments,function(b){a=this.parentNode,m.cleanData(ub(this)),a&&a.replaceChild(b,this)}),a&&(a.length||a.nodeType)?this:this.remove()},detach:function(a){return this.remove(a,!0)},domManip:function(a,b){a=e.apply([],a);var c,d,f,g,h,i,j=0,l=this.length,n=this,o=l-1,p=a[0],q=m.isFunction(p);if(q||l>1&&"string"==typeof p&&!k.checkClone&&nb.test(p))return this.each(function(c){var d=n.eq(c);q&&(a[0]=p.call(this,c,d.html())),d.domManip(a,b)});if(l&&(i=m.buildFragment(a,this[0].ownerDocument,!1,this),c=i.firstChild,1===i.childNodes.length&&(i=c),c)){for(g=m.map(ub(i,"script"),xb),f=g.length;l>j;j++)d=i,j!==o&&(d=m.clone(d,!0,!0),f&&m.merge(g,ub(d,"script"))),b.call(this[j],d,j);if(f)for(h=g[g.length-1].ownerDocument,m.map(g,yb),j=0;f>j;j++)d=g[j],ob.test(d.type||"")&&!m._data(d,"globalEval")&&m.contains(h,d)&&(d.src?m._evalUrl&&m._evalUrl(d.src):m.globalEval((d.text||d.textContent||d.innerHTML||"").replace(qb,"")));i=c=null}return this}}),m.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){m.fn[a]=function(a){for(var c,d=0,e=[],g=m(a),h=g.length-1;h>=d;d++)c=d===h?this:this.clone(!0),m(g[d])[b](c),f.apply(e,c.get());return this.pushStack(e)}});var Cb,Db={};function Eb(b,c){var d,e=m(c.createElement(b)).appendTo(c.body),f=a.getDefaultComputedStyle&&(d=a.getDefaultComputedStyle(e[0]))?d.display:m.css(e[0],"display");return e.detach(),f}function Fb(a){var b=y,c=Db[a];return c||(c=Eb(a,b),"none"!==c&&c||(Cb=(Cb||m("