#ifndef _STDLIB_H_
#define _STDLIB_H_
#include <sys/cdefs.h>
#include <machine/ieeefp.h>
#define __need_size_t
#define __need_wchar_t
#define __need_NULL
#include <stddef.h>
#include <machine/stdlib.h>
#ifndef __STRICT_ANSI__
#include <alloca.h>
#endif
#if __GNU_VISIBLE
#include <sys/_locale.h>
#endif
_BEGIN_STD_C
#include <sys/_wait.h>
typedef struct {
int quot;
int rem;
} div_t;
typedef struct {
long quot;
long rem;
} ldiv_t;
#if __ISO_C_VISIBLE >= 1999
typedef struct {
long long int quot;
long long int rem;
} lldiv_t;
#endif
#ifndef __compar_fn_t_defined
#define __compar_fn_t_defined
typedef int (*__compar_fn_t)(const void *, const void *);
#endif
#define EXIT_FAILURE 1
#define EXIT_SUCCESS 0
#define RAND_MAX __RAND_MAX
size_t __locale_mb_cur_max(void);
#define MB_CUR_MAX __locale_mb_cur_max()
void free(void *) __nothrow;
#if __ISO_C_VISIBLE >= 1999
__noreturn void _Exit(int __status);
#endif
#if __SVID_VISIBLE || __XSI_VISIBLE >= 4
long a64l(const char *__input);
#endif
__noreturn void abort(void);
int abs(int);
#if __ISO_C_VISIBLE >= 2011 || __GNU_VISIBLE
void *
aligned_alloc(size_t, size_t)
__malloc_like __alloc_align(1) __alloc_size(2) __warn_unused_result __nothrow;
#endif
#if __BSD_VISIBLE
__uint32_t arc4random(void);
__uint32_t arc4random_uniform(__uint32_t);
void arc4random_buf(void *, size_t);
#endif
#if __ISO_C_VISIBLE >= 2011
int at_quick_exit(void (*)(void));
#endif
int atexit(void (*__func)(void));
double atof(const char *__nptr);
#if __MISC_VISIBLE
float atoff(const char *__nptr);
#endif
int atoi(const char *__nptr);
long atol(const char *__nptr);
#if __ISO_C_VISIBLE >= 1999
long long atoll(const char *__nptr);
#endif
void *bsearch(const void *__key, const void *__base, size_t __nmemb, size_t __size,
__compar_fn_t _compar);
void *
calloc(size_t, size_t)
__malloc_like __warn_unused_result __alloc_size2(1, 2) __nothrow;
div_t div(int __numer, int __denom);
#if __SVID_VISIBLE || __XSI_VISIBLE
struct _rand48;
double drand48(void);
double _drand48_r(struct _rand48 *);
double erand48(unsigned short[3]);
double _erand48_r(struct _rand48 *, unsigned short[3]);
#endif
__noreturn void exit(int __status);
void free(void *) __nothrow;
char *getenv(const char *__string);
#if __GNU_VISIBLE
char *secure_getenv(const char *__string);
#endif
#if __MISC_VISIBLE
char *_findenv(const char *, int *);
#endif
#if __POSIX_VISIBLE >= 200809
extern char *suboptarg;
int getsubopt(char **, char *const *, char **);
#endif
#if __XSI_VISIBLE >= 500
int grantpt(int fd);
#endif
#if __SVID_VISIBLE || __XSI_VISIBLE >= 4 || __BSD_VISIBLE
char *initstate(unsigned, char *, size_t);
#endif
#if __SVID_VISIBLE || __XSI_VISIBLE
long jrand48(unsigned short[3]);
long _jrand48_r(struct _rand48 *, unsigned short[3]);
#endif
long labs(long);
#if __SVID_VISIBLE || __XSI_VISIBLE
void lcong48(unsigned short[7]);
void _lcong48_r(struct _rand48 *, unsigned short[7]);
#endif
ldiv_t ldiv(long __numer, long __denom);
#if __ISO_C_VISIBLE >= 1999
long long llabs(long long);
lldiv_t lldiv(long long __numer, long long __denom);
#endif
#if __SVID_VISIBLE || __XSI_VISIBLE
long lrand48(void);
long _lrand48_r(struct _rand48 *);
#endif
void *
malloc(size_t)
__malloc_like __warn_unused_result __alloc_size(1) __nothrow;
int mblen(const char *, size_t);
size_t mbstowcs(wchar_t * __restrict, const char * __restrict, size_t);
int mbtowc(wchar_t *__restrict, const char *__restrict, size_t);
#if __BSD_VISIBLE || __POSIX_VISIBLE >= 200809
char *mkdtemp(char *);
#endif
#if __GNU_VISIBLE
int mkostemp(char *, int);
int mkostemps(char *, int, int);
#endif
#if __MISC_VISIBLE || __POSIX_VISIBLE >= 200112 || __XSI_VISIBLE >= 4
int mkstemp(char *);
#endif
#if __MISC_VISIBLE
int mkstemps(char *, int);
#endif
#if __BSD_VISIBLE || (__XSI_VISIBLE >= 4 && __POSIX_VISIBLE < 200112)
char *mktemp(char *) __deprecated_m("the use of `mktemp' is dangerous; use `mkstemp' instead");
#endif
#if __SVID_VISIBLE || __XSI_VISIBLE
long mrand48(void);
long _mrand48_r(struct _rand48 *);
long nrand48(unsigned short[3]);
long _nrand48_r(struct _rand48 *, unsigned short[3]);
#endif
#if __POSIX_VISIBLE >= 200112
int posix_memalign(void **, size_t, size_t) __nonnull((1)) __warn_unused_result;
#endif
#if __SVID_VISIBLE || __XSI_VISIBLE
int putenv(char *__string);
#endif
#if __ISO_C_VISIBLE >= 2011
__noreturn void quick_exit(int);
#endif
void qsort(void *__base, size_t __nmemb, size_t __size, __compar_fn_t _compar);
#if __GNU_VISIBLE
void qsort_r(void *__base, size_t __nmemb, size_t __size,
int (*_compar)(const void *, const void *, void *), void *__thunk);
#elif __BSD_VISIBLE
#ifdef __GNUC__
void qsort_r(void *__base, size_t __nmemb, size_t __size, void *__thunk,
int (*_compar)(void *, const void *,
const void *)) __asm__(__ASMNAME("__bsd_qsort_r"));
#else
void __bsd_qsort_r(void *__base, size_t __nmemb, size_t __size, void *__thunk,
int (*_compar)(void *, const void *, const void *));
#define qsort_r __bsd_qsort_r
#endif
#endif
int rand(void);
#if __POSIX_VISIBLE
int rand_r(unsigned *__seed);
#endif
#if __SVID_VISIBLE || __XSI_VISIBLE >= 4 || __BSD_VISIBLE
long random(void);
#endif
void *
realloc(void *, size_t)
__warn_unused_result __alloc_size(2) __nothrow;
#if __BSD_VISIBLE
void *
reallocarray(void *, size_t, size_t)
__warn_unused_result __alloc_size2(2, 3);
void *
reallocf(void *, size_t)
__warn_unused_result __alloc_size(2);
#endif
#if __BSD_VISIBLE || __XSI_VISIBLE >= 4
char *realpath(const char * __restrict path, char * __restrict resolved_path);
#endif
#if __BSD_VISIBLE
int rpmatch(const char *response);
#endif
#if __SVID_VISIBLE || __XSI_VISIBLE
unsigned short *seed48(unsigned short[3]);
unsigned short *_seed48_r(struct _rand48 *, unsigned short[3]);
#endif
#if __BSD_VISIBLE || __POSIX_VISIBLE >= 200112
int setenv(const char *__string, const char *__value, int __overwrite);
#endif
#if __XSI_VISIBLE
void setkey(const char *__key);
#endif
#if __SVID_VISIBLE || __XSI_VISIBLE >= 4 || __BSD_VISIBLE
char *setstate(char *);
#endif
void srand(unsigned __seed);
#if __SVID_VISIBLE || __XSI_VISIBLE
void srand48(long);
void _srand48_r(struct _rand48 *, long);
#endif
#if __SVID_VISIBLE || __XSI_VISIBLE >= 4 || __BSD_VISIBLE
void srandom(unsigned);
#endif
double strtod(const char * __restrict __n, char ** __restrict __end_PTR);
int strfromd(char *__restrict str, size_t n, const char *__restrict format, double fp);
#if __ISO_C_VISIBLE >= 1999
float strtof(const char * __restrict __n, char ** __restrict __end_PTR);
#ifdef __HAVE_LONG_DOUBLE
long double strtold(const char * __restrict __n, char ** __restrict __end_PTR);
#endif
int strfromf(char * __restrict str, size_t n, const char * __restrict format, float fp);
#ifdef __HAVE_LONG_DOUBLE
int strfroml(char * __restrict str, size_t n, const char * __restrict format, long double fp);
#endif
#endif
#if __MISC_VISIBLE
#ifndef strtodf
#define strtodf strtof
#endif
#endif
long strtol(const char * __restrict __n, char ** __restrict __end_PTR, int __base);
#ifdef __HAVE_LONG_DOUBLE
#if __ISO_C_VISIBLE >= 1999
extern long double strtold(const char * __restrict, char ** __restrict);
#endif
#endif
#if __ISO_C_VISIBLE >= 1999
long long strtoll(const char * __restrict __n, char ** __restrict __end_PTR, int __base);
#endif
unsigned long strtoul(const char * __restrict __n, char ** __restrict __end_PTR, int __base);
#if __ISO_C_VISIBLE >= 1999
unsigned long long strtoull(const char * __restrict __n, char ** __restrict __end_PTR, int __base);
#endif
#if __GNU_VISIBLE
double strtod_l(const char * __restrict, char ** __restrict, locale_t);
float strtof_l(const char *__restrict, char **__restrict, locale_t);
#ifdef __HAVE_LONG_DOUBLE
extern long double strtold_l(const char * __restrict, char ** __restrict, locale_t);
#endif
long strtol_l(const char *__restrict, char **__restrict, int, locale_t);
unsigned long strtoul_l(const char *__restrict, char **__restrict, int, locale_t __loc);
long long strtoll_l(const char *__restrict, char **__restrict, int, locale_t);
unsigned long long strtoull_l(const char * __restrict, char ** __restrict, int, locale_t __loc);
#endif
int system(const char *__string);
#if __BSD_VISIBLE || __POSIX_VISIBLE >= 200112
int unsetenv(const char *__string);
#endif
size_t wcstombs(char * __restrict, const wchar_t * __restrict, size_t);
int wctomb(char *, wchar_t);
void *
valloc(size_t)
__malloc_like __warn_unused_result __alloc_size(1) __nothrow;
#if __SVID_VISIBLE || __XSI_VISIBLE >= 4
char *l64a(long __input);
#endif
#if __MISC_VISIBLE
int on_exit(void (*__func)(int, void *), void *__arg);
#endif
#if __XSI_VISIBLE >= 4
char *ecvt(double, int, int *, int *);
int ecvt_r(double, int, int *, int *, char *, size_t);
char *ecvtf(float, int, int *, int *);
int ecvtf_r(float, int, int *, int *, char *, size_t);
char *fcvt(double, int, int *, int *);
int fcvt_r(double, int, int *, int *, char *, size_t);
char *fcvtf(float, int, int *, int *);
int fcvtf_r(float, int, int *, int *, char *, size_t);
#if defined(__HAVE_LONG_DOUBLE)
char *ecvtl(long double, int, int *, int *);
int ecvtl_r(long double, int, int *, int *, char *, size_t);
char *fcvtl(long double, int, int *, int *);
int fcvtl_r(long double, int, int *, int *, char *, size_t);
#endif
char *gcvt(double, int, char *);
char *gcvtf(float, int, char *);
#if defined(__HAVE_LONG_DOUBLE)
char *gcvtl(long double, int, char *);
#endif
#endif
#if __MISC_VISIBLE
char *__itoa(int, char *, int);
char *__utoa(unsigned, char *, int);
char *itoa(int, char *, int);
char *utoa(unsigned, char *, int);
void cfree(void *);
char *__dtoa(double, int, int, int *, int *, char **);
char *__ldtoa(long double, int, int, int *, int *, char **);
void __eprintf(const char *, const char *, unsigned int, const char *);
#endif
#if __STDC_WANT_LIB_EXT1__ == 1
#ifndef __STDC_LIB_EXT1__
#define __STDC_LIB_EXT1__ 1
#endif
#include <sys/_types.h>
#ifndef _ERRNO_T_DEFINED
typedef __errno_t errno_t;
#define _ERRNO_T_DEFINED
#endif
#ifndef _RSIZE_T_DEFINED
typedef __rsize_t rsize_t;
#define _RSIZE_T_DEFINED
#endif
typedef void (*constraint_handler_t)(const char *__restrict msg, void *__restrict ptr,
__errno_t error);
constraint_handler_t set_constraint_handler_s(constraint_handler_t handler);
void abort_handler_s(const char * __restrict msg, void * __restrict ptr, __errno_t error);
void ignore_handler_s(const char * __restrict msg, void * __restrict ptr, __errno_t error);
#endif
_END_STD_C
#if __SSP_FORTIFY_LEVEL > 0
#include <ssp/stdlib.h>
#endif
#endif