//go:build !no_gotd_slices
// +build !no_gotd_slices

// Code generated by gotdgen, DO NOT EDIT.

package tg

import (
	
	
	
	
	

	

	
	
	
	
)

// No-op definition for keeping imports.
var (
	_ = bin.Buffer{}
	_ = context.Background()
	_ = fmt.Stringer(nil)
	_ = strings.Builder{}
	_ = errors.Is
	_ = multierr.AppendInto
	_ = sort.Ints
	_ = tdp.Format
	_ = tgerr.Error{}
	_ = tdjson.Encoder{}
)

// SecureValueErrorClassArray is adapter for slice of SecureValueErrorClass.
type SecureValueErrorClassArray []SecureValueErrorClass

// Sort sorts slice of SecureValueErrorClass.
func ( SecureValueErrorClassArray) ( func(,  SecureValueErrorClass) bool) SecureValueErrorClassArray {
	sort.Slice(, func(,  int) bool {
		return ([], [])
	})
	return 
}

// SortStable sorts slice of SecureValueErrorClass.
func ( SecureValueErrorClassArray) ( func(,  SecureValueErrorClass) bool) SecureValueErrorClassArray {
	sort.SliceStable(, func(,  int) bool {
		return ([], [])
	})
	return 
}

// Retain filters in-place slice of SecureValueErrorClass.
func ( SecureValueErrorClassArray) ( func( SecureValueErrorClass) bool) SecureValueErrorClassArray {
	 := 0
	for ,  := range  {
		if () {
			[] = 
			++
		}
	}
	 = [:]

	return 
}

// First returns first element of slice (if exists).
func ( SecureValueErrorClassArray) () ( SecureValueErrorClass,  bool) {
	if len() < 1 {
		return
	}
	return [0], true
}

// Last returns last element of slice (if exists).
func ( SecureValueErrorClassArray) () ( SecureValueErrorClass,  bool) {
	if len() < 1 {
		return
	}
	return [len()-1], true
}

// PopFirst returns first element of slice (if exists) and deletes it.
func ( *SecureValueErrorClassArray) () ( SecureValueErrorClass,  bool) {
	if  == nil || len(*) < 1 {
		return
	}

	 := *
	 = [0]

	// Delete by index from SliceTricks.
	copy([0:], [1:])
	var  SecureValueErrorClass
	[len()-1] = 
	 = [:len()-1]
	* = 

	return , true
}

// Pop returns last element of slice (if exists) and deletes it.
func ( *SecureValueErrorClassArray) () ( SecureValueErrorClass,  bool) {
	if  == nil || len(*) < 1 {
		return
	}

	 := *
	 = [len()-1]
	 = [:len()-1]
	* = 

	return , true
}

// AsSecureValueErrorData returns copy with only SecureValueErrorData constructors.
func ( SecureValueErrorClassArray) () ( SecureValueErrorDataArray) {
	for ,  := range  {
		,  := .(*SecureValueErrorData)
		if ! {
			continue
		}
		 = append(, *)
	}

	return 
}

// AsSecureValueErrorFrontSide returns copy with only SecureValueErrorFrontSide constructors.
func ( SecureValueErrorClassArray) () ( SecureValueErrorFrontSideArray) {
	for ,  := range  {
		,  := .(*SecureValueErrorFrontSide)
		if ! {
			continue
		}
		 = append(, *)
	}

	return 
}

// AsSecureValueErrorReverseSide returns copy with only SecureValueErrorReverseSide constructors.
func ( SecureValueErrorClassArray) () ( SecureValueErrorReverseSideArray) {
	for ,  := range  {
		,  := .(*SecureValueErrorReverseSide)
		if ! {
			continue
		}
		 = append(, *)
	}

	return 
}

// AsSecureValueErrorSelfie returns copy with only SecureValueErrorSelfie constructors.
func ( SecureValueErrorClassArray) () ( SecureValueErrorSelfieArray) {
	for ,  := range  {
		,  := .(*SecureValueErrorSelfie)
		if ! {
			continue
		}
		 = append(, *)
	}

	return 
}

// AsSecureValueErrorFile returns copy with only SecureValueErrorFile constructors.
func ( SecureValueErrorClassArray) () ( SecureValueErrorFileArray) {
	for ,  := range  {
		,  := .(*SecureValueErrorFile)
		if ! {
			continue
		}
		 = append(, *)
	}

	return 
}

// AsSecureValueErrorFiles returns copy with only SecureValueErrorFiles constructors.
func ( SecureValueErrorClassArray) () ( SecureValueErrorFilesArray) {
	for ,  := range  {
		,  := .(*SecureValueErrorFiles)
		if ! {
			continue
		}
		 = append(, *)
	}

	return 
}

// AsSecureValueError returns copy with only SecureValueError constructors.
func ( SecureValueErrorClassArray) () ( SecureValueErrorArray) {
	for ,  := range  {
		,  := .(*SecureValueError)
		if ! {
			continue
		}
		 = append(, *)
	}

	return 
}

// AsSecureValueErrorTranslationFile returns copy with only SecureValueErrorTranslationFile constructors.
func ( SecureValueErrorClassArray) () ( SecureValueErrorTranslationFileArray) {
	for ,  := range  {
		,  := .(*SecureValueErrorTranslationFile)
		if ! {
			continue
		}
		 = append(, *)
	}

	return 
}

// AsSecureValueErrorTranslationFiles returns copy with only SecureValueErrorTranslationFiles constructors.
func ( SecureValueErrorClassArray) () ( SecureValueErrorTranslationFilesArray) {
	for ,  := range  {
		,  := .(*SecureValueErrorTranslationFiles)
		if ! {
			continue
		}
		 = append(, *)
	}

	return 
}

// SecureValueErrorDataArray is adapter for slice of SecureValueErrorData.
type SecureValueErrorDataArray []SecureValueErrorData

// Sort sorts slice of SecureValueErrorData.
func ( SecureValueErrorDataArray) ( func(,  SecureValueErrorData) bool) SecureValueErrorDataArray {
	sort.Slice(, func(,  int) bool {
		return ([], [])
	})
	return 
}

// SortStable sorts slice of SecureValueErrorData.
func ( SecureValueErrorDataArray) ( func(,  SecureValueErrorData) bool) SecureValueErrorDataArray {
	sort.SliceStable(, func(,  int) bool {
		return ([], [])
	})
	return 
}

// Retain filters in-place slice of SecureValueErrorData.
func ( SecureValueErrorDataArray) ( func( SecureValueErrorData) bool) SecureValueErrorDataArray {
	 := 0
	for ,  := range  {
		if () {
			[] = 
			++
		}
	}
	 = [:]

	return 
}

// First returns first element of slice (if exists).
func ( SecureValueErrorDataArray) () ( SecureValueErrorData,  bool) {
	if len() < 1 {
		return
	}
	return [0], true
}

// Last returns last element of slice (if exists).
func ( SecureValueErrorDataArray) () ( SecureValueErrorData,  bool) {
	if len() < 1 {
		return
	}
	return [len()-1], true
}

// PopFirst returns first element of slice (if exists) and deletes it.
func ( *SecureValueErrorDataArray) () ( SecureValueErrorData,  bool) {
	if  == nil || len(*) < 1 {
		return
	}

	 := *
	 = [0]

	// Delete by index from SliceTricks.
	copy([0:], [1:])
	var  SecureValueErrorData
	[len()-1] = 
	 = [:len()-1]
	* = 

	return , true
}

// Pop returns last element of slice (if exists) and deletes it.
func ( *SecureValueErrorDataArray) () ( SecureValueErrorData,  bool) {
	if  == nil || len(*) < 1 {
		return
	}

	 := *
	 = [len()-1]
	 = [:len()-1]
	* = 

	return , true
}

// SecureValueErrorFrontSideArray is adapter for slice of SecureValueErrorFrontSide.
type SecureValueErrorFrontSideArray []SecureValueErrorFrontSide

// Sort sorts slice of SecureValueErrorFrontSide.
func ( SecureValueErrorFrontSideArray) ( func(,  SecureValueErrorFrontSide) bool) SecureValueErrorFrontSideArray {
	sort.Slice(, func(,  int) bool {
		return ([], [])
	})
	return 
}

// SortStable sorts slice of SecureValueErrorFrontSide.
func ( SecureValueErrorFrontSideArray) ( func(,  SecureValueErrorFrontSide) bool) SecureValueErrorFrontSideArray {
	sort.SliceStable(, func(,  int) bool {
		return ([], [])
	})
	return 
}

// Retain filters in-place slice of SecureValueErrorFrontSide.
func ( SecureValueErrorFrontSideArray) ( func( SecureValueErrorFrontSide) bool) SecureValueErrorFrontSideArray {
	 := 0
	for ,  := range  {
		if () {
			[] = 
			++
		}
	}
	 = [:]

	return 
}

// First returns first element of slice (if exists).
func ( SecureValueErrorFrontSideArray) () ( SecureValueErrorFrontSide,  bool) {
	if len() < 1 {
		return
	}
	return [0], true
}

// Last returns last element of slice (if exists).
func ( SecureValueErrorFrontSideArray) () ( SecureValueErrorFrontSide,  bool) {
	if len() < 1 {
		return
	}
	return [len()-1], true
}

// PopFirst returns first element of slice (if exists) and deletes it.
func ( *SecureValueErrorFrontSideArray) () ( SecureValueErrorFrontSide,  bool) {
	if  == nil || len(*) < 1 {
		return
	}

	 := *
	 = [0]

	// Delete by index from SliceTricks.
	copy([0:], [1:])
	var  SecureValueErrorFrontSide
	[len()-1] = 
	 = [:len()-1]
	* = 

	return , true
}

// Pop returns last element of slice (if exists) and deletes it.
func ( *SecureValueErrorFrontSideArray) () ( SecureValueErrorFrontSide,  bool) {
	if  == nil || len(*) < 1 {
		return
	}

	 := *
	 = [len()-1]
	 = [:len()-1]
	* = 

	return , true
}

// SecureValueErrorReverseSideArray is adapter for slice of SecureValueErrorReverseSide.
type SecureValueErrorReverseSideArray []SecureValueErrorReverseSide

// Sort sorts slice of SecureValueErrorReverseSide.
func ( SecureValueErrorReverseSideArray) ( func(,  SecureValueErrorReverseSide) bool) SecureValueErrorReverseSideArray {
	sort.Slice(, func(,  int) bool {
		return ([], [])
	})
	return 
}

// SortStable sorts slice of SecureValueErrorReverseSide.
func ( SecureValueErrorReverseSideArray) ( func(,  SecureValueErrorReverseSide) bool) SecureValueErrorReverseSideArray {
	sort.SliceStable(, func(,  int) bool {
		return ([], [])
	})
	return 
}

// Retain filters in-place slice of SecureValueErrorReverseSide.
func ( SecureValueErrorReverseSideArray) ( func( SecureValueErrorReverseSide) bool) SecureValueErrorReverseSideArray {
	 := 0
	for ,  := range  {
		if () {
			[] = 
			++
		}
	}
	 = [:]

	return 
}

// First returns first element of slice (if exists).
func ( SecureValueErrorReverseSideArray) () ( SecureValueErrorReverseSide,  bool) {
	if len() < 1 {
		return
	}
	return [0], true
}

// Last returns last element of slice (if exists).
func ( SecureValueErrorReverseSideArray) () ( SecureValueErrorReverseSide,  bool) {
	if len() < 1 {
		return
	}
	return [len()-1], true
}

// PopFirst returns first element of slice (if exists) and deletes it.
func ( *SecureValueErrorReverseSideArray) () ( SecureValueErrorReverseSide,  bool) {
	if  == nil || len(*) < 1 {
		return
	}

	 := *
	 = [0]

	// Delete by index from SliceTricks.
	copy([0:], [1:])
	var  SecureValueErrorReverseSide
	[len()-1] = 
	 = [:len()-1]
	* = 

	return , true
}

// Pop returns last element of slice (if exists) and deletes it.
func ( *SecureValueErrorReverseSideArray) () ( SecureValueErrorReverseSide,  bool) {
	if  == nil || len(*) < 1 {
		return
	}

	 := *
	 = [len()-1]
	 = [:len()-1]
	* = 

	return , true
}

// SecureValueErrorSelfieArray is adapter for slice of SecureValueErrorSelfie.
type SecureValueErrorSelfieArray []SecureValueErrorSelfie

// Sort sorts slice of SecureValueErrorSelfie.
func ( SecureValueErrorSelfieArray) ( func(,  SecureValueErrorSelfie) bool) SecureValueErrorSelfieArray {
	sort.Slice(, func(,  int) bool {
		return ([], [])
	})
	return 
}

// SortStable sorts slice of SecureValueErrorSelfie.
func ( SecureValueErrorSelfieArray) ( func(,  SecureValueErrorSelfie) bool) SecureValueErrorSelfieArray {
	sort.SliceStable(, func(,  int) bool {
		return ([], [])
	})
	return 
}

// Retain filters in-place slice of SecureValueErrorSelfie.
func ( SecureValueErrorSelfieArray) ( func( SecureValueErrorSelfie) bool) SecureValueErrorSelfieArray {
	 := 0
	for ,  := range  {
		if () {
			[] = 
			++
		}
	}
	 = [:]

	return 
}

// First returns first element of slice (if exists).
func ( SecureValueErrorSelfieArray) () ( SecureValueErrorSelfie,  bool) {
	if len() < 1 {
		return
	}
	return [0], true
}

// Last returns last element of slice (if exists).
func ( SecureValueErrorSelfieArray) () ( SecureValueErrorSelfie,  bool) {
	if len() < 1 {
		return
	}
	return [len()-1], true
}

// PopFirst returns first element of slice (if exists) and deletes it.
func ( *SecureValueErrorSelfieArray) () ( SecureValueErrorSelfie,  bool) {
	if  == nil || len(*) < 1 {
		return
	}

	 := *
	 = [0]

	// Delete by index from SliceTricks.
	copy([0:], [1:])
	var  SecureValueErrorSelfie
	[len()-1] = 
	 = [:len()-1]
	* = 

	return , true
}

// Pop returns last element of slice (if exists) and deletes it.
func ( *SecureValueErrorSelfieArray) () ( SecureValueErrorSelfie,  bool) {
	if  == nil || len(*) < 1 {
		return
	}

	 := *
	 = [len()-1]
	 = [:len()-1]
	* = 

	return , true
}

// SecureValueErrorFileArray is adapter for slice of SecureValueErrorFile.
type SecureValueErrorFileArray []SecureValueErrorFile

// Sort sorts slice of SecureValueErrorFile.
func ( SecureValueErrorFileArray) ( func(,  SecureValueErrorFile) bool) SecureValueErrorFileArray {
	sort.Slice(, func(,  int) bool {
		return ([], [])
	})
	return 
}

// SortStable sorts slice of SecureValueErrorFile.
func ( SecureValueErrorFileArray) ( func(,  SecureValueErrorFile) bool) SecureValueErrorFileArray {
	sort.SliceStable(, func(,  int) bool {
		return ([], [])
	})
	return 
}

// Retain filters in-place slice of SecureValueErrorFile.
func ( SecureValueErrorFileArray) ( func( SecureValueErrorFile) bool) SecureValueErrorFileArray {
	 := 0
	for ,  := range  {
		if () {
			[] = 
			++
		}
	}
	 = [:]

	return 
}

// First returns first element of slice (if exists).
func ( SecureValueErrorFileArray) () ( SecureValueErrorFile,  bool) {
	if len() < 1 {
		return
	}
	return [0], true
}

// Last returns last element of slice (if exists).
func ( SecureValueErrorFileArray) () ( SecureValueErrorFile,  bool) {
	if len() < 1 {
		return
	}
	return [len()-1], true
}

// PopFirst returns first element of slice (if exists) and deletes it.
func ( *SecureValueErrorFileArray) () ( SecureValueErrorFile,  bool) {
	if  == nil || len(*) < 1 {
		return
	}

	 := *
	 = [0]

	// Delete by index from SliceTricks.
	copy([0:], [1:])
	var  SecureValueErrorFile
	[len()-1] = 
	 = [:len()-1]
	* = 

	return , true
}

// Pop returns last element of slice (if exists) and deletes it.
func ( *SecureValueErrorFileArray) () ( SecureValueErrorFile,  bool) {
	if  == nil || len(*) < 1 {
		return
	}

	 := *
	 = [len()-1]
	 = [:len()-1]
	* = 

	return , true
}

// SecureValueErrorFilesArray is adapter for slice of SecureValueErrorFiles.
type SecureValueErrorFilesArray []SecureValueErrorFiles

// Sort sorts slice of SecureValueErrorFiles.
func ( SecureValueErrorFilesArray) ( func(,  SecureValueErrorFiles) bool) SecureValueErrorFilesArray {
	sort.Slice(, func(,  int) bool {
		return ([], [])
	})
	return 
}

// SortStable sorts slice of SecureValueErrorFiles.
func ( SecureValueErrorFilesArray) ( func(,  SecureValueErrorFiles) bool) SecureValueErrorFilesArray {
	sort.SliceStable(, func(,  int) bool {
		return ([], [])
	})
	return 
}

// Retain filters in-place slice of SecureValueErrorFiles.
func ( SecureValueErrorFilesArray) ( func( SecureValueErrorFiles) bool) SecureValueErrorFilesArray {
	 := 0
	for ,  := range  {
		if () {
			[] = 
			++
		}
	}
	 = [:]

	return 
}

// First returns first element of slice (if exists).
func ( SecureValueErrorFilesArray) () ( SecureValueErrorFiles,  bool) {
	if len() < 1 {
		return
	}
	return [0], true
}

// Last returns last element of slice (if exists).
func ( SecureValueErrorFilesArray) () ( SecureValueErrorFiles,  bool) {
	if len() < 1 {
		return
	}
	return [len()-1], true
}

// PopFirst returns first element of slice (if exists) and deletes it.
func ( *SecureValueErrorFilesArray) () ( SecureValueErrorFiles,  bool) {
	if  == nil || len(*) < 1 {
		return
	}

	 := *
	 = [0]

	// Delete by index from SliceTricks.
	copy([0:], [1:])
	var  SecureValueErrorFiles
	[len()-1] = 
	 = [:len()-1]
	* = 

	return , true
}

// Pop returns last element of slice (if exists) and deletes it.
func ( *SecureValueErrorFilesArray) () ( SecureValueErrorFiles,  bool) {
	if  == nil || len(*) < 1 {
		return
	}

	 := *
	 = [len()-1]
	 = [:len()-1]
	* = 

	return , true
}

// SecureValueErrorArray is adapter for slice of SecureValueError.
type SecureValueErrorArray []SecureValueError

// Sort sorts slice of SecureValueError.
func ( SecureValueErrorArray) ( func(,  SecureValueError) bool) SecureValueErrorArray {
	sort.Slice(, func(,  int) bool {
		return ([], [])
	})
	return 
}

// SortStable sorts slice of SecureValueError.
func ( SecureValueErrorArray) ( func(,  SecureValueError) bool) SecureValueErrorArray {
	sort.SliceStable(, func(,  int) bool {
		return ([], [])
	})
	return 
}

// Retain filters in-place slice of SecureValueError.
func ( SecureValueErrorArray) ( func( SecureValueError) bool) SecureValueErrorArray {
	 := 0
	for ,  := range  {
		if () {
			[] = 
			++
		}
	}
	 = [:]

	return 
}

// First returns first element of slice (if exists).
func ( SecureValueErrorArray) () ( SecureValueError,  bool) {
	if len() < 1 {
		return
	}
	return [0], true
}

// Last returns last element of slice (if exists).
func ( SecureValueErrorArray) () ( SecureValueError,  bool) {
	if len() < 1 {
		return
	}
	return [len()-1], true
}

// PopFirst returns first element of slice (if exists) and deletes it.
func ( *SecureValueErrorArray) () ( SecureValueError,  bool) {
	if  == nil || len(*) < 1 {
		return
	}

	 := *
	 = [0]

	// Delete by index from SliceTricks.
	copy([0:], [1:])
	var  SecureValueError
	[len()-1] = 
	 = [:len()-1]
	* = 

	return , true
}

// Pop returns last element of slice (if exists) and deletes it.
func ( *SecureValueErrorArray) () ( SecureValueError,  bool) {
	if  == nil || len(*) < 1 {
		return
	}

	 := *
	 = [len()-1]
	 = [:len()-1]
	* = 

	return , true
}

// SecureValueErrorTranslationFileArray is adapter for slice of SecureValueErrorTranslationFile.
type SecureValueErrorTranslationFileArray []SecureValueErrorTranslationFile

// Sort sorts slice of SecureValueErrorTranslationFile.
func ( SecureValueErrorTranslationFileArray) ( func(,  SecureValueErrorTranslationFile) bool) SecureValueErrorTranslationFileArray {
	sort.Slice(, func(,  int) bool {
		return ([], [])
	})
	return 
}

// SortStable sorts slice of SecureValueErrorTranslationFile.
func ( SecureValueErrorTranslationFileArray) ( func(,  SecureValueErrorTranslationFile) bool) SecureValueErrorTranslationFileArray {
	sort.SliceStable(, func(,  int) bool {
		return ([], [])
	})
	return 
}

// Retain filters in-place slice of SecureValueErrorTranslationFile.
func ( SecureValueErrorTranslationFileArray) ( func( SecureValueErrorTranslationFile) bool) SecureValueErrorTranslationFileArray {
	 := 0
	for ,  := range  {
		if () {
			[] = 
			++
		}
	}
	 = [:]

	return 
}

// First returns first element of slice (if exists).
func ( SecureValueErrorTranslationFileArray) () ( SecureValueErrorTranslationFile,  bool) {
	if len() < 1 {
		return
	}
	return [0], true
}

// Last returns last element of slice (if exists).
func ( SecureValueErrorTranslationFileArray) () ( SecureValueErrorTranslationFile,  bool) {
	if len() < 1 {
		return
	}
	return [len()-1], true
}

// PopFirst returns first element of slice (if exists) and deletes it.
func ( *SecureValueErrorTranslationFileArray) () ( SecureValueErrorTranslationFile,  bool) {
	if  == nil || len(*) < 1 {
		return
	}

	 := *
	 = [0]

	// Delete by index from SliceTricks.
	copy([0:], [1:])
	var  SecureValueErrorTranslationFile
	[len()-1] = 
	 = [:len()-1]
	* = 

	return , true
}

// Pop returns last element of slice (if exists) and deletes it.
func ( *SecureValueErrorTranslationFileArray) () ( SecureValueErrorTranslationFile,  bool) {
	if  == nil || len(*) < 1 {
		return
	}

	 := *
	 = [len()-1]
	 = [:len()-1]
	* = 

	return , true
}

// SecureValueErrorTranslationFilesArray is adapter for slice of SecureValueErrorTranslationFiles.
type SecureValueErrorTranslationFilesArray []SecureValueErrorTranslationFiles

// Sort sorts slice of SecureValueErrorTranslationFiles.
func ( SecureValueErrorTranslationFilesArray) ( func(,  SecureValueErrorTranslationFiles) bool) SecureValueErrorTranslationFilesArray {
	sort.Slice(, func(,  int) bool {
		return ([], [])
	})
	return 
}

// SortStable sorts slice of SecureValueErrorTranslationFiles.
func ( SecureValueErrorTranslationFilesArray) ( func(,  SecureValueErrorTranslationFiles) bool) SecureValueErrorTranslationFilesArray {
	sort.SliceStable(, func(,  int) bool {
		return ([], [])
	})
	return 
}

// Retain filters in-place slice of SecureValueErrorTranslationFiles.
func ( SecureValueErrorTranslationFilesArray) ( func( SecureValueErrorTranslationFiles) bool) SecureValueErrorTranslationFilesArray {
	 := 0
	for ,  := range  {
		if () {
			[] = 
			++
		}
	}
	 = [:]

	return 
}

// First returns first element of slice (if exists).
func ( SecureValueErrorTranslationFilesArray) () ( SecureValueErrorTranslationFiles,  bool) {
	if len() < 1 {
		return
	}
	return [0], true
}

// Last returns last element of slice (if exists).
func ( SecureValueErrorTranslationFilesArray) () ( SecureValueErrorTranslationFiles,  bool) {
	if len() < 1 {
		return
	}
	return [len()-1], true
}

// PopFirst returns first element of slice (if exists) and deletes it.
func ( *SecureValueErrorTranslationFilesArray) () ( SecureValueErrorTranslationFiles,  bool) {
	if  == nil || len(*) < 1 {
		return
	}

	 := *
	 = [0]

	// Delete by index from SliceTricks.
	copy([0:], [1:])
	var  SecureValueErrorTranslationFiles
	[len()-1] = 
	 = [:len()-1]
	* = 

	return , true
}

// Pop returns last element of slice (if exists) and deletes it.
func ( *SecureValueErrorTranslationFilesArray) () ( SecureValueErrorTranslationFiles,  bool) {
	if  == nil || len(*) < 1 {
		return
	}

	 := *
	 = [len()-1]
	 = [:len()-1]
	* = 

	return , true
}